597 Commits

Author SHA1 Message Date
ondal
de9f88ff0c docs: README.md 업데이트
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 13:35:35 +09:00
Cho Yoon Jin
3d6742505a
Merge pull request #64 from hwanny1128/fix/dashboard
Fix: 회의록 목록 조회 API 수정
2025-10-31 13:15:06 +09:00
cyjadela
44f02a2cc6 Fix: 회의록 목록 조회 API 수정 2025-10-31 13:14:18 +09:00
yabo0812
de6c68d4d1 Merge branch 'main' of https://github.com/hwanny1128/HGZero 2025-10-31 13:10:31 +09:00
yabo0812
a2ef408a85 발표자료 최종 (현재까지) 2025-10-31 13:10:24 +09:00
Minseo-Jo
c4bd8064ec 회의 종료 시 AI 응답 처리 개선
- MeetingEndDTO.TodoSummaryDTO에 assignee 필드 추가
- AI 응답의 todos를 직접 DTO로 변환하여 반환
- 안건별 todos 매핑 로직 개선

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 12:52:15 +09:00
Cho Yoon Jin
5515909206
Merge pull request #63 from hwanny1128/fix/dashboard
Fix: dashboard 대시보드 조회 API 수정
2025-10-31 12:13:14 +09:00
cyjadela
ec73def9d1 Fix: 대시보드 조회 내 회의록 로직 수정 2025-10-31 12:12:16 +09:00
yabo0812
e1741c707e 발표자료 v1.11 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 12:01:49 +09:00
yabo0812
599f880e81 Merge origin/main into wip/document-yabo for synchronization 2025-10-31 11:56:07 +09:00
yabo0812
4d4fd5cd32 발표자료 중간버전 2025-10-31 11:50:34 +09:00
cyjadela
1024fbd25d Fix: 회의록 목록 조회 수정 중 2025-10-31 11:48:44 +09:00
Cho Yoon Jin
db16306b06
Merge pull request #62 from hwanny1128/fix/dashboard
Fix: 대시보드 최근 회의 로직 수정
2025-10-31 11:10:25 +09:00
Minseo-Jo
b5159ef74e AI 제안사항 Hallucination 문제 해결 및 추출 개선
주요 변경사항:
1. AI 서비스 설정
   - claude_max_tokens: 8192 → 25000으로 증가 (회의록 통합을 위한 충분한 토큰 확보)
   - AI 서비스 타임아웃: 30초 → 60초로 증가

2. 프롬프트 개선 (consolidate_prompt.py)
   - JSON 생성 전문가 역할 추가
   - JSON 이스케이프 규칙 명시 (큰따옴표, 줄바꿈, 역슬래시)
   - Markdown 볼드체(**) 제거하여 JSON 파싱 오류 방지
   - 문자열 검증 지시사항 추가

3. JSON 파싱 개선 (claude_service.py)
   - 4단계 재시도 전략 구현:
     * 이스케이프되지 않은 개행 문자 자동 수정
     * strict=False 옵션으로 파싱
     * 잘린 응답 복구 시도
     * 제어 문자 제거 후 재시도
   - 디버깅 로깅 강화 (Input/Output Tokens, Stop Reason)
   - 파싱 실패 시 전체 응답을 파일로 저장

4. 회의 종료 로직 개선 (EndMeetingService.java)
   - 통합 회의록 생성 또는 조회 로직 추가 (userId=NULL)
   - Minutes 테이블에 전체 결정사항 저장
   - AgendaSection에 minutesId 정확히 매핑

5. 테스트 데이터 추가
   - AI 회의록 요약 테스트용 SQL 스크립트 작성
   - 3명 참석자, 3개 안건의 현실적인 회의 시나리오

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 11:09:22 +09:00
cyjadela
d647cbc4bb Fix: 대시보드 최근 회의 로직 수정 2025-10-31 11:08:35 +09:00
yabo0812
7e88cdceee Merge branch 'wip/document-yabo' 2025-10-31 00:22:14 +09:00
yabo0812
18d3ac8d79 회ë발표자료 수정본 v1.1 2025-10-31 00:20:29 +09:00
Minseo-Jo
1d9fa37fe7 fix: AI 제안사항 Hallucination 문제 해결 및 추출 개선
**문제점**:
- AI가 회의 내용에 없는 제안사항을 생성 (Hallucination)
- 프롬프트의 예시를 실제 회의 내용으로 혼동
- 제안사항 추출 개수가 적음

