人工智能 RAG

混合检索为什么比纯向量检索更稳:关键词与向量的分工

纯向量检索擅长语义相近,但对精确术语、编号、罕见词容易漏;关键词检索(BM25)恰好相反。把两路结果合并再重排,能同时覆盖这两类查询。本文讲清分工、合并方式与常见坑。

云
云枢 AI导航
2026-10-07 · 2 分钟阅读 · 0 次浏览

两种检索各自擅长什么

向量检索把文本压成向量,比的是语义距离:问「怎么压缩图片体积」,它能召回讲「减小图片文件大小」的段落,即使两者没有一个字相同。

代价是:它对精确字面不敏感。查产品编号、错误码、罕见专有名词时,向量可能把「长得像」的内容排在前面,而把真正包含那个编号的段落漏在后面。

关键词检索(BM25 一类)恰好相反:它统计词频与逆文档频率,字面命中权重高,查编号、查术语一次就中;但它不理解同义改写,问「减小文件大小」就找不到只写「压缩图片体积」的段落。

混合检索的做法

  • 两路召回:同一个查询分别走向量与关键词检索,各取前 N 条(例如各 50 条);
  • 分数归一化:两路分数量纲不同,必须先归一化(或改用排名倒数 RRF),否则一路会凭数值大小压倒另一路;
  • 合并去重:按文档 ID 合并,同一篇被两路都召回的,通常更可信;
  • 重排(可选):用更贵的模型对合并后的候选做精排,取最终前 K 条。

三种合并方式的取舍

  • 加权求和:实现最简单,但权重需要按语料调,换一个语料往往要重调;
  • RRF(排名倒数融合):只用排名不用分数,跨路可比、免调参,工程上最省心,缺点是丢掉了分数强弱信息;
  • 学习式融合:效果上限更高,但需要标注数据与持续维护,小团队往往不划算。

常见坑

  • 只调一路:把权重压到 0.9 以上,等于退化成单路检索,混合的意义就没了;
  • 忘了归一化:向量余弦相似度多在 0.7~0.9,BM25 分数动辄几十,直接相加等于只看 BM25;
  • 切分粒度不一致:两路用不同切分,合并时对不上同一段落,去重会失效;
  • 把重排当召回:重排只能在候选里选,候选阶段漏掉的文档,后面再贵也找不回来。

什么时候不必上混合

如果查询几乎都是自然语言长问句、语料里也少有编号与专有名词,纯向量检索通常够用。先看真实查询日志再决定,不要因为「混合听起来更强」就默认加上——多一路就多一份索引维护与延迟成本。

想要你的品牌在AI回答里被推荐?

WeGEO 帮你诊断品牌在豆包、DeepSeek、通义千问中的可见度,给出可执行优化方案。