ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Dify.ai에서 RAG 파이프라인 처리 방식
    AI 2025. 4. 16. 12:51

    Dify.ai에서 RAG 파이프라인 처리 방식: 단계별 설명

    1. 데이터 수집 및 지식베이스 구축

    • Dify 대시보드에서 "Knowledge" 메뉴로 이동해 새 지식베이스(knowledge base)를 생성합니다.
    • PDF, Markdown, Word, 텍스트 등 다양한 문서를 업로드하거나, Firecrawl API 등으로 웹사이트 데이터를 크롤링해 가져올 수 있습니다12.
    • 업로드한 문서는 자동으로 청크(chunk) 단위로 분할되고, 임베딩 모델을 통해 벡터로 변환되어 벡터 데이터베이스(예: Milvus)에 저장됩니다2.

    2. 임베딩 및 인덱싱

    • 각 청크는 선택한 임베딩 모델(OpenAI, HuggingFace 등)을 통해 벡터화됩니다.
    • 벡터화된 데이터는 Milvus 등 벡터 데이터베이스에 저장되어, 유사도 기반 검색이 가능해집니다2.
    • 청크 크기, 인덱싱 방식, 임베딩 모델, 검색 설정(벡터/키워드/하이브리드 등)을 세부적으로 조정할 수 있습니다.

    3. RAG 앱 생성 및 설정

    • "Studio" 메뉴에서 "Create from Blank"를 선택해 새 RAG 앱(예: 챗봇)을 만듭니다.
    • 시스템 프롬프트(예: "사용자 질문에 간결하게 답변하라")를 입력하고, 앞서 만든 지식베이스를 연결합니다2.
    • 사용할 LLM(OpenAI, Llama 등)을 선택합니다.

    4. 질의 처리 및 검색(Augmentation)

    • 사용자가 질문을 입력하면, Dify는 해당 질문을 벡터화하여 벡터 데이터베이스에서 top-k 유사도가 높은 청크(문서 조각)를 검색합니다24.
    • 필요에 따라 키워드 검색과 벡터 검색을 결합한 하이브리드 검색도 지원합니다.
      • 벡터 검색: 의미 기반 유사도, 멀티모달/다국어 지원
      • 키워드 검색: 정확한 키워드 매칭, 약어/저빈도 단어 대응4

    5. 프롬프트 증강 및 LLM 응답 생성

    • 검색된 관련 청크(문맥)를 원 질문과 함께 LLM의 프롬프트에 삽입합니다.
    • LLM은 이 augmented prompt를 바탕으로 최종 답변을 생성합니다2.
    • InfraNodus 등 외부 툴을 연동해, 주요 개념·관계·구조적 인사이트를 프롬프트에 추가해 RAG의 맥락성을 강화할 수도 있습니다1.

    6. 워크플로우 및 고도화

    • Dify의 워크플로우 빌더에서 If/Else, Variable Assigner, Agent Node 등 다양한 노드를 활용해,
      • InfraNodus 등에서 추출한 인사이트를 변수로 저장하고,
      • 조건에 따라 프롬프트를 동적으로 증강하며,
      • 멀티스텝 reasoning(추론) 및 도구 호출을 자동화할 수 있습니다13.
    • Agent Node를 활용하면, LLM이 자율적으로 도구를 호출하고, 반복적으로 reasoning을 수행해 복잡한 질의에도 대응할 수 있습니다3.

    7. 앱 배포 및 활용

    • 완성된 RAG 앱은 웹, 임베드, API 등 다양한 방식으로 배포할 수 있습니다2.
    • 실시간 모니터링, 성능 튜닝, 데이터셋 추가/수정 등도 대시보드에서 관리 가능합니다.

    이 과정을 통해 Dify는 RAG 기반 AI 앱을 손쉽게 구축·운영할 수 있도록 지원합니다.

Designed by Tistory.