1、简单介绍一些BGE

BGE(BAAI General Embedding)是由智源研究院(BAAI)开源的一系列通用文本向量化模型,目标是生成高质量的文本语义向量。它的主要用途包括语义检索、问答匹配、推荐系统等。BGE 模型基于 Transformer 架构(通常是 BERT 或 RoBERTa 的改进),通过有监督的对比学习和指令微调,使得向量更好地适配下游语义匹配任务。
支持的两类任务:

  1. 双塔模式(bi-encoder):生成向量表征,适合向量检索,效率高。
  2. 交叉编码模式(cross-encoder / reranker):输入 query + 文档拼接,模型直接预测语义相关性分数,精度更高,但推理速度较慢。

什么是双塔模式?
用 两个独立的神经网络(两座“塔”),分别对 查询(Query) 和 候选文档(Document) 编码成向量。这两个向量通过 相似度函数(如余弦相似度、点积)来衡量匹配度。

2、BGE是如何训练的,与传统的embedding模型有什么区别

BGE 的训练主要分为两个阶段:

对比学习(Contrastive Learning): 模型学习让语义相近的句子向量更接近,语义无关的句子更远离。

指令微调(Instruction Tuning): 给模型输入自然语言指令,比如“把这个句子转成向量”,让它学会在不同任务下保持一致的向量表示能力。

相比传统的 embedding 模型(如 Sentence-BERT),BGE 在大规模语料和更强的监督信号下训练,尤其强调跨任务的泛化能力。

BGE的应用场景

BGE 的核心能力是生成高质量语义向量,因此可以应用在:

向量检索(Vector Search): 比如搜索引擎、企业知识库。

问答匹配(QA Matching): 用户问题和候选答案做相似度匹配。

推荐系统: 根据用户行为和内容语义相似度做推荐。

跨模态任务: 结合其他模态 embedding(如图像 embedding),实现多模态检索。

BGE 相比 OpenAI 的 text-embedding-ada-002 或者 Cohere 的 embedding 模型,有什么优势?

BGE 的优势主要有:

开源免费: 方便国内外研究和落地,适合企业自建服务。

中文能力强: 相比很多海外 embedding 模型,BGE 在中文语义检索上的表现更优。

多模型规模: 提供了不同大小(small、base、large)的模型,可以根据业务性能需求选择。

指令微调: 让模型更适合多任务迁移,而不仅限于单一检索场景。

为什么需要重排序

多路召回通常包括关键词检索、向量检索、规则召回等,它们能保证高召回率,但排序质量不够高。
为了提升最终结果的相关性,需要一个 精排阶段。

BGE 重排序模型的优势是:

  1. 能够理解查询和候选文档之间的语义关系,而不仅仅依赖向量相似度或关键词匹配。
  2. 能结合上下文和语义细粒度差异,给出更准确的相关性分数。

在项目中,我的流程是:

多路召回 → 合并候选结果(大约几十条)。

输入到 BGE-reranker,输出相关性分数。

根据分数进行重排,结合业务规则(如热门度/时效性),形成最终结果。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