云计算百科
云计算领域专业知识百科平台

RAG别只依赖向量召回!BM25检索快速上手

很多RAG开发只单用向量召回,向量模型擅长语义模糊匹配,可遇到专业术语(k_1、b)设备编号(k_1、b)内部黑话时经常召回不到。BM25就是用来补齐这个短板的检索算法。

BM25是什么

全称 Best Match 25,可以理解为增强版TF-IDF。
TF-IDF只看词频和逆文档频率,忽略文档长度。BM25增加两大优化:

  • 词频饱和:关键词重复多次,分数不会无限上涨
  • 长度归一化:同等词频下,短文档更占优,避免长文档堆词刷分

核心作用:根据查询关键词,给文档打分并按相关性排序。

公式简单理解

score(D,Q)=∑i=1nIDF(qi)⋅f(qi,D)⋅(k1+1)f(qi,D)+k1⋅(1−b+b⋅∣D∣avgdl)
\\text{score}(D,Q) = \\sum_{i=1}^{n} \\text{IDF}(q_i) \\cdot \\frac{f(q_i,D) \\cdot (k_1+1)}{f(q_i,D) + k_1 \\cdot (1 – b + b \\cdot \\frac{|D|}{\\text{avgdl}})}
score(D,Q)=i=1∑n​IDF(qi​)⋅f(qi​,D)+k1​⋅(1−b+b⋅avgdl∣D∣​)f(qi​,D)⋅(k1​+1)​

  • IDF:词越稀有,权重越高
  • k1k_1k1​(默认1.2):控制词频饱和
  • bbb(默认0.75)(k_1、b)avgdl:文档长度修正

RAG工程3种用法

  • RRF双路融合(主流方案)
    BM25抓精准关键词;向量召回负责语义同义拓展,两路合并,显著提升召回质量。
  • 向量模型兜底
    垂直领域向量模型识别缩写(k_1、b)小众名词容易跑偏,BM25保证核心关键词文档不漏。
  • 分块预筛选
    先用BM25粗筛文本块,减少向量计算量,提速降成本。
  • 落地避坑

  • k₁、b 的默认参数不是万能的,需要结合文档分布调参
  • BM25只有字面匹配,不能单独替代向量检索
  • 中文场景务必做好分词、停用词过滤
  • 总结

    BM25和向量检索是互补关系,语义+关键词双检索,是RAG从Demo走向生产的关键,也是面试高频考点。

    写在最后

    想要系统学习大模型应用开发知识、或者想转行的朋友,欢迎了解购买主页《大模型入门精品课 +简历和面试指导》(对于小白和想转行小伙伴而已,如果没有简历和面试辅导是很难通过面试的),课程内容包括:

    • 纯干货一个月学完(没有冗余的理论,项目都是大型企业生产项目,非教学demo)。
    • 项目覆盖 RAG、智能体、Lora微调实战项目、VLLM私有化部署大模型、模型压缩(剪枝、量化、蒸馏)。
    • 助力丰富个人项目技术栈和简历面试求职。课程地址:https://edu.csdn.net/course/detail/41422
    赞(0)
    未经允许不得转载:网硕互联帮助中心 » RAG别只依赖向量召回!BM25检索快速上手
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!