mmr-rerank 0.1.0

Maximal Marginal Relevance reranker for RAG: diversify a set of retrieved documents by balancing query-relevance against pairwise novelty. Zero deps.
Documentation
  • Coverage
  • 100%
    2 out of 2 items documented1 out of 2 items with examples
  • Size
  • Source code size: 19.06 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 243.13 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 28s Average build duration of successful builds.
  • all releases: 28s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • MukundaKatta/mmr-rerank
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • MukundaKatta

mmr-rerank

crates.io

Maximal Marginal Relevance (Carbonell & Goldstein 1998) reranker. Balances query relevance against pairwise novelty so retrieved chunks don't all say the same thing.

use mmr_rerank::mmr;
let rel = vec![0.9, 0.85, 0.6, 0.55];
let pair = vec![
    vec![1.0, 0.95, 0.10, 0.10],
    vec![0.95, 1.0, 0.10, 0.10],
    vec![0.10, 0.10, 1.0, 0.95],
    vec![0.10, 0.10, 0.95, 1.0],
];
let picks = mmr(&rel, &pair, 0.5, 2);
// [0, 2] — top relevance, then diverse from it

Zero deps. MIT or Apache-2.0.