FlagEmbedding

一站式搞定文本嵌入与重排序,让RAG检索又快又准

FlagEmbedding 是一个专注于检索与检索增强大语言模型(RAG)的开源工具库,由北京智源人工智能研究院(BAAI)开发。它解决了文本嵌入(Embedding)和重排序(Rerank)在信息检索、语义相似度计算及RAG场景中的工程化难题,提供了一整套训练、微调、推理和部署的解决方案。核心能力包括:支持多种预训练嵌入模型(如BGE系列)和重排序模型,提供统一的API接口,便于快速集成;内置高效的训练脚本,支持大规模数据分布式训练和自定义损失函数;同时提供了模型压缩、量化等优化工具,降低推理成本。该库在学术界和工业界广泛应用,是构建高质量检索系统和RAG应用的基础设施之一。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 12185
维护状态 较活跃
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队FlagOpen
所属国家
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型embeddings,information-retrieval,llm,retrieval-augmented-generation,sentence-embeddings,text-semantic-similarity
GitHub 星标★ 12185
30天Star增速
HF 下载量
上线时间2023-08-02 00:00:00
最近更新2026-09-22 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数1

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 7 步

环境要求

  • 已安装 Python 与 pip 环境
  • 已安装 git 用于克隆仓库
  • 如需微调模型,需额外安装 finetune 附加依赖
  • 首次加载模型需要能访问 HuggingFace 下载权重

安装与启动步骤

  1. 1克隆代码仓库

    从 GitHub 拉取 FlagEmbedding 源码,后续的安装与示例都在这个目录里进行。

    git clone https://github.com/FlagOpen/FlagEmbedding.git
  2. 2进入项目目录

    切换到刚克隆下来的 FlagEmbedding 目录,pip 安装命令需要在该目录下执行。

    cd FlagEmbedding
  3. 3安装基础依赖

    只做推理、不微调模型时,直接安装基础包即可,无需 finetune 相关依赖。

    pip install .
  4. 4安装微调依赖

    需要微调模型时,改用带 finetune 附加依赖的安装方式;README 中该命令默认被注释。

    pip install .[finetune]
  5. 5可编辑模式安装

    开发调试时可用 -e 可编辑安装,改源码立即生效;若要微调则加 .[finetune]。

    pip install -e .
  6. 6加载嵌入模型

    用 FlagAutoModel 加载 BGE 模型,首次运行会下载权重,GPU 上可开启 use_fp16 加速。

    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)
  7. 7编码并算相似度

    对两组句子做 encode 得到向量,再用矩阵内积计算相似度,确认模型工作正常。

    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)

关键配置

配置项必填说明示例
BAAI/bge-base-en-v1.5是from_finetuned 指定的要加载的 BGE 模型标识BAAI/bge-base-en-v1.5
query_instruction_for_retrieval否检索场景下加在查询前的指令前缀,用于提升检索效果Represent this sentence for searching relevant passages:
use_fp16否是否使用半精度推理,可降低显存占用、提升速度True

如何确认成功

示例代码运行后能正常打印出 embeddings_1 与 embeddings_2 的内积相似度矩阵,且过程中无报错。

常见问题

Q:只做推理,还需要装 finetune 依赖吗?

A:不需要。README 明确说明若不微调模型,直接 pip install . 安装基础包即可;只有微调时才安装 .[finetune]。

Q:安装命令要在哪个目录执行?

A:必须先 git clone 仓库并 cd FlagEmbedding 进入项目目录,再执行 pip install . 等命令。

Q:想边改代码边调试怎么办?

A:使用可编辑模式安装:pip install -e .(需要微调时用 pip install -e .[finetune]),修改源码后无需重新安装。

Q:想找更多推理、微调、评测示例去哪里?

A:README 指向 examples 目录:inference/embedder、inference/reranker、finetune/embedder、finetune/reranker 和 evaluation。

Q:不理解相关概念怎么办?

A:可查看仓库中的 Tutorials 教程目录,README 说明如仍缺少想要的主题可以向项目方反馈。

注意事项

  • README 未指定 Python 版本,请使用带 pip 的 Python 3 环境。
  • 首次加载 BAAI/bge-base-en-v1.5 会联网下载模型权重,需保证网络可达 HuggingFace。
  • query_instruction_for_retrieval 使用英文指令前缀,注意与模型语言匹配。

核心亮点

  • BGE系列模型在MTEB等榜单上表现领先,检索效果有保障
  • 提供完整的训练、微调、推理流程,从研究到部署无缝衔接
  • 支持多种主流嵌入模型和重排序模型,接口统一,切换成本低

不足之处

  • 文档偏学术化,新手入门门槛较高
  • 部分高级功能依赖特定硬件(如GPU),CPU推理性能一般

适用场景

  • 构建企业级知识库问答系统,提升检索准确率
  • 语义搜索、相似文本匹配等NLP应用开发
  • 学术研究,快速复现和对比最新嵌入模型效果

替代项目

sentence-transformers、text-embeddings-inference、Cohere Embed

项目介绍

FlagEmbedding 是开发框架领域的开源项目,由 FlagOpen 开发,2023 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(12,185)位列前 4%,在开发框架分类的 803 个项目里位列前 5%。

近 41 天,它的 GitHub 星标从 12,042 增加到 12,185,净增 143。

项目保持着较活跃的维护节奏,最近一次代码更新于 2026-09-22。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:构建企业级知识库问答系统,提升检索准确率。同类可对比的替代方案包括 sentence-transformers、text-embeddings-inference、Cohere Embed。

上一篇:PaddleNLP

下一篇:awesome-langchain

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146874 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166529 2026-08-09
pi 开源

一套 TypeScript 工具包,快速搭出能写代码的 AI agent

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

★ 108504 2026-09-12