
⚡️BGE:面向搜索与RAG的一站式检索工具包

最新动态 |
安装 |
快速开始 |
社区 |
研究项目 |
模型列表 |
贡献者 |
引用 |
许可证
English | 中文
最新动态
更多
- 2024年6月7日:发布新的基准测试 [MLVU](https://github.com/JUNJIE99/MLVU),这是第一个专门为长视频理解设计的综合性基准测试。MLVU具有广泛的视频时长范围、多样化的视频来源集合以及一套专为长视频理解定制的评估任务。:fire:
- 2024年5月21日:与Jina AI、Zilliz、HuggingFace等合作伙伴共同发布新的基准测试 [AIR-Bench](https://github.com/AIR-Bench/AIR-Bench)。AIR-Bench专注于神经信息检索(Neural IR)和RAG的公平分布外评估。它生成针对不同领域和语言的合成数据进行基准测试。它是动态的,并将定期更新。[排行榜](https://huggingface.co/spaces/AIR-Bench/leaderboard) :fire:
- 2024年4月30日:发布 [Llama-3-8B-Instruct-80K-QLoRA](https://huggingface.co/namespace-Pt/Llama-3-8B-Instruct-80K-QLoRA),通过在一些合成的长上下文数据上进行QLoRA训练,将Llama-3-8B-Instruct的上下文长度从8K扩展到80K。该模型在各种长上下文基准测试中取得了显著性能。[代码](https://github.com/FlagOpen/FlagEmbedding/tree/master/research/Long_LLM/longllm_qlora) :fire:
- 2024年3月18日:发布新的[重排序器](https://github.com/FlagOpen/FlagEmbedding/tree/master/research/llm_reranker),基于强大的M3和LLM(GEMMA和MiniCPM,实际上并不那么大 :smiley:)骨干构建,支持多语言处理和更大的输入,在BEIR、C-MTEB/Retrieval、MIRACL、LlamaIndex评估等排名性能上实现了巨大提升 :fire:
- 2024年3月18日:发布 [Visualized-BGE](https://github.com/FlagOpen/FlagEmbedding/tree/master/research/visual_bge),为BGE赋予视觉能力。Visualized-BGE可用于生成混合图像-文本数据的嵌入。:fire:
- 2024年1月30日:发布 **BGE-M3**,BGE模型系列的新成员!M3代表**多**语言性(100+种语言)、**多**粒度(输入长度高达8192个令牌)、**多**功能性(稠密检索、词法检索、多向量/ColBERT检索的统一)。它是第一个支持所有三种检索方法的嵌入模型,在多语言(MIRACL)和跨语言(MKQA)基准测试上达到了新的SOTA。[技术报告](https://arxiv.org/pdf/2402.03216.pdf) 和 [代码](https://github.com/FlagOpen/FlagEmbedding/tree/master/research/BGE_M3)。:fire:
- 2024年1月9日:发布 [Activation-Beacon](https://github.com/FlagOpen/FlagEmbedding/tree/master/research/Long_LLM/activation_beacon),一种有效、高效、兼容且低成本(训练)的扩展LLM上下文长度的方法。[技术报告](https://arxiv.org/abs/2401.03462)
- 2023年12月24日:发布 **LLaRA**,一个基于LLaMA-7B的稠密检索器,在MS MARCO和BEIR上达到了最先进的性能。模型和代码将开源。请保持关注。[技术报告](https://arxiv.org/abs/2312.15503) 和 [代码](https://github.com/FlagOpen/FlagEmbedding/tree/master/research/LLARA)
- 2023年11月23日:发布 [LM-Cocktail](https://github.com/FlagOpen/FlagEmbedding/tree/master/research/LM_Cocktail),一种通过合并多个语言模型来在微调期间保持通用能力的方法。[技术报告](https://arxiv.org/abs/2311.13534)
- 2023年10月12日:发布 [LLM-Embedder](https://github.com/FlagOpen/FlagEmbedding/tree/master/research/llm_embedder),一个统一的嵌入模型,以支持LLMs多样化的检索增强需求。[技术报告](https://arxiv.org/pdf/2310.07554.pdf)
- 2023年9月15日:BGE的[技术报告](https://arxiv.org/pdf/2309.07597.pdf)已发布
- 2023年9月15日:BGE的[大规模训练数据](https://data.baai.ac.cn/details/BAAI-MTP)已发布
- 2023年9月12日:新模型:
- **新的重排序器模型**:发布交叉编码器模型 `BAAI/bge-reranker-base` 和 `BAAI/bge-reranker-large`,它们比嵌入模型更强大。我们建议使用/微调它们来对嵌入模型返回的前k个文档进行重新排序。
- **更新嵌入模型**:发布 `bge-*-v1.5` 嵌入模型,以缓解相似度分布问题,并在无需指令的情况下增强其检索能力。
- 2023年9月7日:更新[微调代码](https://github.com/FlagOpen/FlagEmbedding/tree/master/research/baai_general_embedding):添加挖掘困难负样本的脚本,并支持在微调期间添加指令。
- 2023年8月9日:BGE模型已集成到 **Langchain** 中,您可以像[这样](#using-langchain)使用它;C-MTEB **排行榜** 已[可用](https://huggingface.co/spaces/mteb/leaderboard)。
- 2023年8月5日:发布基础规模和小规模模型,**在同尺寸模型中性能最佳 🤗**
- 2023年8月2日:发布 `bge-large-*`(BAAI General Embedding的简称)模型,**在MTEB和C-MTEB基准测试中排名第一!** :tada: :tada:
- 2023年8月1日:我们发布了[中文大规模文本嵌入基准测试](https://github.com/FlagOpen/FlagEmbedding/tree/master/research/C_MTEB) (**C-MTEB**),包含31个测试数据集。
BGE (BAAI General Embedding) 专注于检索增强的大语言模型,目前包含以下项目:

安装
使用 pip:
如果您不需要微调模型,可以安装不带微调依赖的包:
pip install -U FlagEmbedding
如果您需要微调模型,可以安装带微调依赖的包:
pip install -U FlagEmbedding[finetune]
从源码安装:
克隆仓库并安装
git clone https://github.com/FlagOpen/FlagEmbedding.git
cd FlagEmbedding
# 如果您不需要微调模型,可以安装不带微调依赖的包:
pip install .
# 如果您需要微调模型,安装带微调依赖的包:
# pip install .[finetune]
对于可编辑模式的开发安装:
# 如果您不需要微调模型,可以安装不带微调依赖的包:
pip install -e .
# 如果您需要微调模型,安装带微调依赖的包:
# 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)
更多详情,请参考嵌入器推理、重排序器推理、嵌入器微调、重排序器微调、评估。
如果您对任何相关概念不熟悉,请查看教程。如果教程中没有,请告诉我们。
关于BGE的更多有趣主题,请查看研究。
社区
我们正在积极维护BGE和FlagEmbedding的社区。如果您有任何建议或想法,请告诉我们!
目前我们正在更新教程,我们的目标是为文本检索和RAG的初学者创建一个全面且详细的教程。敬请关注!
以下内容将在未来几周内发布:
完整的教程路线图
模型列表
bge 是 BAAI general embedding 的简称。