
BGE 文本嵌入模型完全指南5 分钟搭好检索 RAG 完整流程【免费下载链接】FlagEmbeddingRetrieval and Retrieval-augmented LLMs项目地址: https://gitcode.com/GitHub_Trending/fl/FlagEmbeddingBGE 是智源研究院开源的通用文本嵌入模型把文本转成向量、按向量远近找相似文档的模型及配套工具箱专门解决 RAG 场景下检索不准、LLM 答非所问的核心问题。从一个场景说起为什么你的 RAG 答非所问先聊一个很常见的坑你用 LLM 搭了一个知识库问答回答却经常驴唇不对马嘴。问题往往不在 LLM而在它看到的上下文是检索环节给的——检索找错文档后面写得再好也白搭。BGE 的定位就是把把文本变成可比较的向量这一步做扎实嵌入模型Embedder负责快速从海量文档里捞回候选重排模型Reranker负责对 Top-K 候选精排打分。官方推荐的 RAG 检索管线正是混合检索 重排序整条链路的代码和脚本都在这个仓库里。5 分钟跑起来BGE 安装与首次嵌入教程三步照抄即可。第一步克隆仓库并安装只用推理装基础包即可需要微调再加[finetune]依赖git clone https://gitcode.com/GitHub_Trending/fl/FlagEmbedding cd FlagEmbedding pip install -e .第二步加载一个嵌入模型把句子变成向量用内积算相似度from FlagEmbedding import FlagAutoModel model FlagAutoModel.from_finetuned(BAAI/bge-base-en-v1.5, query_instruction_for_retrievalRepresent this sentence for searching relevant passages:, use_fp16True) q model.encode([I love NLP]) d model.encode([I love text retrieval, I love BGE]) print(q d.T) # 相似度矩阵第三步如果想给结果精排换FlagAutoReranker加载重排模型即可from FlagEmbedding import FlagAutoReranker reranker FlagAutoReranker.from_finetuned(BAAI/bge-reranker-large, use_fp16True) score reranker.compute_score( [What is a panda?, The giant panda is a bear endemic to China.], normalizeTrue) # 经 sigmoid 映射到 0~1模型按中英文、尺寸分了 small/base/large 三档中文模型对应bge-*-zh-v1.5查询时需要带上中文指令为这个句子生成表示以用于检索相关文章。完整选型表见 README 模型列表。能力拆解仓库里到底有什么 推理嵌入与重排各一套开箱接口推理代码统一收在 FlagEmbedding/inference/FlagAutoModel、FlagAutoReranker两个自动入口自动识别模型架构单卡多卡、encoder-only 与 decoder-only 都有现成示例嵌入示例、重排示例。适合直接嵌进生产服务的同学基本不用碰底层。 BGE-M3一个模型同时出三种检索信号M3 模型 支持 100 多种语言、最长 8192 token 输入一次编码同时返回稠密向量、稀疏词权重类似 BM25 的词级打分和 ColBERT 多向量三种检索模式加权融合。适合做多语言知识库或长文档检索——不用再单独维护一套稀疏检索器。 中文支持C-MTEB 基准与中文模型仓库贡献了 31 个测试集的 C-MTEB 中文嵌入基准配套bge-*-zh-v1.5系列模型。做中文检索、中文 RAG 时可以直接用这套模型加评测脚本不必自己搭数据。 评测主流基准一键复现examples/evaluation/ 下覆盖 MTEB、BEIR、MS MARCO、MIRACL、MKQA、MLDR 等基准的评测脚本改个模型路径就能跑方便你对比基线或验收自己微调后的模型。效果有多好官方基准数据一览不堆全部数据挑几个关键结论指标表现MTEB / C-MTEBbge-large-en/zh-v1.5发布时双双位列榜单第 1MIRACL多语言检索BGE-M3 在 12 个语言上刷新最佳成绩MKQA跨语言问答BGE-M3 在跨语言设置下取得SOTA输入长度BGE-M3 支持最长8192 token1024 维输出另外官方在 BM25 对比中也如实标注长文档场景下 BM25 仍是很强的基线这也是推荐混合检索 重排而不是只用稠密检索的原因。进阶玩法微调、二次开发与生态集成微调examples/finetune/ 提供嵌入与重排两套微调脚本支持 DeepSpeedds_stage0/1 配置BGE-M3 的 dense/sparse/colbert 统一微调也有示例scripts/hn_mine.py 可做难负例挖掘。二次开发抽象基类在 FlagEmbedding/abc/实现新的模型类后注册到 model_mapping 即可被 Auto 入口识别。教程Tutorials/ 从嵌入入门、Faiss 索引、MTEB 评测到从零实现 RAG 共 7 个模块中文用户可配合 Tutorials 说明 学习。研究扩展research/ 收录 LLaRA、BGE-VL 多模态嵌入、长上下文扩展Long_LLM等子项目想深挖某个方向可以直接进去看。谁适合用正在搭 RAG 系统的开发者不想自己调研嵌入模型选型和评测方法直接用 BGE 现成管线 官方推荐的重排方案。做多语言或长文档检索的团队BGE-M3 的 100 语言与 8192 token 覆盖是同类模型里少见的。有自有领域数据想定制模型的团队微调脚本、难负例挖掘、评测闭环齐全从数据准备到验收都有路可走。不太适合的场景如果你的检索需求只是关键词精确匹配如日志查错、ID 查询传统倒排索引就够用上嵌入模型反而增加成本。FlagEmbedding 采用 MIT 协议模型和代码均可商用。建议从 快速上手 notebook 跑通最小例子再按需深入 官方文档 与 examples/ 目录。【免费下载链接】FlagEmbeddingRetrieval and Retrieval-augmented LLMs项目地址: https://gitcode.com/GitHub_Trending/fl/FlagEmbedding创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考