
[1] Chat Input
↓ (사용자 질문 전달)
[2] Qdrant(Search) ← OpenAI Embeddings
↓ (DataFrame 반환)
[3] Parser (DataFrame → 문자열 context)
↓
[4] Prompt Template (context + question)
↓
[5] OpenAI (LLM)
↓
[6] Chat Output
사용자가 질문을 입력하는 노드
사용자 질문을 벡터화 → Qdrant에 검색용으로 전달하는 역할
Qdrant는 입력한 질문(문자열) + 해당 질문의 Embedding 을 사용하여 벡터DB에서 가장 유사한 문서 chunk 4개를 찾아줌
| Input | 설명 |
|---|---|
| collection_name | Qdrant 저장소 이름 |
| Payload Key | content |
| qdrant_url | Qdrant 서버 URL |
| Distance Function | Cosine |
| Number of Results | 4 |
| user_question | ChatInput에서 전달받은 질문 |
| Embeddings | Embeddings output |
Qdrant에서 나온 DataFrame에서 문서 내용(content 컬럼만) 꺼내서 프롬프트로 넣기 좋은 문자열로 변환하는 역할
LLM이 답변할 때 사용할 최종 프롬프트 구성기
당신은 감사 전문가입니다.
다음 문맥(context)과 사례를 기반으로 사용자 질문에 대한 답변을 생성하세요.
[질문]
{question}
[검색된 문맥]
{retrieved_docs}
규칙:
1. 실제 사례를 바탕으로 서술할 것
2. 허위 정보(환각 제거) 금지
3. 관련 법/규정 또는 사건명은 있는 경우만 언급
Prompt Template에서 만든 최종 프롬프트를 입력받아 실제 응답을 생성하는 LLM 엔진
최종적으로 사용자에게 보여주는 답변