主题
为什么用 RRF 融合向量召回和关键词召回?
题型:追问 · 需要讲清它解决了不同分数不可比的问题。
建议回答
Milvus 相似度和关键词检索得分来自不同模型,数值范围、分布和含义都不同,直接加权容易受归一化影响。RRF 只使用每个结果在各自列表中的名次,对文档 d 的分数可以表示为各路 1 除以 k 加 rank 的和。这样实现简单、对异常分数稳定,而且某个文档在多路都排名靠前时会自然获得更高权重。
工程上会先用稳定的 chunkId 去重,再记录每一路的 rank、原始分数和命中原因,便于解释与调参。k、各路召回数量和可选权重应通过离线评估确定,而不是照搬默认值。
进一步追问
- 什么时候加权 RRF 比普通 RRF 更合适?
- 如果只有一路召回到结果,是否应该降低置信度?
- PostgreSQL 原生全文排序与标准 BM25 有什么差别?
易错点
- RRF 是融合初排,不等于语义精排;高要求场景仍可接 Cross-Encoder Reranker。
- 排名融合前必须统一权限过滤和文档版本范围。