Skip to main content

Function: reciprocalRankFusion()

reciprocalRankFusion(denseRanked, sparseRanked, options?): RRFResult[]

Defined in: packages/agentos/src/memory/retrieval/hybrid/reciprocalRankFusion.ts:90

Merge two ranked retrieval results via Reciprocal Rank Fusion.

Parameters

denseRanked

RankedDoc[]

1-based ranked list from dense retrieval.

sparseRanked

RankedDoc[]

1-based ranked list from sparse retrieval.

options?

RRFOptions = {}

RRFOptions; defaults to w_dense=0.7, w_sparse=0.3, k=60.

Returns

RRFResult[]

Merged results sorted by fused score descending, stable tiebreak by id ascending.

Example

const dense = [{ id: 'a', rank: 1 }, { id: 'b', rank: 2 }];
const sparse = [{ id: 'b', rank: 1 }, { id: 'c', rank: 2 }];
const merged = reciprocalRankFusion(dense, sparse);
// => [{ id: 'b', score: 0.0162, denseRank: 2, sparseRank: 1 }, ...]