17 Commits

Author SHA1 Message Date
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
Minseo-Jo
032842cf53 Feat: AI 서비스 및 STT 서비스 기능 개선
- AI 서비스: Redis 캐싱 및 EventHub 통합 개선
- STT 서비스: 오디오 버퍼링 및 변환 기능 추가
- 설정 파일 업데이트

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 15:24:13 +09:00
Minseo-Jo
e9e03e1ff8 Refactor: AI 서비스 Python 구현 및 디렉토리 구조 변경
- ai-python: FastAPI 기반 AI 서비스 구현
  - 실시간 회의 제안 기능 추가
  - Claude API 통합
  - EventHub 및 Redis 연동

- ai-java-back: 기존 Java AI 서비스 백업 디렉토리로 이동
  - Spring Boot 기반 구현 보존

- ai 디렉토리: Java 서비스 파일 삭제 처리

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 10:02:33 +09:00
Minseo-Jo
d48969c406 Merge: AI 요약 재생성 기능 및 포트 8087 통일
- AI 텍스트 요약 API 추가 (POST /api/v1/ai/summary/generate)
- 불릿 포인트 및 단락형 스타일 지원
- 포트 8087로 통일
- 압축률, 핵심 포인트 추출 기능 포함

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 18:12:15 +09:00
Minseo-Jo
0615538b1f Fix: AI 서비스 포트 8087로 변경
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 18:11:32 +09:00
Minseo-Jo
c68df2f733 포트 설정 통일: ai-python 서비스 8087 포트로 변경
- ai-python/.env: PORT를 8086에서 8087로 변경
- ai-python/.env.example: PORT를 8086에서 8087로 변경
- meeting/application.yml: AI Service 설정 추가 (기본 포트 8087)
- develop/dev/ai-frontend-integration-guide.md: 문서 업데이트 (8087 포트 반영)

목적: 다른 개발자들의 테스트 환경 통일 및 혼란 방지
2025-10-29 17:45:28 +09:00
cyjadela
ed017129c7 Feat: AI 요약 재생성 API 구현 2025-10-29 17:35:01 +09:00
Minseo-Jo
c664116cd2 AI 제안사항 SSE 스트리밍 기능 구현 및 CORS 문제 해결
주요 변경사항:
- Event Hub 리스너를 Python AI Service에 통합하여 STT 텍스트 실시간 수신
- LocalDateTime 배열 형식을 Unix timestamp로 변환하는 로직 추가
- SSE 응답에 CORS 헤더 명시적 추가 (localhost:8888 허용)
- SSE Keep-alive를 위한 ping 이벤트 추가 (5초 주기)
- Redis 데이터 정리 스크립트 추가
- 분석 임계값을 MVP 수준으로 조정 (3개 세그먼트 = 약 15-30초)
- 프론트엔드 SSE 연동 가이드 문서 작성
- 프론트엔드에 ping 이벤트 핸들러 추가 및 에러 핸들링 개선

기술적 개선사항:
- EventSourceResponse에 Access-Control-Allow-Origin 헤더 추가
- timestamp 변환 로직으로 Java-Python 호환성 해결
- Redis 저장 오류 로깅 강화
- SSE generator에 주기적 heartbeat 전송으로 연결 유지

문서:
- develop/dev/ai-frontend-integration-guide.md: 프론트엔드 개발자를 위한 상세 연동 가이드

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 17:20:10 +09:00
Minseo-Jo
9c2d8dc9b2 AI 제안사항 추출 기능 개선 및 API 경로 수정
- ClaudeService에 analyze_suggestions 메서드 추가
- 개선된 제안사항 추출 프롬프트 생성 (구체적이고 실행 가능한 제안사항)
- API 경로 수정: /api/v1/ai/suggestions → /api/ai/suggestions
- 프론트엔드 HTML API 경로 업데이트 (v1 제거)
- RealtimeSuggestionsResponse 모델 export 추가

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 16:14:32 +09:00
Minseo-Jo
c2aedc86c5 Merge feature/stt-ai into main
주요 변경사항:
- EventHub 공유 액세스 정책 재설정 (send-policy, listen-policy)
- Redis DB 2번 읽기 전용 문제 해결
- AI-Python 서비스 추가 (FastAPI 기반)
- STT WebSocket 실시간 스트리밍 구현
- AI 제안사항 실시간 추출 기능 구현
- 테스트 페이지 추가 (stt-test-wav.html)
- 개발 가이드 문서 추가

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 16:01:47 +09:00
Minseo-Jo
e30aa5c116 feat: Meeting AI 통합 - 회의 종료 API 및 AI 회의록 요약 기능 구현
주요 변경사항:
- 회의 종료 API 구현 (POST /api/meetings/{meetingId}/end)
- AI 회의록 통합 요약 기능 구현
- Claude API 연동 및 프롬프트 최적화
- 안건별 요약, 키워드 추출, 결정사항 자동 정리

AI Service (Python):
- Claude 모델 설정: claude-sonnet-4-5-20250929
- 회의록 통합 프롬프트 개선
- AgendaSummary 모델 summary 필드 매핑 수정
- decisions 필드 추가 및 응답 구조 정리
- 입력 데이터 로깅 추가

