定义

RRF是无监督多检索结果融合算法,专门用于混合检索(Hybrid Search):同时跑多路检索(BM25 关键词稀疏检索 + 向量稠密检索 / 多模型召回 / 多查询 RAG-Fusion),把多份独立排序列表合并成一份最优排序结果

为什么用RRF

BM25 和 向量检索分数完全不互通,RRF的核心思路:扔掉原始分数,只看文档在每一路的位次排名;    一个文档在越多检索链路里排名靠前,它整体相关性越高,最终排序越靠前

核心公式

RRFScore(d) = \sum_{i=1}^{N} \frac{1}{k+rank_{i}^{}(d)}

参数说明:

  1. d:单篇文档
  2. N:检索通路总数(混合检索一般 N=2:BM25 + 向量)
  3. k:平滑常数(行业标准固定 k=60

k太小或太大都不适合,当k=60时 平衡头部权重、弱化末尾文档干扰,所以默认60

RRF 核心优势(混合检索必备)

  • 无需分数归一化 完全不依赖 BM25、向量相似度原始分值,天然解决量纲不统一问题;
  • 零训练、开箱即用 无监督算法,不用标注、不用训练排序模型,落地成本极低;
  • 多路召回兼容 不限于 BM25 + 向量,支持 SPLADE、多 Embedding 模型、RAG-Fusion 多查询结果融合;
  • 鲁棒性强 不会被单一路检索的极端高分文档垄断,兼顾关键词精准匹配与语义泛化;
  • 实现简单 几十行代码即可完成融合,ES、Lindorm、Azure 搜索原生内置 RRF 算子。
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