RAG를 도입할 때 많은 팀이 임베딩 기반 의미 검색만 사용하지만, 실제로는 이름, 약어, ID와 같은 정확한 문자열 매칭이 필요한 경우 임베딩 검색이 실패한다. Eugene Yan은 Obsidian-Copilot 경험을 바탕으로 BM25 같은 전통 검색과 의미 검색을 결합한 하이브리드 검색이 단일 방식보다 훨씬 좋은 성능을 낸다고 말한다. 키워드 검색은 정확한 토큰 일치에 강하고, 임베딩 검색은 동의어나 개념적 유사성 포착에 강하다. 두 접근을 보완적으로 사용해야 LLM이 더 풍부하고 정확한 컨텍스트를 제공받을 수 있다.

근거

원문에서 직접 언급: “From experience with Obsidian-Copilot, I’ve found that hybrid retrieval (traditional search index + embedding-based search) works better than either alone.” 또한 키워드 검색이 실패하는 구체적 사례(사람 이름, 약어, ID)와 임베딩 검색이 약한 경우(동의어, 하이퍼님)를 대조하며 하이브리드의 필요성을 설명한다. 메타데이터 필터링(날짜, 평점)도 키워드 검색 인덱스에서 쉽게 가능하다는 점을 덧붙인다.

“Why not embedding-based search only? While it’s great in many instances, there are situations where it falls short, such as: Searching for a person or object’s name … Searching for an acronym or phrase … Searching for an ID.”

연결된 생각

출처

클리핑 · eugeneyan.com