项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 12304
使用教程
环境要求
- 已安装 Python 与 pip 环境
- 已安装 git 用于克隆仓库
- 如需微调模型,需额外安装 finetune 附加依赖
- 首次加载模型需要能访问 HuggingFace 下载权重
安装与启动步骤
-
1克隆代码仓库
从 GitHub 拉取 FlagEmbedding 源码,后续的安装与示例都在这个目录里进行。
git clone https://github.com/FlagOpen/FlagEmbedding.git -
2进入项目目录
切换到刚克隆下来的 FlagEmbedding 目录,pip 安装命令需要在该目录下执行。
cd FlagEmbedding -
3安装基础依赖
只做推理、不微调模型时,直接安装基础包即可,无需 finetune 相关依赖。
pip install . -
4安装微调依赖
需要微调模型时,改用带 finetune 附加依赖的安装方式;README 中该命令默认被注释。
pip install .[finetune] -
5可编辑模式安装
开发调试时可用 -e 可编辑安装,改源码立即生效;若要微调则加 .[finetune]。
pip install -e . -
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编码并算相似度
对两组句子做 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
同类项目推荐
quarkus-workshop-langchain4j
开源
用 Quarkus 快速上手 LangChain4j,从单轮到智能体编排
Quarkus LangChain4J Workshop that demonstrates both single AI service capabilities a···
agentenv-framework
开源
搭 RL/Agent 评测环境,像拼积木一样快
Creating realistic RL environments requires collaboration between researchers, engin···
ruby_llm-agents
开源
在 Rails 里声明式定义 AI Agent,自带用量与成本看板
A Rails agent framework for RubyLLM — define AI agents with prompts, schemas, cachi···
omni
开源
给AI编程代理的终端降噪,省token不丢信息
The one place for the skills, keys and memory of every agent you use. Formerly OMNI.
horizon
开源
把终端塞进无限画布,GPU 加速多任务并行,一眼掌控所有会话。
GPU-accelerated terminal board that puts all your sessions on an infinite canvas
react-agent-js
开源
用 TypeScript 快速搭出可调试的 ReAct 智能体
swift-ios-skills
开源
让 AI 写出更地道的 SwiftUI 代码,适配 iOS 26 新特性。
Agent Skills for iOS 26+, Swift 6.3, SwiftUI, and modern Apple frameworks
agency
开源
用极简代码快速搭建 AI 智能体系统
A fast and minimal framework for building agentic systems
any-agent
开源
一套代码跑遍多个 Agent 框架,还能直接对比评估
A single interface to use and evaluate different agent frameworks
