mirror of
https://github.com/hwanny1128/HGZero.git
synced 2026-06-13 05:59:11 +00:00
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>
This commit is contained in:
@@ -41,6 +41,14 @@ class TranscriptService:
|
||||
agendas=request.agendas
|
||||
)
|
||||
|
||||
# 입력 데이터 로깅
|
||||
logger.info("=" * 80)
|
||||
logger.info("INPUT - 참석자별 회의록:")
|
||||
for pm in participant_data:
|
||||
logger.info(f"\n[{pm['user_name']}]")
|
||||
logger.info(f"{pm['content'][:500]}..." if len(pm['content']) > 500 else pm['content'])
|
||||
logger.info("=" * 80)
|
||||
|
||||
# 2. Claude API 호출
|
||||
start_time = datetime.utcnow()
|
||||
ai_result = await claude_service.generate_completion(prompt)
|
||||
@@ -87,8 +95,7 @@ class TranscriptService:
|
||||
agenda_number=agenda_data.get("agenda_number", 0),
|
||||
agenda_title=agenda_data.get("agenda_title", ""),
|
||||
summary_short=agenda_data.get("summary_short", ""),
|
||||
discussion=agenda_data.get("discussion", ""),
|
||||
decisions=agenda_data.get("decisions", []),
|
||||
summary=agenda_data.get("summary", ""),
|
||||
pending=agenda_data.get("pending", []),
|
||||
todos=todos
|
||||
)
|
||||
@@ -105,6 +112,7 @@ class TranscriptService:
|
||||
meeting_id=meeting_id,
|
||||
keywords=ai_result.get("keywords", []),
|
||||
statistics=statistics,
|
||||
decisions=ai_result.get("decisions", ""),
|
||||
agenda_summaries=agenda_summaries,
|
||||
generated_at=datetime.utcnow()
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user