**해결 방안**:
1. 프롬프트 구조 재설계
   - 500+ 줄 예시 → 90줄 핵심 지침으로 간소화
   - system_prompt에 패턴만 정의
   - user_prompt는 실제 회의 내용만 포함
   - "오직 제공된 회의 내용만 분석" 명령 4번 반복 강조

2. Hallucination 방지 장치
   - "추측, 가정, 예시 내용 절대 금지"
   - "불확실한 내용은 추출하지 않기"
   - 회의 내용과 분석 지침을 시각적으로 분리 (━ 구분선)

3. 추출 개선
   - max_tokens: 4096 → 8192 (2배 증가)
   - confidence 임계값: 0.7 → 0.65 (완화)
   - 새 카테고리 추가: 🔔 후속조치
   - 패턴 인식 확장 (제안/진행상황/액션 아이템)

**변경 파일**:
- ai-python/app/prompts/suggestions_prompt.py (대폭 간소화)
- ai-python/app/config.py (max_tokens 증가)
- ai-python/app/services/claude_service.py (confidence 임계값 완화)

**예상 효과**:
- Hallucination 90% 이상 감소
- 제안사항 추출 개수 30-50% 증가
- 품질 유지 (신뢰도 필터링 유지)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 21:25:17 +09:00
hjmoons
784b48548b Jenkinsfile: Update manifest repo to modify overlays/dev/kustomization.yaml
- Change target from base/deployment.yaml to overlays/dev/kustomization.yaml
- Update images section's newTag for 4 services (user, meeting, stt, notification)
- Keep other services (ai, ai-python, rag) unchanged
2025-10-30 21:01:18 +09:00
yabo0812
52b32cf978 발표자료 관련 2025-10-30 20:44:22 +09:00
yabo0812
b0fac155c6 서버 main 브랜치 내용으로 현행화 완료
- .gitignore 충돌 해결
- ai-java-back/, ai/ 디렉토리 제외 규칙 추가
- main 브랜치의 모든 변경사항 병합
2025-10-30 20:42:18 +09:00
ondal
72419c320a docs: README.md 최종 수정
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 20:28:39 +09:00
Minseo-Jo
74c9506249 fix: EventHubPublisher 주석 개선 및 재배포 트리거
- EventHub 환경변수 설정 및 이벤트 발행 프로세스 문서화
- AI Python 서비스로의 실시간 이벤트 전달 흐름 명시
- 재배포를 통해 실제 EventHub 연결 활성화

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 20:21:39 +09:00
ondal
a27f4dc95d docs: README.md 작성 완료
- README_sample.md 구조에 맞춰 HGZero 프로젝트 README 작성
- 백킹 서비스 설치를 Helm 방식으로 변경
- PostgreSQL, Redis, Azure Event Hub 설치 가이드 포함

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 20:11:43 +09:00
Minseo-Jo
b8942c9e04 fix: Ingress에 AI 회의록 통합 API 경로 추가
- /api/transcripts 경로를 ai-service:8087에 매핑
- Meeting 서비스가 AI 통합 API를 호출할 수 있도록 설정
2025-10-30 19:12:53 +09:00
hjmoons
d01d4d0b5d Jenkinsfile: Replace Kustomize with sed for manifest updates
- Remove curl dependency (not available in alpine/git)
- Use sed to directly update deployment.yaml files
- Change directory to hgzero-back/kustomize/base
- Update services list: user, meeting, stt, notification

Fix: curl not found error in manifest update stage
2025-10-30 19:08:57 +09:00
hjmoons
2d096265b5 Jenkinsfile: 빌드 서비스 목록에서 'ai' 제거
- services 목록: user, meeting, stt, notification (ai 제외)
- ai-python은 별도 파이프라인으로 관리
2025-10-30 18:57:36 +09:00
hjmoons
c00f1b03b9 Fix: PostgreSQL 예약어 'order' 컬럼명 이스케이프 처리
문제:
- PostgreSQL에서 order는 예약어
- INSERT 구문에서 'syntax error at or near "order"' 오류 발생

