피드로 돌아가기
Dev.toDatabase
원문 읽기
SurrealDB 기반 Hybrid Search로 RAG 검색 정밀도 극대화
Hybrid search inside SurrealDB: one query, vector + keyword + RRF
AI 요약
Context
Vector Search의 의미론적 유사성 의존으로 인한 정확한 함수명 매칭 실패 및 BM25 Keyword Search의 문맥 이해 부족이라는 상충하는 한계 존재. 기존 RAG 시스템의 검색 결과 불일치 문제를 해결하기 위해 검색 전략의 상호 보완적 결합이 필요함.
Technical Solution
- Vector와 Keyword 검색을 병렬로 실행하여 의미론적 맥락과 정확한 철자를 동시 확보하는 Hybrid Search 구조 설계
- 서로 다른 스코어 체계를 가진 두 검색 결과를 통합하기 위해 점수가 아닌 순위를 활용하는 Reciprocal Rank Fusion(RRF) 알고리즘 도입
search::rrf()함수를 통해 애플리케이션 레이어의 미들웨어 없이 데이터베이스 내부에서 랭킹 퓨전을 처리하는 Database-native 파이프라인 구축- Graph Enrichment를 통해 검색 결과에 클래스 컨텍스트와 Call Neighbourhood 정보를 추가하여 LLM에 전달되는 컨텍스트 밀도 향상
- Knowledge Graph, Vector Store, Agent Checkpoint를 단일 SurrealDB 인스턴스에서 통합 관리하여 인프라 복잡성 제거
실천 포인트
1. 정밀한 식별자(함수명, ID) 검색이 필요한 RAG 시스템에 Vector+Keyword Hybrid Search 적용 검토
2. 이질적인 스코어링 시스템 통합 시 단순 정규화 대신 RRF(Reciprocal Rank Fusion) 알고리즘 적용
3. 데이터 이동 최소화를 위해 검색 및 랭킹 퓨전 로직을 Database-native 수준에서 처리하는 아키텍처 고려
4. 검색 결과에 Graph Traversal을 통한 관계성 데이터를 추가하여 LLM의 문맥 이해도 제고