核心要点

  • 稠密向量懂语义但易漏专有名词/数字/精确词

  • 稀疏检索(BM25)精确匹配关键词但不懂同义/语义

  • 混合检索常用 RRF 融合两路结果,互补取长

标准回答

单一检索的短板

  • 稠密检索(向量 / Embedding:擅长捕捉语义相似(同义词、改写),但对精确的专有名词、产品型号、数字、罕见缩写不敏感——这些词的语义信号弱,容易被漏召回。
  • 稀疏检索(BM25 / TF-IDF:基于词频做精确关键词匹配,对专有名词、代码、精确术语很强,但完全不懂同义和语义,换个说法就召回不到。

混合检索的价值:同时跑稠密和稀疏两路检索,再融合结果,让二者优势互补——既不漏精确关键词,又能覆盖语义改写。

融合方法:最常用 RRF(Reciprocal Rank Fusion,倒数排名融合),只依赖各路结果的排名而非分数,无需对不同量纲的分数做归一化,简单稳健。也可用加权分数融合。

混合检索是生产级 RAG 提升召回率的标准做法,尤其适合含大量术语、型号的企业知识库。参考 向量数据库原理

常见误区

⚠️ 常见踩坑

直接把向量相似度分数和 BM25 分数相加。两者量纲不同、分布不一致,简单相加会失真;应做归一化加权或直接用 RRF 这类基于排名的融合。

追问

追问 1RRF 相比加权分数融合有什么优势?

RRF 只用每路结果中文档的排名(1/(k+rank))求和,不依赖原始分数,因此天然规避了向量相似度与 BM25 分数量纲不一致、难以归一化的问题,调参少、鲁棒性好。

追问 2什么时候稠密检索明显不如 BM25?

查询包含精确专有名词、错误码、SKU 型号、人名、代码片段等「字面即语义」的内容时,BM25 精确匹配优势明显,而向量检索可能因语义泛化而召回偏题结果。

追问 3混合检索后还要 rerank 吗?

通常仍要。混合检索提升的是召回(覆盖面),rerank 用 cross-encoder 提升的是精度(排序)。两者作用不同,生产链路常是「混合召回 Top-N → rerank 精排 Top-K」。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。

🛠️ AI 工具

  • qdrant

    高性能向量数据库,6.3K+ stars。高性能、大规模向量数据库和向量搜索引擎,支持相似度检索和语义搜索

  • Weaviate

    开源向量数据库,16K+ stars。同时存储对象和向量,支持混合搜索、语义搜索和生成式搜索,是 RAG 系统的热门向量存储方案