Contextual Retrieval
·2024.12.20 04:00
Contextual Retrieval은 문맥 정보를 활용해 RAG의 검색 실패율을 최대 67%까지 개선한다.
AI 모델이 특정 도메인에서 유용하게 작동하려면 배경 지식이 필요하며, 이를 위해 **RAG(Retrieval-Augmented Generation)**가 널리 사용된다. 하지만 기존 RAG는 정보를 청킹(Chunking)하고 인코딩하는 과정에서 문맥을 손실하여, 정작 필요한 정보를 검색하지 못하는 한계가 있다.
Contextual Retrieval은 이러한 문제를 해결하기 위해 Contextual Embeddings와 Contextual BM25라는 두 가지 하위 기술을 제안한다. 이 방식을 도입하면 검색 실패율을 49% 줄일 수 있으며, Reranking 기술과 결합할 경우 실패율을 **67%**까지 대폭 낮출 수 있다.
지식 베이스 규모에 따라 최적의 전략은 달라진다.
- 20만 토큰 미만: RAG 대신 전체 지식 베이스를 프롬프트에 직접 포함한다. 이때 Claude의 Prompt Caching을 사용하면 비용을 최대 90% 절감하고 속도를 2배 이상 높일 수 있다.
- 대규모 지식 베이스: BM25(정확한 키워드 매칭)와 Embedding(의미적 유사성 검색)을 결합한 하이브리드 방식을 사용한다.
하이브리드 RAG 프로세스는 다음과 같다.
- 지식 베이스를 작은 단위로 분할한다.
- 각 청크에 대해 TF-IDF 인코딩과 의미적 임베딩을 생성한다.
- BM25로 정확한 일치 항목을 찾고, Embedding으로 의미적 유사 항목을 찾는다.
- Rank Fusion 기술을 통해 두 결과를 결합하고 중복을 제거하여 최적의 정보를 추출한다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.