Feature · Retrieval

Hybrid Retrieval

A question can be conceptually similar to a passage—or depend on one exact name, identifier, or phrase. Mneme keeps both in the search path.

What it solves

Vector-only search can miss exact terminology. Keyword-only search is brittle when the question is phrased differently from the document.

01 · QueryOne question enters the retrieval path.
02 · SemanticEmbeddings find related concepts.
03 · LexicalBM25 keeps exact language visible.
04 · FuseRRF combines ranked evidence.

How Mneme handles it

Sentence-transformers and ChromaDB provide semantic search. BM25 provides lexical search. Reciprocal Rank Fusion brings the lists together before deduplication and dynamic Top-K selection.

What you can inspect

  • Which source files contributed to an answer.
  • Source paths, chunk IDs, and PDF page anchors.
  • The retrieval mode used by the TUI session.
Result before terminology

The user-facing result is “find meaning and exact language together.” The implementation details support that result.

Try it

python -m src.rag --files /path/to/docs --collection my_docs

Search Mneme documentation