병합 완료: 원격 저장소 최신 변경사항 반영

- 회의시작및실시간회의록작성.puml 병합 완료
- .gitignore 업데이트
- stt-ai 디렉토리 추가
- requirements.txt, .env.example 추가

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Minseo-Jo
2025-10-22 15:24:08 +09:00
parent b05f7b2f22
commit 9f15f4f6e5
6 changed files with 176 additions and 80 deletions
@@ -1,4 +1,4 @@
@startuml 회의시작및실시간회의록작성
@startuml
!theme mono
title 회의시작및실시간회의록작성 외부 시퀀스
@@ -23,33 +23,18 @@ activate Gateway
Gateway -> Meeting: POST /meetings/{meetingId}/start
activate Meeting
' 회의 세션 생성
Meeting -> Meeting: 회의 세션 생성\n- 회의 상태 업데이트 (시작중)\n- 시작 시간 기록\n- 회의 통계 초기화
Meeting -> Meeting: 회의 세션 생성
' MeetingStarted 이벤트 발행
Meeting -> EventHub: MeetingStarted 이벤트 발행
activate EventHub
note right
이벤트 데이터:
- meetingId
- title
- startTime
- participants
end note
Meeting --> Gateway: 201 Created
note right
응답 데이터:
- meetingId
- sessionId
- status: IN_PROGRESS
end note
deactivate Meeting
Gateway --> Frontend: 201 Created (회의 세션 정보)
Gateway --> Frontend: 201 Created
deactivate Gateway
Frontend -> Frontend: 회의 화면으로 전환\n- 음성 녹음 UI 표시\n- 참석자 목록 표시\n- 회의록 편집 영역 활성화
Frontend -> Frontend: 회의 화면으로 전환
Frontend --> User: 회의 진행 화면 표시
deactivate Frontend
@@ -59,7 +44,7 @@ deactivate Frontend
EventHub -> STT: MeetingStarted 이벤트 구독
activate STT
STT -> STT: 음성 녹음 준비\n- 녹음 세션 생성\n- 오디오 스트림 초기화\n- Azure Speech 연동 준비
STT -> STT: 음성 녹음 준비
STT --> EventHub: 녹음 준비 완료
deactivate STT
@@ -75,21 +60,10 @@ activate Frontend
Frontend -> STT: 음성 데이터 스트리밍
activate STT
' 음성-텍스트 변환
STT -> STT: 음성 인식 처리\n- 화자 식별\n- Azure Speech API 호출\n- 텍스트 변환\n- 타임스탬프 기록
STT -> STT: 음성 인식 처리
' TranscriptReady 이벤트 발행 (5초 배치)
STT -> EventHub: TranscriptReady 이벤트 발행 (5초 배치)
STT -> EventHub: TranscriptReady 이벤트 발행
activate EventHub
note right
이벤트 데이터:
- meetingId
- segments:
* speaker
* text
* timestamp
* confidence
end note
STT --> Frontend: 음성 처리 중 표시
deactivate STT
@@ -100,64 +74,37 @@ deactivate Frontend
EventHub -> AI: TranscriptReady 이벤트 구독
activate AI
par AI 병렬 처리
AI -> AI: [1] 회의록 내용 정리 (LLM)\n- 구어체 → 문어체 변환\n- 주제별 분류\n- 핵심 내용 요약\n- 문장 다듬기
and
AI -> AI: [2] 전문용어 추출 (RAG)\n- 전문용어 자동 감지\n- 벡터 임베딩\n- 유사도 검색\n- 맥락 기반 설명 생성
and
AI -> AI: [3] 관련 자료 검색\n- 과거 회의록 검색\n- 사내 문서 검색\n- 관련도 계산\n- 상위 5개 선정
end
AI -> AI: [1] 회의록 내용 정리 (LLM)
AI -> AI: [2] 전문용어 추출 (RAG)
AI -> AI: [3] 관련 자료 검색
' AI 분석 결과 저장
AI -> AI: AI 분석 결과 저장\n- TranscriptSummary 생성\n- TermExplanation 저장\n- 관련 문서 링크 저장
AI -> AI: AI 분석 결과 저장
' TranscriptSummaryCreated 이벤트 발행
AI -> EventHub: TranscriptSummaryCreated 이벤트 발행
note right
이벤트 데이터:
- meetingId
- summary
- terms
- relatedDocs
- timestamp
end note
AI -> EventHub: TranscriptSummaryCreated 발행
AI --> EventHub: AI 분석 완료
deactivate AI
deactivate EventHub
== 회의록 저장 및 실시간 동기화 ==
EventHub -> Meeting: TranscriptSummaryCreated 이벤트 구독
activate EventHub
EventHub -> Meeting: TranscriptSummaryCreated 구독
activate Meeting
' 회의록 데이터 저장
Meeting -> Meeting: 회의록 데이터 저장\n- Transcript 엔티티 업데이트\n- 버전 증가\n- 수정 이력 기록
Meeting -> Meeting: 회의록 데이터 저장
' 캐시 무효화
Meeting --> Cache: DEL meeting:info:{meetingId}
Meeting -> Cache: 캐시 무효화
activate Cache
Cache --> Meeting: 캐시 삭제 완료
deactivate Cache
' 실시간 동기화 (WebSocket)
Meeting -> Frontend: WebSocket 메시지 전송
activate Frontend
note right
메시지 데이터:
- type: TRANSCRIPT_UPDATE
- summary
- terms
- relatedDocs
- delta
end note
Meeting --> EventHub: 동기화 완료
deactivate Meeting
deactivate EventHub
Frontend -> Frontend: 회의록 화면 업데이트\n- 정리된 회의록 표시\n- 전문용어 하이라이트\n- 관련 자료 링크 표시\n- 수정자 표시 (3초간)
Frontend -> Frontend: 회의록 화면 업데이트
Frontend --> User: 실시간 회의록 표시
deactivate Frontend
@@ -165,16 +112,10 @@ deactivate Frontend
end
note over User, EventHub
**처리 시간**:
처리 시간:
- STT 변환: 1-3초
- AI 병렬 처리: 5-8초
- 회의록 저장 및 동기화: 1-2초
- 총 처리 시간: 7-13초 (5초 배치 기준)
**차별화 포인트**:
- AI 병렬 처리로 회의록 정리, 전문용어 설명, 관련 자료 검색을 동시에 수행
- 정리된 회의록과 맥락 기반 용어 설명을 통합 제공
- WebSocket 델타 전송으로 네트워크 효율성 향상
- 회의록 저장: 1-2초
- 총 처리 시간: 7-13초
end note
@enduml