网易有道开源的中英双语向量嵌入与重排序模型,面向 RAG 检索场景。
NovaSearch-Team/RAG-Retrieval
面向 RAG 检索模型的端到端训练、推理与蒸馏代码,覆盖向量嵌入、ColBERT 和重排序模型。
- Star
- 1,137
- Fork
- 88
- 未关闭 Issue
- 3
- 最近提交
- 2个月前
这是什么?
RAG-Retrieval 是一套用于微调、推理和蒸馏检索增强生成(RAG)中检索组件的代码库。它支持对 BERT 类和 LLM 类的嵌入模型、ColBERT 类的延迟交互模型,以及 BERT 类和 LLM 类的重排序模型进行微调,兼容 bge、bce、gte 等常见开源模型系列。
推理方面,项目提供了轻量的 Python 包 rag-retrieval,用统一接口调用不同的重排序模型。长文档可以通过最大长度截断,或切分后取最高分两种方式处理,新增排序模型只需继承基类并实现相应方法。
项目还支持嵌入模型与重排序模型的蒸馏,可将较大的 LLM 类模型的能力迁移到较小模型上,例如 0.5B 参数的 LLM 或 BERT-base。训练可借助 DeepSpeed 和 FSDP 进行多卡训练,嵌入模型部分实现了 MRL 以支持降维向量输出。
核心功能
- 01支持对 BERT 类、LLM 类嵌入模型,ColBERT 模型和重排序模型进行微调。
- 02提供统一的 Python 包,用同一接口调用不同的重排序模型。
- 03长文档可选择最大长度截断,或切分后取最高分。
- 04可将较大的 LLM 类嵌入或重排序模型蒸馏到较小模型。
- 05实现 MRL 损失函数,支持降维的嵌入向量。
- 06支持借助 DeepSpeed 和 FSDP 进行多 GPU 训练。
适用场景
- 在特定领域的检索数据上微调开源嵌入模型。
- 通过统一的 Python 接口为 RAG 流程增加重排序环节。
- 将大型 LLM 重排序模型蒸馏为较小的 BERT 模型,以降低推理延迟。
- 在自有数据集上尝试 ColBERT 式的延迟交互检索。
快速上手
- 1
使用 Python 3.8 创建 conda 环境
conda create -n rag-retrieval python=3.8 && conda activate rag-retrieval - 2
安装用于重排序推理的 PyPI 包
pip install rag-retrieval
使用前须知
- 训练环境需要先手动安装与本地 CUDA 兼容的 PyTorch,然后再安装依赖。
- 训练代码按模型类型划分在不同子目录中,每种流程需要单独阅读对应说明。
收录于专题
标签
常见问题
- RAG-Retrieval 是什么?
- 面向 RAG 检索模型的端到端训练、推理与蒸馏代码,覆盖向量嵌入、ColBERT 和重排序模型。 RAG-Retrieval 是一套用于微调、推理和蒸馏检索增强生成(RAG)中检索组件的代码库。它支持对 BERT 类和 LLM 类的嵌入模型、ColBERT 类的延迟交互模型,以及 BERT 类和 LLM 类的重排序模型进行微调,兼容 bge、bce、gte 等常见开源模型系列。
- RAG-Retrieval 可以免费使用吗?用的什么许可证?
- RAG-Retrieval 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- RAG-Retrieval 还在维护吗?
- 半年内有更新。RAG-Retrieval 最近一次提交是在 2026年8月28日。
- RAG-Retrieval 适合用来做什么?
- 在特定领域的检索数据上微调开源嵌入模型。 通过统一的 Python 接口为 RAG 流程增加重排序环节。 将大型 LLM 重排序模型蒸馏为较小的 BERT 模型,以降低推理延迟。 在自有数据集上尝试 ColBERT 式的延迟交互检索。
- RAG-Retrieval 怎么安装和运行?
- 使用 Python 3.8 创建 conda 环境: conda create -n rag-retrieval python=3.8 && conda activate rag-retrieval 安装用于重排序推理的 PyPI 包: pip install rag-retrieval
- 在哪里获取 RAG-Retrieval?
- 源代码和安装说明在 GitHub 上:https://github.com/NovaSearch-Team/RAG-Retrieval
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1878129PythonApache-2.0更新于 2个月前
北京智源推出的检索工具包,提供 BGE 向量模型与重排序模型,并包含微调、评测和教程,用于搜索与 RAG。
1.2万+11 本周946PythonMIT更新于 11天前
一个无向量的 RAG 引擎,为长文档构建层级树索引,由 LLM 推理检索答案。
4万+221 本周3454PythonMIT更新于 18小时前
命令行与 Web 工作台,用 LLM 将原始文档编译为相互链接、自动维护的 Markdown 知识库。
4854+22 本周504PythonApache-2.0更新于 4个月前
一个类 PyTorch 风格的 Python 库,用于构建聊天机器人、RAG 和智能体等 LLM 应用,并支持自动提示词优化。
4224+1 本周389PythonMIT维护活跃更新于 6天前
面向 AI 智能体的本地记忆运行时,负责过滤写入、追踪事实变化并解释每条召回结果的依据。
69257PythonApache-2.0更新于 3个月前