←전체 그래프상위: Advanced RAG Techniques
사용자의 질문을 받으면 먼저 LLM을 이용해 질문의 유형(사실, 분석, 의견 등)을 분류하고, 해당 유형에 가장 최적화된 맞춤형 검색 전략을 동적으로 선택하여 적용하는 지능형 RAG 기법
- 작동방식
- 질문 분류: LLM이 사용자의 질문을 'Factual', 'Analytical', 'Opinion' 등 미리 정의된 카테고리 중 하나로 분류
- 전략 선택: 분류된 카테고리에 해당하는 전용 검색 로직(Strategy)을 선택
- 맞춤형 검색 실행:
- 사실 질문: 쿼리 명확화 → 검색 → LLM 재정렬
- 분석 질문: 하위 질문 생성 → 병렬 검색 → LLM 다양성 선택
- 의견 질문: 다양한 관점 생성 → 관점별 검색 → LLM 다양성 선택
- 답변 생성: 선택된 전략을 통해 최종적으로 검색된 문서들을 컨텍스트로 삼아 LLM이 답변을 생성
- 장점
- 정확성 향상: 질문의 의도에 맞는 최적의 검색 방식을 사용하므로 결과의 질이 높아짐
- 유연성: 단답형 질문부터 복잡한 분석, 다양한 의견 비교까지 광범위한 유형의 질문을 효과적으로 처리
- 높은 효율성: 각 질문 유형에 맞는 '전문가'가 작업을 처리하므로, 불필요한 검색이나 정보 처리를 줄일 수 있음
- 구현
- 질문 분류기: LLM을 사용하여 쿼리를 특정 카테고리로 분류하는 모듈을 구현
- 전략 패턴 적용: 각 검색 전략을 별도의 클래스로 모듈화하여 구현. 각 클래스는 자신만의 독특한 검색 로직(쿼리 변환, 하위 질문 생성, 재정렬 등)을 LLM을 활용하여 수행.
- 오케스트레이터: 메인 컨트롤러가 분류기의 결과를 받아 적절한 전략 클래스를 호출하는 방식으로 전체 프로세스를 통합하고 관리.