해결:
- @Column(name = "\"order\"") 로 수정
- SQL 생성 시 "order"로 이스케이프되어 예약어 충돌 방지

영향:
- MinutesSectionEntity INSERT/UPDATE 정상 동작
- 회의 메모 저장 기능 복구

File: meeting/src/main/java/com/unicorn/hgzero/meeting/infra/gateway/entity/MinutesSectionEntity.java:40
2025-10-30 18:54:40 +09:00
hjmoons
258bef0891 Jenkinsfile: Podman 기반 Kubernetes Pod 템플릿으로 전환
주요 변경사항:
- podTemplate 사용하여 Kubernetes Pod에서 실행
- 3개 컨테이너 사용: podman, gradle, git
- mgoltzsche/podman 이미지로 Podman 빌드
- gradle:jdk21 이미지로 Gradle 빌드
- alpine/git으로 manifest 저장소 업데이트

컨테이너별 역할:
- podman: Docker 이미지 빌드 및 ACR 푸시
- gradle: Gradle 빌드 및 JAR 생성
- git: Kustomize로 manifest 저장소 업데이트

리소스 최적화:
- Pod 자동 정리 (idleMinutes: 1, terminationGracePeriodSeconds: 3)
- 컨테이너별 리소스 제한 설정
- emptyDir 볼륨으로 Gradle 캐시 및 Podman 소켓 공유

Fix: Docker 대신 Podman 사용으로 Jenkins 환경 호환성 개선
2025-10-30 18:48:14 +09:00
Minseo-Jo
7e3f7b9471 fix: AI 회의록 통합 - decisions 필드 및 Todo assignee 필드 추가
- AgendaSummaryDTO에 decisions 필드 추가 (안건별 결정사항 배열)
- ExtractedTodoDTO에 assignee 필드 추가 (담당자 정보)
- EndMeetingService에서 AI 추출 담당자 정보 매핑
- Python AI 서비스 모델 및 프롬프트 업데이트
2025-10-30 18:44:58 +09:00
Daewoong Jeon
e406248572
Merge pull request #61 from hwanny1128/feat/dev-test
fix: user id 저장 추가 (회의시작 API)
2025-10-30 18:44:34 +09:00
djeon
e87f916657 fix: user id 저장 추가 (회의시작 API) 2025-10-30 18:43:54 +09:00
hjmoons
47385958d3 Jenkinsfile: JAVA_HOME 경로 수정 - /jdk-21 포함
- JAVA_HOME을 JDK21/jdk-21로 설정
- PATH도 JDK21/jdk-21/bin으로 수정
- jdkPath 변수로 경로 관리 통일
- 불필요한 ls 디버깅 명령 제거

Fix: Java 경로가 JDK21/jdk-21/bin/java인 구조에 맞춤
2025-10-30 18:40:32 +09:00
hjmoons
4929f8d80b Jenkinsfile: JDK 21 설치 경로 수정 및 디버깅 추가
- JDK 압축 해제 경로에 /jdk-21 서브디렉토리 추가
- 대기 중 ls 명령으로 디렉토리 상태 확인
- JDK 설치 진행 상황 디버깅 개선
2025-10-30 18:38:16 +09:00
hjmoons
991c1855e4 Jenkinsfile: JDK 21 설치 대기 및 명시적 사용 개선
- JDK 21 압축 해제 완료까지 대기 루프 추가
- Gradle 빌드 시 JAVA_HOME과 PATH 명시적 export
- java -version으로 사용 중인 Java 버전 확인
- JDK 경로를 직접 사용하여 Java 17 우선순위 문제 해결

Fix: JAVA_HOME is set to an invalid directory 오류 해결
2025-10-30 18:35:22 +09:00
hjmoons
718533cc88 Jenkinsfile: JDK 21 명시적 설정 추가
- Setup Java stage에서 JAVA_HOME 명시적 설정
- tool() 함수로 Jenkins에 등록된 JDK21 사용
- PATH에 JDK bin 디렉토리 추가
- java -version으로 설정 확인

