RRF、DBSF、加权融合与Cross-Encoder重排怎么选?RAG排序策略指南
文章摘要
企业RAG从单一向量检索升级到混合检索后,通常需要解决“多路结果如何合并”和“候选文档如何再次排序”两个问题。RRF、DBSF、加权融合和Cross-Encoder经常被放在一起比较,但它们解决的层次并不完全相同。本文从输入、计算成本、是否依赖分数标定、可解释性和适用场景出发,给出一套可执行的选型方法。
一、先区分融合与重排
典型混合检索:
用户问题 ├─ BM25或稀疏检索 ├─ Dense向量检索 └─ 业务规则检索 ↓ 候选集合 ↓ 融合 ↓ 重排 ↓ Top N上下文其中:
融合
解决:
多路检索结果如何合并常见方法:
- RRF;
- DBSF;
- WeightedRanker;
- 归一化后加权。
重排
解决:
候选文档与当前问题到底谁更相关常见方法:
- Cross-Encoder;
- ColBERT或Late Interaction;
- 大模型评分;
- 业务规则重排。
因此,RRF和Cross-Encoder通常不是二选一,而可以串联:
Dense+Sparse → RRF融合Top100 → Cross-Encoder重排Top20 → 最终Top5二、RRF:最安全的默认方案
RRF全称Reciprocal Rank Fusion。
它主要使用文档在各路结果中的排名,而不是直接使用原始分数。
简化公式:
score(d) = Σ 1 / (k + rank(d))假设文档A:
BM25排名第1 Dense排名第4文档B:
BM25排名第8 Dense排名第1RRF会根据两路排名综合计算,而不要求:
BM25分数 和 余弦相似度处于同一量纲。
优点
- 不依赖原始分数可比;
- 对不同检索器比较稳定;
- 参数少;
- 容易上线;
- 没有评测集时也能使用;
- 对异常高分不敏感。
缺点
- 丢失原始分数差异;
- 无法表达某一路检索更重要;
- 排名变化一位与分数巨大变化可能被同等处理;
- 业务定制能力有限。
适合
没有成熟评测集 Dense与Spar