跳到主要内容

RRF

  • RRF(Reciprocal Rank Fusion,倒数排名融合)是一种把多个检索结果列表合并的方法
  • RRF 的核心作用是:把“向量检索结果”和“关键词检索结果”合并成一份统一排序的结果。
  • RRF是检索结果融合算法
  • 简单来说:RRF合并向量检索和关键词检索结果

RRF 的主要优点​

  • 实现简单稳定;
  • 适合融合不同检索算法;
  • 相同 chunk 可以按 chunkId 去重。

RRF使用场景​

  • 全文关键词搜索,再用 RRF 跟向量结果融合

RRF 的处理步骤​

  1. 获取向量检索结果;
  2. 获取 FTS 检索结果;
  3. 按 chunkId 合并相同结果;
  4. 根据每一路中的排名计算 RRF 分数;
  5. 对融合结果进行降序排序;
  6. 截取最终候选数量;
  7. 如果启用了 Reranker,再进行一次模型重排序

RRF和Rerank​

  • RRF是用来合并混合检索的结果
  • Rerank是对合并后的候选文档进行排序
  • 利用混合检索,会将向量检索和关键词检索通过RRF算法合并为候选文档,然后利用Rerank重排序将候选文档进行打分