
<a href="https://huggingface.co/collections/BAAI/bge-66797a74476eb1f085c7446d">
<img alt="Build" src="https://img.shields.io/badge/BGE_series-🤗-yellow">
</a>
<a href="https://github.com/FlagOpen/FlagEmbedding">
<img alt="Build" src="https://img.shields.io/badge/Contribution-Welcome-blue">
</a>
<a href="https://github.com/FlagOpen/FlagEmbedding/blob/master/LICENSE">
<img alt="License" src="https://img.shields.io/badge/LICENSE-MIT-green">
</a>
<a href="https://huggingface.co/C-MTEB">
<img alt="Build" src="https://img.shields.io/badge/C_MTEB-🤗-yellow">
</a>
<a href="https://github.com/FlagOpen/FlagEmbedding/tree/master/research/baai_general_embedding">
<img alt="Build" src="https://img.shields.io/badge/FlagEmbedding-1.1-red">
</a>
BGE (BAAI General Embedding) 专注于检索增强llm领域,目前包括以下项目:


More
如果你不想微调模型,你可以直接安装包,不用finetune依赖:
pip install -U FlagEmbedding
如果你想微调模型,你可以用finetune依赖安装:
pip install -U FlagEmbedding[finetune]
克隆并安装FlagEmbedding:
git clone https://github.com/FlagOpen/FlagEmbedding.git
cd FlagEmbedding
# 如果你不想微调模型,你可以直接安装包,不用finetune依赖:
pip install .
# 如果你想微调模型,你可以用finetune依赖安装:
# pip install .[finetune]
在可编辑模式下安装:
# 如果你不想微调模型,你可以直接安装包,不用finetune依赖:
pip install -e .
# 如果你想微调模型,你可以用finetune依赖安装:
# pip install -e .[finetune]
首先,加载一个BGE向量模型:
from FlagEmbedding import FlagAutoModel
model = FlagAutoModel.from_finetuned('BAAI/bge-base-en-v1.5',
query_instruction_for_retrieval="Represent this sentence for searching relevant passages:",
use_fp16=True)
将语句作为模型输入,得到向量:
sentences_1 = ["I love NLP", "I love machine learning"]
sentences_2 = ["I love BGE", "I love text retrieval"]
embeddings_1 = model.encode(sentences_1)
embeddings_2 = model.encode(sentences_2)
取得向量后,通过内积计算相似度:
similarity = embeddings_1 @ embeddings_2.T
print(similarity)
关于更多细节,可以参考embedder推理, reranker推理, embedder微调, reranker微调, 评估, 研究.
我们将持续维护BGE及FlagEmbedding社区,有任何想法建议都欢迎告诉我们!
近期会持续更新教学中的内容,希望为文本检索以及RAG打造出完整且详细的教学,欢迎持续关注!
在未来将会更新以下内容:
教程规划
<img src="https://github.com/FlagOpen/FlagEmbedding/raw/v1.4.0/Tutorials/tutorial_map.png"/>
| Model | Language | Description | query instruction for retrieval |
|---|---|---|---|
| BAAI/bge-en-icl | English | 基于大型语言模型的向量模型,具有上下文学习能力,能够基于少量示例充分发挥模型的潜力。 | 根据给定的任务自由提供指示和少数示例。 |
| BAAI/bge-multilingual-gemma2 | Multilingual | 基于大型语言模型的多语言向量模型,在多种语言和任务上训练,适应多样化的下游场景。 | 根据给定的任务自由提供指示和少数示例。 |
| BAAI/bge-m3 | Multilingual | 多功能(向量检索,稀疏检索,多表征检索)、多语言、多粒度(最大长度8192) | |
| LM-Cocktail | English | 微调的Llama和BGE模型,可以用来复现LM-Cocktail论文的结果 | |
| BAAI/llm-embedder | English | 专为大语言模型各种检索增强任务设计的向量模型 | 详见README |
| BAAI/bge-reranker-v2-m3 | Multilingual | 一个轻量级的交叉编码器模型,具有强大的多语言能力,易于部署,具有快速的推理能力。 | |
| BAAI/bge-reranker-v2-gemma | Multilingual | 一个支持多语言的交叉编码器模型,在英文和多语言能力方面均表现出色。 | |
| BAAI/bge-reranker-v2-minicpm-layerwise | Multilingual | 一个支持多语言的交叉编码器模型,在英文和中文方面均表现良好,允许自由选择输出层,以便加速推理。 | |
| BAAI/bge-reranker-v2.5-gemma2-lightweight | Multilingual | 一个支持多语言的跨编码器模型,不仅在英文和中文上表现良好,还允许自由选择输出层、压缩比例和压缩层,从而便于加速推理。 | |
| BAAI/bge-reranker-large | Chinese and English | 交叉编码器模型,精度比向量模型更高但推理效率较低 | |
| BAAI/bge-reranker-base | Chinese and English | 交叉编码器模型,精度比向量模型更高但推理效率较低 | |
| BAAI/bge-large-en-v1.5 | English | 1.5版本,相似度分布更加合理 | Represent this sentence for searching relevant passages: |
| BAAI/bge-base-en-v1.5 | English | 1.5版本,相似度分布更加合理 | Represent this sentence for searching relevant passages: |
| BAAI/bge-small-en-v1.5 | English | 1.5版本,相似度分布更加合理 | Represent this sentence for searching relevant passages: |
| BAAI/bge-large-zh-v1.5 | Chinese | 1.5版本,相似度分布更加合理 | 为这个句子生成表示以用于检索相关文章: |
| BAAI/bge-base-zh-v1.5 | Chinese | 1.5版本,相似度分布更加合理 | 为这个句子生成表示以用于检索相关文章: |
| BAAI/bge-small-zh-v1.5 | Chinese | 1.5版本,相似度分布更加合理 | 为这个句子生成表示以用于检索相关文章: |
| BAAI/bge-large-en | English | 向量模型,将文本转换为向量 | Represent this sentence for searching relevant passages: |
| BAAI/bge-base-en | English | base-scale 向量模型 | `Represent this sentence for sea |
$ claude mcp add FlagEmbedding \
-- python -m otcore.mcp_server <graph>