Skip to content

add keyword/BM25/hybrid retrievers with wrapper support#1

Merged
binghan1227 merged 1 commit into
binghan1227:feature/keyword-retrieverfrom
elinawang626-design:feat/bm25-keyword-upgrade
Feb 24, 2026
Merged

add keyword/BM25/hybrid retrievers with wrapper support#1
binghan1227 merged 1 commit into
binghan1227:feature/keyword-retrieverfrom
elinawang626-design:feat/bm25-keyword-upgrade

Conversation

@elinawang626-design
Copy link
Copy Markdown

Summary

This PR adds lexical retrieval options for RAG item recall, including:

  • keyword retriever
  • bm25 retriever
  • hybrid retriever (BM25 + vector via RRF fusion)

It also adds OpenAI wrapper support for default retriever configuration and per-call retrieval override.

Changes

Retrieval

  • Add keyword retriever option for RAG item recall
  • Add bm25 retriever implementation
  • Add hybrid retriever using Reciprocal Rank Fusion (RRF) over vector + BM25 results
  • Update retriever validation/options in settings

Wrapper support

  • Support default retriever in OpenAI wrapper config
  • Allow per-call method / retriever override for RAG retrieval

Tests

  • Add BM25 retrieval tests
  • Add keyword retrieval tests

Tooling / Docs

  • Update Makefile / test commands as needed for src layout
  • Update README usage/docs
  • Update lockfile (uv.lock)

Why

This improves retrieval flexibility for different memory types and query styles:

  • keyword: simple lexical matching
  • bm25: stronger lexical ranking
  • hybrid: combines semantic retrieval and lexical retrieval for better recall/robustness

Validation

  • Added and ran tests for keyword and BM25 retrieval
  • Verified branch diff vs main includes retrieval, wrapper, settings, tests, and docs changes

Notes

This branch is currently ahead of main and includes the full retrieval feature set in a single PR for easier review.

@binghan1227 binghan1227 changed the base branch from main to feature/keyword-retriever February 24, 2026 13:43
@binghan1227 binghan1227 merged commit a96cc2d into binghan1227:feature/keyword-retriever Feb 24, 2026
0 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants