Skip to content

为什么用 RRF 融合向量召回和关键词召回?

题型:追问 · 需要讲清它解决了不同分数不可比的问题。

建议回答

Milvus 相似度和关键词检索得分来自不同模型,数值范围、分布和含义都不同,直接加权容易受归一化影响。RRF 只使用每个结果在各自列表中的名次,对文档 d 的分数可以表示为各路 1 除以 k 加 rank 的和。这样实现简单、对异常分数稳定,而且某个文档在多路都排名靠前时会自然获得更高权重。

工程上会先用稳定的 chunkId 去重,再记录每一路的 rank、原始分数和命中原因,便于解释与调参。k、各路召回数量和可选权重应通过离线评估确定,而不是照搬默认值。

进一步追问

  • 什么时候加权 RRF 比普通 RRF 更合适?
  • 如果只有一路召回到结果,是否应该降低置信度?
  • PostgreSQL 原生全文排序与标准 BM25 有什么差别?

易错点

  • RRF 是融合初排,不等于语义精排;高要求场景仍可接 Cross-Encoder Reranker。
  • 排名融合前必须统一权限过滤和文档版本范围。

知识关系

从当前问题继续深入,或者回到提出这个问题的知识入口。