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