Retriever - 검색기

Retriever

Vector Store에 저장된 임베딩 벡터(Embedding Vector)들 중 사용자의 질문(Query)과 관련된 문서를 검색하는 도구입니다. RAG시스템에서 검색기의 성능이 곧 RAG시스템의 전반적인 만족도에 영향을 끼칠 만큼 중요한 컴포넌트 이기도 합니다.

Retriever 동작방식

  1. Query Embedding

    1. 사용자의 질문(Query)을 벡터로 변환합니다.

  2. Similarity Search

    1. 저장된 문서들과 질문 사이의 유사성을 계산합니다.

  3. 문서 선정 : 상위 N개의 가장 관련성 높은 문서를 선정

  4. 문서반환 : 선정된 문서들을 프롬프트로 반환

Retriever 실습

1) VectorStore Retriever

  • VectorStore를 Retriever로 변환하여 검색기로 사용하는 방법

2) MultiQuery Retriever

  • 사용자의 질문(Query)를 다 각도로 해석하여 여러개의 질문(MultiQuery)을 생성하고 검색을 실행한 후 검색결과를 결합한 프롬프트를 생성합니다.

  • 사용자의 질문이 구체적이지 못한 경우 , 질문 내용을 다각화 하여 다양한 응답결과를 생성해 줄 수 있습니다.

3) ContextualCompression Retriever

  • ContextualCompression Retriever는 검색된 문서들 중 쿼리와 관련된 정보만 압축 하는 것을 목표로 하는 검색기입니다.

  • 쿼리와 무관한 정보를 제거함으로써 AI의 응답 품질을 올릴 수 있습니다.

피드백

  1. 키워드 중심의 Sparse Retriever와 문맥 중심의 Dense Retriever에 대한 설명

  2. 추가 Retrierver들에 대한 설명

Last updated