1. Hybrid Search(BM25 + Dense + Sparse SPLADE)的权重融合与重排序在主流 RAG 框架(LlamaIndex、Haystack、DSPy)的默认实现?
Hybrid Search(BM25 + Dense + Sparse SPLADE)的权重融合与重排序在主流 RAG 框架(LlamaIndex、Haystack、DSPy)中的默认实现是什么?
- 混合检索的融合方法
- 各框架默认实现差异
- 重排序与改进
混合检索把稀疏检索(BM25 精确匹配、SPLADE 稀疏向量)与稠密检索(向量语义)结合,弥补各自短板。权重融合方面,主流做法是 RRF(Reciprocal Rank Fusion,对两路结果按排名倒数求和,无需权重调参、鲁棒)或加权线性融合(对两路分数归一化后加权求和,需调权重)。重排序:先用混合检索召回较多候选,再用 Reranker 精排。主流框架默认实现:LlamaIndex 默认用"BM25+向量"的 RRF 融合(其 QueryFusion 默认采用 RRF),重排序由独立 Reranker 提供;Haystack 提供 HybridRetriever 组合 BM25 与嵌入,融合可用加权或 RRF,重排通过 Ranker 组件;DSPy 把检索作为可编程模块,允许用 RRF/加权并在训练中优化参数。实际工程常在此基础上自定义权重或接入更强的 Reranker。
理解各框架默认融合方式(多采用 RRF 这一免调参的鲁棒方案)而非盲目调权重,是正确使用混合搜索的前提。RRF 适合"开箱即用",加权融合适合"有明确调优预算"的场景,重排序则是在召回之上提升精度的关键一环。