fastrag.retrieval.fusion.rrf#

Reciprocal Rank Fusion, independent of storage or embedding providers.

Classes

ReciprocalRankFusion(*[, rank_constant])

Sum 1 / (rank_constant + one_based_rank) across input rankings.

class fastrag.retrieval.fusion.rrf.ReciprocalRankFusion(*, rank_constant=60.0)[source]#

Bases: RankFusion

Sum 1 / (rank_constant + one_based_rank) across input rankings.

Each document contributes once per ranking. Input order breaks score ties deterministically. Original document metadata is copied, never mutated.

Parameters:

rank_constant (float)

fuse(rankings, *, k)[source]#

Deduplicate by document id and return descending fusion scores.

Parameters:
Return type:

list[Document]