Meeting Service (Java):
- EndMeetingService AI 통합 로직 구현
- MeetingAnalysis 엔티티 decisions 필드 추가
- AgendaSection opinions 필드 제거
- AI Service 포트 8086으로 설정
- DB 마이그레이션 스크립트 추가 (V7)

테스트 결과:
 회의 종료 API 정상 동작
 AI 응답 검증 (keywords, summary, decisions)
 안건별 요약 및 보류사항 추출
 처리 시간: ~11초, 토큰: ~2,600

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 14:46:41 +09:00
Minseo-Jo
621d4c16df 작업 중: Meeting AI 통합 개발 진행 상황 저장 2025-10-29 09:15:23 +09:00
Minseo-Jo
938cfdb98e feat: AI 서비스 Swagger UI 및 프론트엔드 연동 문서 추가
- Swagger UI를 Spring Boot 스타일(/swagger-ui.html)로 변경
- OpenAPI 스펙 개선 및 상세한 API 문서화
- 프론트엔드 연동을 위한 API-DOCUMENTATION.md 추가
  - SSE 연결 예시 (JavaScript/React)
  - 응답 스키마 및 TypeScript 인터페이스
  - 동작 흐름 및 주의사항
- FastAPI 설정 파일(config.py) 추가
- API 엔드포인트:
  - GET /api/v1/ai/suggestions/meetings/{meeting_id}/stream (SSE)
  - GET /health (헬스 체크)
  - GET /v3/api-docs (OpenAPI JSON)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 16:58:01 +09:00
Minseo-Jo
143721d106 feat: Meeting Service AI 통합 개발
 구현 완료
- AI Python Service (FastAPI, Claude API, 8087 포트)
  - POST /api/v1/transcripts/consolidate
  - 참석자별 회의록 → AI 통합 분석
  - 키워드/안건별 요약/Todo 추출

- Meeting Service AI 통합
  - EndMeetingService (@Primary)
  - AIServiceClient (RestTemplate, 30초 timeout)
  - AI 분석 결과 저장 (meeting_analysis, todos)
  - 회의 상태 COMPLETED 처리

- DTO 구조 (간소화)
  - ConsolidateRequest/Response
  - MeetingEndDTO
  - Todo 제목만 포함 (담당자/마감일 제거)

📝 기술스택
- Python: FastAPI, anthropic 0.71.0, psycopg2
- Java: Spring Boot, RestTemplate
- Claude: claude-3-5-sonnet-20241022

🔧 주요 이슈 해결
- 포트 충돌: 8086(feature/stt-ai) → 8087(feat/meeting-ai)
- Bean 충돌: @Primary 추가
- YAML 문법: ai.service.url 구조 수정
- anthropic 라이브러리 업그레이드

📚 테스트 가이드 및 스크립트 작성
- claude/MEETING-AI-TEST-GUIDE.md
- test-meeting-ai.sh

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 16:42:09 +09:00
Minseo-Jo
2c3bc432b3 STT 서비스 음성 인식 및 AI 제안사항 표시 기능 구현
- PCM 16kHz 포맷 지원으로 Azure Speech 인식 성공
- WebSocket 실시간 전송 기능 추가
- DB 저장 로직 제거 (AI 서비스에서 제안사항 저장)
- AI SSE 기반 제안사항 표시 테스트 페이지 추가

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 10:12:55 +09:00
Minseo-Jo
d5cf12ecb0 Git 추적에서 AI Python 설정 파일 제거
- ai-python/app/config.py를 Git 추적에서 제외
- 로컬에는 파일이 유지되지만 원격 저장소에는 푸시되지 않음

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 13:56:52 +09:00
Minseo-Jo
9bf3597cec AI 서비스 Python 마이그레이션 및 프론트엔드 연동 문서 추가
주요 변경사항:
- AI 서비스 Java → Python (FastAPI) 완전 마이그레이션
- 포트 변경: 8083 → 8086
- SSE 스트리밍 기능 구현 및 테스트 완료
- Claude API 연동 (claude-3-5-sonnet-20241022)
- Redis 슬라이딩 윈도우 방식 텍스트 축적
- Azure Event Hub 연동 준비 (STT 텍스트 수신)

프론트엔드 연동 지원:
- API 연동 가이드 업데이트 (Python 버전 반영)
- Mock 데이터 개발 가이드 신규 작성
- STT 개발 완료 전까지 Mock 데이터로 UI 개발 가능

기술 스택:
- Python 3.13
- FastAPI 0.104.1
- Anthropic Claude API 0.42.0
- Redis (asyncio) 5.0.1
- Azure Event Hub 5.11.4
- Pydantic 2.10.5

테스트 결과:
-  서비스 시작 정상
-  헬스 체크 성공
-  SSE 스트리밍 동작 확인
-  Redis 연결 정상

다음 단계:
- STT (Azure Speech) 서비스 연동 개발
- Event Hub를 통한 실시간 텍스트 수신
- E2E 통합 테스트 (STT → AI → Frontend)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 11:52:30 +09:00