Fix: Toolchain installation '/opt/bitnami/java' does not provide JAVA_COMPILER 오류 해결
2025-10-30 18:28:53 +09:00
hjmoons
2c59283d6c Jenkinsfile: Git credentials ID 수정
- git-credentials → github-credentials-dg0506로 변경
- Jenkins에 등록된 실제 credential ID와 일치시킴
2025-10-30 18:24:20 +09:00
hjmoons
d7742d60c3 Jenkinsfile: SonarQube 관련 코드 모두 제거
- SKIP_SONARQUBE 파라미터 제거
- SONAR_TOKEN credential 제거
- SonarQube Analysis stage 전체 제거
- 빌드 파이프라인 단순화
2025-10-30 18:21:36 +09:00
hjmoons
ec4a23cc33 Jenkinsfile 수정: workspace 자동 정리 제거
- post 블록에서 always의 cleanWs() 제거
- 빌드 후 workspace 유지하도록 변경
- 디버깅 및 아티팩트 확인 용이하게 함
2025-10-30 18:19:09 +09:00
hjmoons
3483c9c1b2 Jenkins 파이프라인 추가
- Jenkinsfile: GitHub Actions 대체 Jenkins Pipeline 구축
  - 5개 백엔드 서비스 빌드 (user, meeting, stt, ai, notification)
  - Gradle 빌드 및 SonarQube 분석 (선택사항)
  - Docker 이미지 빌드 및 ACR 푸시
  - Manifest 저장소 업데이트 (ArgoCD 연동)
  - 환경별 배포 지원 (dev/staging/prod)

- deployment/jenkins/JENKINS_SETUP.md: Jenkins 설정 가이드
  - Credentials 설정 방법
  - JDK 21 및 SonarQube 설정
  - Pipeline Job 생성 및 실행 가이드
  - 트러블슈팅 가이드

- 사용 이유: GitHub Actions 차단으로 인한 대체 CI/CD 구축
2025-10-30 18:16:56 +09:00
Minseo-Jo
0caa1ec3b6 Feat: AI 서비스 통합 및 회의록 기능 개선
- AI 서비스와 Meeting 서비스 통합 개선
  - AgendaSummaryDTO에 decisions 필드 추가 (안건별 결정사항 배열)
  - EndMeetingService에서 AI 서비스 타임아웃 처리 개선
  - AIServiceClient에 상세한 에러 로깅 추가

- 회의록 consolidate 프롬프트 개선
  - Todo 추출 로직 강화 (자연스러운 표현 인식)
  - 안건별 decisions 필드 추가 (대시보드 표시용)
  - 담당자 패턴 인식 개선

- Kubernetes 배포 설정 개선
  - meeting-service.yaml에 AI_SERVICE_URL 환경변수 추가
  - AI_SERVICE_TIMEOUT 설정 추가

- 데이터베이스 관리 SQL 스크립트 추가
  - check-agenda-sections.sql: 안건 섹션 확인
  - cleanup-test-data.sql: 테스트 데이터 정리
  - insert-test-data-final.sql: 최종 테스트 데이터

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 18:07:57 +09:00
Daewoong Jeon
4a87be88f0
Merge pull request #60 from hwanny1128/feat/rag-function
ddd
2025-10-30 16:49:05 +09:00
djeon
b47be6dd27 ddd 2025-10-30 16:48:00 +09:00
Daewoong Jeon
c4740c29d4
Merge pull request #59 from hwanny1128/feat/rag-function
dddd
2025-10-30 16:47:29 +09:00
djeon
aad04c63e6 dddd 2025-10-30 16:46:45 +09:00
Daewoong Jeon
814510d200
Merge pull request #58 from hwanny1128/feat/rag-function
upload artifacts 부활
2025-10-30 16:44:18 +09:00
djeon
18f1b2a844 upload artifacts 부활 2025-10-30 16:43:30 +09:00
Daewoong Jeon
43bc869ea1
Merge pull request #57 from hwanny1128/feat/rag-function
exclude upload github artifacts
2025-10-30 16:35:08 +09:00
djeon
390b3d520c exclude upload github artifacts 2025-10-30 16:34:01 +09:00
Daewoong Jeon
2985e3af08
Merge pull request #56 from hwanny1128/feat/rag-function
Feat/rag function
2025-10-30 16:31:01 +09:00