RAG:混合检索
RAG 系统中使用纯向量检索在语义方面很强大,但面对需要精确匹配的场景时依旧有不少问题。
词法精确性的丢失(Loss of Lexical Precision)
双编码器模型将所有 token 的表示聚合为一个固定向量。这种池化操作赋予了模型语义泛化能力,但泛化的代价是精确词法标识被抹掉了。
当查询包含精确标识符,模型结构对词法信号的系统性剪除,池化在聚合语义的同时,不可逆地丢弃了 token 级的精确信息。
相关性评分的不可归因性(Non-attributability of Relevance Scores)
向量检索以余弦相似度为相关性分数,它能反映向量在高维空间中的夹角,却无法像 BM25 那样将相关性归因到具体的词项匹配,无法回答“文档因匹配了查询中的哪个词而被判定为相关”。
在需要审计追踪和合规验证的场景中,这种缺乏词项级归因路径的评分机制也无法通过调整阈值或引入重排序来解决。
向量空间的静默漂移(Silent Embedding Drift)
嵌入模型迭代、知识库更新以及领域语言的变化,都会改变向量空间的结构。这种漂移通常表现为相关文档排名的缓慢下滑,很难察觉。而且当漂移累积到影响下游生成质量时,修复成本极高。
相似不等于相关性
BM25
BM25在错误码、产品型号、领域术语等对词法精确性在召回结果中要求严格匹配精确字符串的场景几乎是目前RAG的必选项。
BM25 运行在倒排索引之上,进行精确 token 匹配,要么命中,要么不命中,不存在向量语义意义上的“接近”或“相似”。
- •确定性:相同查询在相同索引版本上产生相同结果,不依赖模型权重、随机种子或嵌入空间几何。当检索结果异常时,BM25 路径的行为可以被复现。
- •评分可追溯性:每个 BM25 匹配结果都可以分解为:哪些词命中了哪些文档字段,各词的 IDF 权重与词频贡献分别是多少。
- •词法精确匹配:BM25 基于倒排索引的精确 token 匹配对缩写、产品代码、错误标识符、函数名等词法敏感的标识符处理准确,不受语义模糊化影响。
检索策略
虽然混合检索比看上去哪哪合适,但是实际场景检索策略的选择由语料特征、查询分布和系统约束共同决定。
纯向量检索
- • 语料以自然语言叙述为主,领域术语、缩写和精确标识符密度低
- • 用户查询以概念性问题为主
- • 系统对可解释性无硬性要求
- • 错误答案的业务代价低
- • 处于快速验证阶段,需控制工程复杂度
比如内容推荐、开放域知识问答通常满足这些条件。
混合检索
- • 语料包含受控词汇(术语)密集的技术文档、法律合同、医疗记录或金融报告,依赖精确术语表达精确含义
- • 用户查询类型混合,同时包含语义性问题和精确标识符查找
- • 系统对准确性有硬性要求,错误答案会产生真实的业务或法律代价
- • 需要审计追踪,系统必须能够说明检索决策的依据
混合检索的架构
融合策略
混合检索并行运行 BM25 词法检索和稠密向量检索,产生两个独立排序列表,再通过融合算法合并为单一排序结果。两种主要融合策略在工程取舍上存在实质性差异。
倒数排名融合(RRF)将每个候选文档在各排序列表中的位次转化为分数:
其中 为约定常数(通常取 60), 为文档 在某一检索列表中的排名。Elasticsearch 8.x、OpenSearch、Weaviate、Qdrant 等主流引原生支持。
RRF 的优势在于其对评分校准误差的高度鲁棒性。BM25 分数、余弦相似度乃至不同嵌入模型输出的相似度分布,在绝对数值上往往不可直接比较的。
RRF 通过在排名空间而非分数空间中进行融合,规避了跨检索器的分数校准难题。
RRF 的局限在于没了评分幅度信息。相似度差异显著的文档,一旦处于同一排名位置,对 RRF 的贡献完全相同。
凸组合保留评分幅度,通过线性加权融合两种分数:
其中 直接控制词法检索(BM25)的贡献权重, 越大则词法匹配越占主导。在积累少量高质量标注查询-相关性对后,调优单一参数 能够在域内和域外评估上稳定超越 RRF。归一化方法(min-max 或 z-score)是二阶问题,线性归一化方法之间的差异不显著。
检索流程的外部化
OpenSearch 和 Elasticsearch 原生支持在单一请求内同时运行 BM25 和向量检索并合并结果。
内置实现的问题在于评分器将两种信号混合为单一分数,两个模式各自的贡献不可分离观测。
内置实现将归一化、权重和重排序逻辑锁定在搜索引擎内部,业务规则必须适配搜索引擎的 DSL,无法在应用代码中改进。
将 BM25 检索和向量检索外部化为独立步骤,在应用层实现融合,相对好处是:
- • 每个模式的评分和命中情况可以独立观测
- • 融合逻辑、权重调整和业务规则在常规代码中管理,不受引擎内部架构约束
- • 支持自定义 RRF 权重、查询意图感知路由和多阶段检索链
但是复杂性就提高了。
所以对于无严格审计要求、处于快速验证的场景,这些一站式打包处理的方式反而是最佳选择。对于需要精细控制检索行为、有合规要求的企业场景,可能需要BM25外化,或者平台是否提供相关API。
一种检索流水线
结语
混合检索是两种检索机制的互补,而非简单叠加。
BM25 提供词法精确性和评分可追溯性,向量检索提供语义,外部化融合提供对两者相对贡献的精细控制。三者共同解决了纯向量检索在词法精确性和可审计性上的局限。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋
📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~