既要按意思找,也不能漏掉型号:BGE-M3 把两种检索放在一起
为什么值得关注
在语义相关与确切词项匹配之间提供可组合的检索结果。
适合谁:搭建中外文资料搜索或知识库的开发者
这次有哪些亮点
- 同时支持稠密、稀疏与多向量检索
- 可查看词项权重
- 支持多语及最长8192 tokens输入
使用前需要知道
不是完整知识库或聊天产品;不同检索模式需要相应索引与排序,长输入不等于任意全文都适合整篇塞入。
搜索产品资料时,有两类要求常常同时出现:用户换一种说法,也希望找到相关内容;用户写了确切型号,又不希望结果把它忽略。BGE-M3 的一个实用特点,是同一模型可以提供语义向量与词项权重,让两种检索有机会一起工作。
它是检索模型,不是打开就能上传文件聊天的知识库。对正在搭建资料搜索的开发者,值得看的是它交出的几种数据,以及这些数据怎样影响找回材料。
一段文字,为什么可以有两种表示
模型卡把常见检索方式解释得很清楚。稠密检索将一段文字映射成一个向量,用来比较整体语义;稀疏检索则保留词表中部分词项的权重,更接近关注哪些具体词出现并起作用。
官方示例以BGE-M3和BM25的定义为材料。两条问题分别询问这两个概念,得到的语义相似度矩阵中,各自与对应定义的分数更高。稀疏示例又展示了切分后的词项及权重,读者可以看见结果不只是一个看不懂的总向量。
以产品资料作教学情境,“耗电低的小主机”可能需要语义检索理解表达,而一串精确型号通常还需要词项匹配帮忙。这个情境解释混合检索的动机,并不是官方已经测过的一组中文商品搜索结果。
混合不是把两个结果简单贴在一起
模型提供不同表示后,系统还要决定如何建立索引、取回候选及合并分数。官方示例展示了稠密、稀疏和ColBERT多向量模式各自的评分,也给出了按权重组合分数的用法。
组合权重会改变排序。强调词项匹配,可能更容易保留型号;强调语义相近,可能找回措辞不同但相关的说明。具体任务需要什么,应由实际查询与相关文档来判断,而不是直接沿用演示里的某组数字。
多向量模式则进一步保留细粒度的向量互动,并不是另一个可以随意与普通单向量索引互换的文件格式。选用时,需要确认存储与检索组件支持相应模式,不能只下载一个权重就宣称三种搜索都已经接好。
长材料可以编码,搜索粒度仍要自己定
官方给出的BGE-M3规格是1024维、最长8192 tokens,覆盖100多种工作语言。tokens属于模型切分长度;长输入能力,也不意味着把一份长报告整体编码,就一定比按章节整理更好。
如果用户寻找的是报告中的一条结论,保留段落位置与标题仍然有用。检索找回后,读者需要打开对应原文,而不是只得到“这份报告可能相关”。项目仓库也建议把混合检索与后续重排结合起来,将初步找回与精细筛选分开。
BGE-M3采用MIT许可。它值得加入已有搜索链路的地方,是让语义和确切词项都能成为可观察的信号。先看一组真实问题分别漏了哪些材料,再决定启用哪种表示,才能判断多出来的这一层是否改善了读者找资料的过程。
以上为编辑整理,功能、许可与使用条件以官方说明为准。