sequenceDiagram participant User as 참석자 participant WebApp as 웹 애플리케이션 participant STT as STT Service participant Azure as Azure Speech participant MQ as RabbitMQ participant AI as AI Service
(RAG 통합) participant Meeting as Meeting Service participant Collab as Collaboration Service participant Others as 다른 참석자들 %% ======================================== %% Phase 1: 실시간 음성 변환 %% ======================================== Note over User,Azure: Phase 1: 실시간 음성 → 텍스트 변환 User->>WebApp: 발언 (음성) WebApp->>STT: 음성 데이터 스트리밍 activate STT STT->>Azure: 음성-텍스트 변환 요청 Azure-->>STT: 변환된 텍스트
(화자, 타임스탬프) STT->>STT: 텍스트 세그먼트 저장
(STT DB) deactivate STT %% 5초마다 이벤트 발행 STT->>MQ: TranscriptReady 이벤트
(5초 간격 배치) %% ======================================== %% Phase 2: AI 처리 (병렬) %% ======================================== Note over MQ,AI: Phase 2: AI 분석 (병렬 처리) MQ->>AI: TranscriptReady 구독 activate AI par 회의록 내용 정리 AI->>AI: 1. 발언 내용 분석
(LLM) AI->>AI: 2. 주제별 분류 AI->>AI: 3. 핵심 내용 요약 AI->>AI: 4. 구조화된 회의록 생성 and 전문용어 추출 AI->>AI: 5. 전문용어 자동 감지
(NLP) AI->>AI: 6. 벡터 임베딩 생성 AI->>AI: 7. 맥락 기반 설명 생성
(LLM) and 관련 자료 검색 AI->>AI: 8. 유사도 기반 문서 검색
(관련도 70%+) AI->>AI: 9. 관련 회의록 검색
(최대 5개) AI->>AI: 10. 참고 자료 링크 생성 end deactivate AI %% ======================================== %% Phase 3: 데이터 저장 %% ======================================== Note over AI,Meeting: Phase 3: 데이터 저장 AI->>AI: AI 처리 결과 저장
(AI DB) AI->>MQ: TranscriptSummaryCreated
이벤트 발행 MQ->>Meeting: TranscriptSummaryCreated
구독 activate Meeting Meeting->>Meeting: 회의록 데이터 저장
(Meeting DB): Note right of Meeting: - 정리된 회의록
- 전문용어 목록
- 관련 자료 링크
- 타임스탬프 deactivate Meeting %% ======================================== %% Phase 4: 실시간 동기화 (결과 표시) %% ======================================== Note over Meeting,Others: Phase 4: 처리 결과 실시간 동기화 Meeting->>Collab: 회의록 업데이트 요청
(REST API) activate Collab Collab->>WebApp: 통합 결과 Push
(WebSocket): Note right of Collab: - 정리된 회의록
- 전문용어 + 설명
- 관련 자료 링크 Collab->>Others: 통합 결과 Push
(WebSocket) deactivate Collab %% ======================================== %% Phase 5: 화면 표시 %% ======================================== Note over WebApp,Others: Phase 5: 통합 화면 표시 activate WebApp WebApp->>WebApp: UI 업데이트: Note right of WebApp: 1. 정리된 회의록
2. 전문용어 하이라이트
3. 용어 설명 팝업
4. 관련 자료 사이드바 WebApp->>User: 통합 화면 표시 deactivate WebApp activate Others Others->>Others: 동일한 UI 업데이트 Others->>Others: 통합 화면 표시 deactivate Others %% ======================================== %% 성능 요약 %% ======================================== Note over User,Others: 전체 프로세스 성능 목표
- 음성 → 텍스트: < 2초
- AI 처리: < 10초
- 저장 및 동기화: < 2초