RRF를 활용한 하이브리드 검색은 순수 벡터 검색보다 AI 메모리 시스템을 향상시킵니다

로컬 우선, 자체 호스팅 방식으로 PostgreSQL과 pgvector를 사용하는 AI 어시스턴트용 오픈소스 메모리 시스템이 개발되었습니다. 이 시스템은 AI 어시스턴트가 세션 간에 기억할 정보를 저장하고 검색 가능하게 만듭니다.
왜 순수 벡터 검색만으로는 부족했나
개발자는 처음에 순수 벡터 검색으로 시작했습니다: 쿼리를 임베딩하고, 코사인 유사도를 사용하며, 상위-k 결과를 반환하는 방식입니다. 이는 모호한 질문에는 효과적이었지만, 정확한 일치 검색에서는 지속적으로 실패했습니다. 예를 들어, "RRF merging"을 검색하면 "RRF merging"이라고 명시적으로 언급된 문서 대신 몇 달 전의 "순위 목록 결합"에 관한 청크가 반환되었습니다.
하이브리드 검색 솔루션
해결책은 두 번째 검색 방식을 추가하는 것이었습니다: PostgreSQL의 tsvector와 GIN 인덱스를 사용한 전문 검색입니다. 이 키워드 매칭은 벡터 검색이 놓치는 부분을 포착합니다. 그러나 이로 인해 병합이 필요한 두 개의 순위 목록이 생성되었습니다.
Reciprocal Rank Fusion (RRF)
두 순위 목록을 병합하는 데는 Reciprocal Rank Fusion이 해답으로 증명되었습니다. 공식은 간단합니다: 점수 = 1 / (k + 순위), 여기서 k=60(표준값)입니다. 두 목록 모두에 나타나는 결과는 두 점수를 합산합니다. 이 접근 방식은 코사인 유사도와 ts_rank 간의 가중치 조정이나 점수 정규화가 필요하지 않으며, 오직 순위 위치만 사용합니다.
쿼리 강화 기술
검색 전에 시스템은 임베딩 모델의 WordPiece 토크나이저를 통해 쿼리를 실행하여 핵심 용어(기술적이거나 도메인 용어일 가능성이 높은 다중 서브워드 토큰)를 추출합니다. 이는 최대 3개의 쿼리 변형을 생성하고, 모두 임베딩하여 병렬로 검색합니다. 이렇게 하면 한 가지 표현 방식이 놓칠 수 있는 결과를 포착할 수 있습니다.
기술 스택
- PostgreSQL 16 + pgvector (벡터용 HNSW 인덱스, 전문 검색용 GIN 인덱스)
- 임베딩용 all-MiniLM-L6-v2 (384차원, CPU에서 실행)
- 비동기 psycopg 3를 사용한 Python
- 3가지 수집 어댑터: 마크다운, 평문, Claude 대화 JSON
전체 시스템은 임베딩을 위한 API 호출 없이 로컬에서 실행되며 클라우드 의존성이 없습니다. 코드는 최근에 배포되었으며, 개발자는 전체 접근 방식에 대해 상세한 블로그 포스트를 작성했습니다.
📖 Read the full source: r/LocalLLaMA
👀 See Also

Ssemble MCP 서버는 Claude가 YouTube에서 숏폼 비디오를 생성할 수 있도록 합니다
Ssemble AI 클리핑을 위한 새로운 MCP 서버는 Claude가 YouTube URL에서 AI 생성 클립, 자막 템플릿, 음악 트랙, 오버레이를 사용하여 TikTok/Reels/Shorts 스타일의 동영상을 만들 수 있게 해줍니다. 설정에는 Claude Desktop에 구성을 추가하거나 호스팅된 엔드포인트를 사용하는 것이 포함됩니다.

angular-grab: AI 에이전트를 위한 Angular 컴포넌트 컨텍스트 추출 도구
angular-grab는 개발 전용 도구로, Angular 개발 서버에서 UI 요소를 가리키고 Cmd+C를 눌러 전체 컴포넌트 스택 트레이스와 파일 경로, HTML을 클립보드에 복사하여 AI 에이전트에 붙여넣을 수 있게 해줍니다.

스웜훅 소개: 봇을 위한 무료 오픈 소스 웹훅
Swarmhook.com은 봇의 이벤트를 효과적으로 관리하기 위한 무료 오픈 소스 웹훅을 제공하여 자동화 및 응답 기능을 간소화합니다.

Meera: Qwen3.5-2B 기반의 완전 오프라인 리눅스 그놈 AI 어시스턴트
Meera는 Qwen3.5-2B-Q4_K_M(1.2GB)과 Vulkan을 지원하는 llama-cpp를 사용하는 Gnome Desktop용 오프라인 AI 어시스턴트입니다. 도구 선택과 RAG를 위해 두 번째 작은 임베딩 모델을 활용하여 프롬프트 임베딩 비대화를 방지합니다. Ubuntu 24.04+RTX 5090과 Fedora Silverblue+Intel i3에서 작동합니다.