←전체 그래프상위: Advanced RAG Techniques
문서의 내용을 재귀적으로 클러스터링하고 요약하여, 세부 정보부터 전체 개요까지 다루는 다층적인 '트리' 구조의 인덱스를 구축하는 기법
- 작동방식
- 트리 구축 (인덱싱 시):
- (Level 0) 원본 텍스트를 청크로 분할
- (반복) 현재 레벨의 텍스트들을 임베딩 -> 의미 기반으로 클러스터링 -> 각 클러스터를 LLM으로 요약하여 상위 레벨의 노드를 생성하는 과정을 반복
- 통합 검색 (질의 시):
- 원본 청크와 모든 레벨의 요약이 저장된 단일 Vector Database에서 질문과 가장 관련성 높은 노드들을 검색
- 이를 통해 질문의 추상화 수준에 가장 적합한 정보를 자동으로 찾아냄
- 답변 생성: 검색된 모든 정보를 모아 최종 컨텍스트를 구성하고 답변을 생성
- 장점
- 다중 해상도 검색: 질문의 성격에 따라 세부적인 내용과 전체적인 맥락을 모두 효과적으로 탐색
- 확장성: 매우 긴 문서나 많은 양의 문서를 계층적으로 처리하므로 대규모 데이터셋에 강함
- 문맥 인식: 단편적인 청크가 아닌, 잘 요약된 상위 레벨의 문맥을 함께 활용하여 답변의 질을 높임
- 구현
- 트리 생성 로직: 루프를 사용하여 텍스트를 임베딩하고,
GaussianMixture로 클러스터링한 뒤, LLM 체인을 통해 각 클러스터를 요약하는 과정을 반복하여 계층 구조.
- 단일 Vector Database: 모든 계층의 노드(원본 청크, 요약)는 'level' Metadata와 함께 하나의
FAISS Vector Database에 통합 관리
- 계층적 질의: 검색 시 특정 레벨을 필터링하지 않고 전체 Vector Database를 대상으로 검색하여, 질문에 가장 적합한 추상화 수준의 정보를 한번에 찾아냄