Langflow - audit_rag_Basic

JERRY·2025년 11월 28일

Project

목록 보기
4/14

✊audit_rag_Basic

LangFlow로 구축하는 가장 단순한 감사 RAG 구조

1. 플로우 전체 구조 개요

[1] Chat Input
        ↓  (사용자 질문 전달)
[2] Qdrant(Search) ← OpenAI Embeddings
        ↓  (DataFrame 반환)
[3] Parser (DataFrame → 문자열 context)
        ↓
[4] Prompt Template (context + question)
        ↓
[5] OpenAI (LLM)
        ↓
[6] Chat Output

2. 각 컴포넌트별 상세 설명

(1) Chat Input

사용자가 질문을 입력하는 노드

  • Qdrant(Search Query)의 입력 포트로 연결

(2) OpenAI Embeddings

사용자 질문을 벡터화 → Qdrant에 검색용으로 전달하는 역할

  • Model: text-embedding-3-small
  • Output: embedding vector → Qdrant의 Embedding 포트로 연결

Qdrant는 입력한 질문(문자열) + 해당 질문의 Embedding 을 사용하여 벡터DB에서 가장 유사한 문서 chunk 4개를 찾아줌

  • 입력값

    Input설명
    collection_nameQdrant 저장소 이름
    Payload Keycontent
    qdrant_urlQdrant 서버 URL
    Distance FunctionCosine
    Number of Results4
    user_questionChatInput에서 전달받은 질문
    EmbeddingsEmbeddings output

(4) Parser

Qdrant에서 나온 DataFrame에서 문서 내용(content 컬럼만) 꺼내서 프롬프트로 넣기 좋은 문자열로 변환하는 역할

(5) Prompt Template

LLM이 답변할 때 사용할 최종 프롬프트 구성기

당신은 감사 전문가입니다.
다음 문맥(context)과 사례를 기반으로 사용자 질문에 대한 답변을 생성하세요.

[질문]
{question}

[검색된 문맥]
{retrieved_docs}

규칙:
1. 실제 사례를 바탕으로 서술할 것
2. 허위 정보(환각 제거) 금지
3. 관련 법/규정 또는 사건명은 있는 경우만 언급

(6) OpenAI 노드

Prompt Template에서 만든 최종 프롬프트를 입력받아 실제 응답을 생성하는 LLM 엔진

  • 설정
    • Model: gpt-4o-mini
    • Temperature: 0.1
  • Output: Chat Output으로 전달

(7) Chat Output

최종적으로 사용자에게 보여주는 답변

3. 플로우 결과

  • context 없이 답변하는 경우 발생 (검색 실패)
  • 문서 근거 없거나 부족한 LLM 대답 혼재
  • 유사 사례까지 확보 어려움

0개의 댓글