고급 검색 기법 소개

이 영상에서는 RAG(Retrieval-Augmented Generation) 시스템의 검색 품질을 향상시키는 네 가지 고급 기법을 소개합니다. 각 기법은 특정 문제점을 해결하고 검색 성능을 최적화하는 데 초점을 맞춥니다.

1. 멀티 쿼리 리트리버 (Multi-Query Retriever)

목적: 모호하거나 불명확한 사용자 질문을 처리하여 더 풍부한 답변을 제공합니다.

핵심 아이디어: 사용자의 질문을 여러 개의 관련 질문으로 재구성하여 벡터 스토어에서 더 많은 관련 청크를 검색합니다. 이를 통해 검색 결과의 다양성을 높이고 답변의 품질을 향상시킵니다. 사용자가 대략적으로 질문하더라도, 다양한 각도에서 질문을 해석하여 관련된 정보를 더 많이 가져올 수 있습니다.

2. 부모 문서 리트리버 (Parent Document Retriever)

목적: 문서 청크로 분할될 때 앞뒤 문맥이 잘리지 않도록 하여 더 완전한 정보 검색을 지원합니다.

핵심 아이디어: 유사한 청크를 찾으면 해당 청크를 포함하는 더 큰 “부모” 문서를 가져옵니다. 이렇게 하면 답변에 필요한 전체 맥락을 확보하여 더 정확하고 만족스러운 결과를 얻을 수 있습니다. 부분적인 정보만 가져오는 것이 아닌, 전체 문맥을 포함하여 답변의 완성도를 높입니다.

3. 셀프 쿼리 리트리버 (Self-Query Retriever)

목적: 문서 메타데이터를 기반으로 필터링하여 보다 정확한 답변을 제공합니다.

핵심 아이디어: 시맨틱 검색 대신 사용자 질문에서 메타데이터 필터링 조건을 추출하여 벡터 스토어에서 직접 필터링합니다. 이는 데이터베이스 쿼리와 유사하게 작동하며, 특히 구조화된 데이터에서 정보를 정확하게 가져오는 데 유용합니다. 예를 들어, 평점이나 장르와 같은 메타데이터를 기반으로 특정 영화를 검색할 수 있습니다.

4. 시간 가중치 벡터 리트리버 (Time-Weighted Vector Retriever)

목적: 최신 문서에 더 높은 가중치를 부여하여 답변의 신선도를 유지합니다.

핵심 아이디어: 문서가 마지막으로 사용된 시간을 기반으로 점수를 부여하여 최근에 사용된 문서가 검색 결과에서 우선 순위를 갖도록 합니다. 이를 통해 오래된 정보보다 최신 정보가 포함된 답변을 생성할 수 있습니다. 시간에 따른 가중치 감소를 통해 최신 정보를 더 중요하게 처리합니다.