주요 변경사항:
- 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>
주요 구현사항:
- 5초마다 Redis 오디오 버퍼를 배치 처리하여 텍스트 변환
- WebSocket 실시간 오디오 수신 및 Redis Stream 저장
- Azure Speech Service 연동 (시뮬레이션 모드 포함)
- Event Hub 이벤트 발행 (AI 서비스 연동)
아키텍처:
Frontend (오디오 캡처)
→ WebSocket → STT Service
→ Redis Stream (버퍼)
→ @Scheduled(5초) 배치 처리
→ Azure Speech API
→ DB 저장 + Event Hub 발행
→ AI Service (텍스트 분석)
핵심 컴포넌트:
1. AudioWebSocketHandler
- WebSocket 연결 관리
- JSON/Binary 메시지 처리
- Redis Stream에 오디오 저장
2. AudioBufferService
- Redis Stream 오디오 버퍼링
- 청크 조회 및 병합
- 활성 회의 관리
3. AzureSpeechService
- Azure Speech SDK 연동
- 배치 단위 음성 인식
- 시뮬레이션 모드 지원
4. AudioBatchProcessor
- @Scheduled(5초) 배치 작업
- 오디오 → 텍스트 변환
- TranscriptSegment DB 저장
- Event Hub 이벤트 발행
배치 방식의 장점:
✅ 비용 최적화: Azure API 호출 1/5 감소
✅ 문맥 이해: 5초 분량 한 번에 처리로 정확도 향상
✅ AI 효율: 일정량 텍스트 주기적 생성
✅ 안정성: 재시도 로직 구현 용이
설정:
- Azure Speech: eastus, ko-KR
- Redis: 포트 6379, DB 3
- WebSocket: /ws/audio
- 배치 주기: 5초 (고정)
다음 단계:
- 프론트엔드 WebSocket 클라이언트 구현
- 실제 Azure Speech API 키 설정
- E2E 통합 테스트 (STT → AI → Frontend)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- AI 서비스 CORS 설정 업데이트
- 회의 진행 프로토타입 수정
- 빌드 리포트 및 로그 파일 업데이트
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
주요 변경사항:
- 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>
- SSE 스트리밍 방식으로 AI 분석 결과 실시간 전송 구현
- 용어 감지 및 관련 회의록 검색 기능 개선
- API 명세 업데이트 (SSE 엔드포인트 추가)
- AI 및 STT 서비스 테스트 환경 구성 문서 작성
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>