전체 그래프
RAG

Corrective RAG (CRAG)

ai-mlrag

상위: Advanced RAG Techniques

검색된 정보의 품질을 맹신하지 않고, LLM 기반의 '평가기'를 통해 검색 결과의 관련성을 먼저 점검하고 교정하는 RAG 기법

  • 작동방식
    1. 검색(Retrieve): 로컬 Vector Database에서 일반적인 RAG처럼 문서를 검색
    2. 평가(Evaluate): LLM 평가기가 검색된 각 문서에 대해 '관련성 점수'를 매김
    3. 결정 및 교정(Decide & Correct): 가장 높은 점수를 기준으로 다음 행동을 결정
      • 점수가 높으면(Correct): 해당 문서를 그대로 사용합니다.
      • 점수가 낮으면(Incorrect): 로컬 문서를 버리고 웹 검색을 수행합니다.
      • 점수가 애매하면(Ambiguous): 로컬 문서와 웹 검색 결과를 함께 사용합니다.
    4. 생성(Generate): 최종적으로 확보된 지식을 바탕으로 답변을 생성
  • 장점
    • 정확성 및 신뢰성 향상: 관련 없거나 오래된 정보가 답변에 사용되는 것을 방지
    • 최신성 유지: 로컬 DB에 없는 최신 정보가 필요할 때 웹 검색을 통해 보완
    • 지능적 자원 활용: 무조건 웹 검색을 하는 것이 아니라, 필요할 때만 수행하므로 효율적
  • 구현
    • 전체 로직이 '평가 점수'에 따라 분기하는 조건부 파이프라인으로 구현
    • retrieval_evaluator(점수 평가), rewrite_query(웹 검색용 쿼리 변환), knowledge_refinement(정보 요약) 등 여러 LLM 체인 구현
    • 점수 임계값(0.3, 0.7)을 기준으로 어떤 체인을 실행할지 결정하는 '라우터' 역할 구현