From 6b2477299d8e6ac6fd4d8dd28c1c03afd57c6347 Mon Sep 17 00:00:00 2001 From: Daewoong Jeon Date: Wed, 22 Oct 2025 17:46:19 +0900 Subject: [PATCH] =?UTF-8?q?Delete=20design/backend/sequence/inner/ai-?= =?UTF-8?q?=ED=9A=8C=EC=9D=98=EB=A1=9D=EC=9E=90=EB=8F=99=EC=9E=91=EC=84=B1?= =?UTF-8?q?=5Fbk.puml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sequence/inner/ai-회의록자동작성_bk.puml | 144 ------------------ 1 file changed, 144 deletions(-) delete mode 100644 design/backend/sequence/inner/ai-회의록자동작성_bk.puml diff --git a/design/backend/sequence/inner/ai-회의록자동작성_bk.puml b/design/backend/sequence/inner/ai-회의록자동작성_bk.puml deleted file mode 100644 index 498a505..0000000 --- a/design/backend/sequence/inner/ai-회의록자동작성_bk.puml +++ /dev/null @@ -1,144 +0,0 @@ -@startuml -!theme mono - -title AI Service 내부 시퀀스 - 회의록자동작성 - -participant "TranscriptController" as Controller -participant "TranscriptService" as Service -participant "LLMClient" as LLM -participant "VectorService" as Vector -participant "TranscriptRepository" as Repo -database "Azure OpenAI" as OpenAI <> -database "Vector DB" as VectorDB <> -database "PostgreSQL" as DB <> - -== TranscriptReady 이벤트 수신 == - -note over Controller -Azure Event Hubs로부터 -TranscriptReady 이벤트 수신 -end note - -Controller -> Service: processTranscript(meetingId, transcriptText) -activate Service - -Service -> Service: 회의 맥락 정보 조회 준비 - -== 병렬 처리: 맥락 정보 수집 == - -par 회의 정보 조회 - Service -> Repo: getMeetingContext(meetingId) - activate Repo - Repo -> DB: SELECT meeting_info - activate DB - DB --> Repo: 회의 정보 반환 - deactivate DB - Repo --> Service: 회의 맥락 정보 - deactivate Repo -else 이전 내용 조회 - Service -> Repo: getPreviousTranscripts(meetingId) - activate Repo - Repo -> DB: SELECT previous_content - activate DB - DB --> Repo: 이전 회의록 - deactivate DB - Repo --> Service: 이전 내용 - deactivate Repo -end - -Service -> Service: 프롬프트 생성 -note right -시스템 프롬프트 생성 -- 역할 정의 -- 변환 규칙 적용 -end note - -== LLM 기반 회의록 작성 == - -Service -> LLM: generateMinutes(prompt, context) -activate LLM - -LLM -> OpenAI: POST /chat/completions -activate OpenAI -note right -model: gpt-4o -temperature: 0.3 -max_tokens: 2000 -end note - -OpenAI -> OpenAI: 텍스트 분석 및 정리 - -OpenAI --> LLM: 정리된 회의록 내용 -deactivate OpenAI - -LLM --> Service: 회의록 초안 -deactivate LLM - -== 회의록 저장 == - -Service -> Service: 회의록 데이터 구조화 - -Service -> Repo: saveTranscriptDraft(meetingId, content) -activate Repo - -Repo -> DB: INSERT INTO ai_transcripts -activate DB -note right -저장 데이터: -- meeting_id -- content (JSON) -- status: DRAFT -end note - -DB --> Repo: 저장 완료 -deactivate DB - -Repo --> Service: transcriptId -deactivate Repo - -== 벡터 임베딩 생성 == - -Service -> Vector: createEmbedding(transcriptId, content) -activate Vector - -Vector -> OpenAI: POST /embeddings -activate OpenAI -note right -model: text-embedding-3-large -end note - -OpenAI --> Vector: 임베딩 벡터 -deactivate OpenAI - -Vector -> VectorDB: INSERT embedding -activate VectorDB - -VectorDB --> Vector: 저장 완료 -deactivate VectorDB - -Vector --> Service: 임베딩 생성 완료 -deactivate Vector - -== 이벤트 발행 == - -Service -> Controller: 회의록 생성 완료 응답 -deactivate Service - -Controller -> Controller: TranscriptSummaryCreated 발행 -note right -이벤트 데이터: -- meetingId -- transcriptId -- content -end note - -note over Controller, DB -처리 시간: -- 맥락 조회: 100-200ms -- LLM 생성: 3-5초 -- 저장: 100-200ms -- 벡터화: 500ms-1초 -총: 약 4-7초 -end note - -@enduml \ No newline at end of file