Contextual Compression Retriever로 노이즈 줄이기
📌 3줄 요약 · 벡터 검색으로 가져온 문서에는 질문과 상관없는 문단 이 섞여 있는 경우가 많아, LLM에게 그대로 넘기면 노이즈 가 됩니다. · Contextual Compression Retriever 는 검색으로 찾은 문서를 질문에 맞게 압축·선별 해, 꼭 필요한 부분만 남겨 LLM에 전달합니다. · 불필요한 내용을 걷어 내면 답변 품질이 올라가고 토큰 낭비도 줄어 , RAG 파이프라인이 한층 깔끔해집니다. 📖 목차 검색 결과에 섞이는 노이즈 문제 Contextual Compression의 아이디어 압축기(Compressor)의 종류 기본 사용법 코드로 보기 문서가 걸러지는 과정 실무 팁 자주 묻는 질문(FAQ) ❓ 질문 → 🔍 기본 검색 → 🗜️ 압축·선별 → ✅ 핵심만 전달 앞선 글들에서 Retriever 로 문서를 검색하고, MultiQuery 나 Self-Query 같은 기법으로 검색의 폭과 정확도를 넓히는 방법을 살펴봤습니다. 그런데 문서를 " 잘 찾는 것 "과 그 문서를 " 잘 다듬어 쓰는 것 "은 또 다른 문제입니다. 검색으로 데려온 문서 안에는 질문과 관계없는 문장이 적지 않게 섞여 있기 때문입니다. 오늘은 이렇게 검색 결과에서 필요한 부분만 추려 LLM에 넘기는 Contextual Compression Retriever 를 정리해 보겠습니다. 🧭 검색 결과에 섞이는 노이즈 문제 벡터 검색은 질문과 의미가 비슷한 문서 를 통째로 데려옵니다. 문제는 그 문서 하나가 여러 주제를 담은 긴 글 일 때입니다. 예를 들어 "환불 정책이 어떻게 되나요?"라고 물었는데, 가져온 문서가 배송·결제·환불·회원가입을 모두 다루는 긴 안내문이라면, 그중 정작 질문과 관련된 부분은 몇 문장 뿐입니다. 나머지는 답변에 도움이 되지 않는 노이즈 입니다. 이 상태로 문서 전체를 LLM에 넘기면 두 가지 손해가 생깁니다. 하나는 토큰 낭비 로...