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초