RAG Playground

核心原则

查询包含产品名、编号、缩写或政策条款时,混合检索通常是最稳的默认值。
多查询能提升覆盖,但会增加成本,并可能引入偏题候选。
权限、时间和状态过滤应在重排序前完成,避免无效候选占用算力。
召回融合要记录 dense、sparse 和 fused 分数,便于解释为什么某个 chunk 被选中。
对低召回问题应优先补文档和同义词,而不是只扩大 topK。

方法对比

方法延迟成本最适合
Dense 向量语义型问题
BM25精确术语、合规编号
Hybrid混合企业语料
Multi-query较慢含糊探索型问题

大厂与框架实践

LlamaIndex 和 LangChain 都提供 dense + sparse 的 ensemble retriever。

OpenAI file search 抽象了检索细节,但质量仍受 chunk、ranking 和过滤影响。

Dify 和 FastGPT 常把混合检索作为中文知识库可调选项。

客服问题“退款规则 2026Q1”需要 BM25 命中编号,也需要向量召回同义表达。

研发问答中,多查询可把“启动失败”扩展到 crash、timeout、bootstrap error 等术语。

关键论文与参考

BM25,Robertson 与 Zaragoza,2009
DPR,Karpukhin 等,2020
ColBERT,Khattab 与 Zaharia,2020
SPLADE,Formal 等,2021
RAG,Lewis 等,2020

深度讲解

混合检索常用 RRF 融合:score(d)=Σ 1/(k+rank_i(d)),k 常取 60。它的优点是不依赖 dense 与 sparse 分数同尺度,适合快速上线。若 topK=6 但候选池只有 20,重排序器没有足够空间修正错误;生产常先召回 40-100 个候选,再重排到 5-10 个上下文。对含权限过滤的系统,召回评测要按租户分层统计,否则整体 Recall@10 会掩盖某些部门找不到文档的问题。

最佳实践

混合检索默认记录各路排名和融合分数。
先过滤权限,再做昂贵重排序。
为低召回查询维护同义词和查询改写样本。