完整题目
请设计一个检索系统架构,阐述如何有效结合BM25、向量召回和cross-encoder重排序这三种技术,并说明各自的优势和组合策略。
本文目录
整体架构
Query
├─ BM25 稀疏召回
└─ 向量稠密召回
↓
去重与排名融合
↓
Cross-Encoder 重排小候选集
↓
Top-K三类组件的分工
- BM25:利用词项匹配、IDF 和长度归一化,擅长专有名词、编号、短语和必须字面命中的查询;速度取决于索引、语料与部署,不能称为“零延迟”。
- 向量召回:用 embedding 表达语义相似,能补充同义改写和字面不重合的结果,但可能弱化精确实体或数值约束。
- Cross-Encoder:联合编码 query-document,通常能刻画更细的交互相关性,但每个候选都要前向计算,只适合重排有限候选。
融合策略
两路召回先各取候选并按文档 ID 去重。RRF 只使用排名,避免直接比较不同系统的分数尺度,是稳健的无监督基线;若有可靠标注,也可对归一化分数做线性融合,或训练学习排序模型。RRF 不是任何场景都优于加权融合。
重排前应保留来源、权限、时间和业务过滤条件。候选规模、RRF 参数和最终 Top-K 都应通过离线 Recall/nDCG、端到端问答质量、延迟和成本共同选择。数据变化时持续监控两路召回贡献、重排增益和失败查询,不能把任一固定组合称为所有 RAG 系统的“黄金标准”。