FlagEmbedding

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 947 🐛 待处理 930 👀 关注 58
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 12304
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源项目,MIT许可证,完全免费,可自行部署使用。

项目预览

FlagEmbedding 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队FlagOpen
定价模式🏷️完全免费
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Python
技术栈/模型embeddings,information-retrieval,llm,retrieval-augmented-generation,sentence-embeddings,text-semantic-similarity
GitHub 星标★ 12304
上线时间2023-08-02 00:00:00
代码更新2026-10-27
仓库体积52.2 MB
本站数据更新2026-11-09
维护状态较活跃
收录时间2026-08-09
浏览次数2

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 12304

使用教程

难度:入门 约 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

上一篇:PaddleNLP

下一篇:awesome-langchain

同类项目推荐

quarkus-workshop-langchain4j 开源

用 Quarkus 快速上手 LangChain4j,从单轮到智能体编排

Quarkus LangChain4J Workshop that demonstrates both single AI service capabilities a···

★ 113 2026-08-09
agentenv-framework 开源

搭 RL/Agent 评测环境,像拼积木一样快

Creating realistic RL environments requires collaboration between researchers, engin···

★ 420 2026-10-13
ruby_llm-agents 开源

在 Rails 里声明式定义 AI Agent,自带用量与成本看板

A Rails agent framework for RubyLLM — define AI agents with prompts, schemas, cachi···

★ 138 2026-09-13
omni 开源

给AI编程代理的终端降噪,省token不丢信息

The one place for the skills, keys and memory of every agent you use. Formerly OMNI.

★ 377 2026-08-09
horizon 开源

把终端塞进无限画布,GPU 加速多任务并行,一眼掌控所有会话。

GPU-accelerated terminal board that puts all your sessions on an infinite canvas

★ 721 2026-08-09
swift-ios-skills 开源

让 AI 写出更地道的 SwiftUI 代码,适配 iOS 26 新特性。

Agent Skills for iOS 26+, Swift 6.3, SwiftUI, and modern Apple frameworks

★ 1281 2026-08-09
agency 开源

用极简代码快速搭建 AI 智能体系统

A fast and minimal framework for building agentic systems

★ 490 2026-08-09
any-agent 开源

一套代码跑遍多个 Agent 框架,还能直接对比评估

A single interface to use and evaluate different agent frameworks

★ 1257 2026-09-13