OpenBMB/UltraRAG
A Low-Code MCP Framework for Building Complex and Innovative RAG Pipelines
UltraRAG – 面向检索增强生成的低代码框架
简介 – UltraRAG 是一个开源、基于 Python 的框架,只需几个 YAML 文件即可构建、调试和部署 RAG(检索增强生成)流水线。它遵循 Model Context Protocol (MCP),将每个核心组件(检索器、生成器、知识库管理器等)视为可由 MCP 客户端编排的独立 MCP 服务器。
重要性 – 传统的 RAG 堆栈需要大量粘合代码来连接向量存储、LLM 后端和自定义逻辑。UltraRAG 将这些部分抽象为可重用的即插即用服务器,并提供可视化 IDE,使基于画布的流水线构建器与底层 YAML 配置同步。这使得复杂的控制流(循环、条件)和快速原型设计对研究者和产品团队都变得易于使用。
核心亮点
| 功能 | 您获得的内容 |
|---|---|
| 低代码编排 | 用简短的 YAML 文件定义顺序、条件或循环的 RAG 工作流;无需 Python 样板代码。 |
| 模块化 MCP 服务器 | 每个功能(例如检索器、LLM、后处理器)作为独立服务器运行,可通过注册新的“工具”进行替换或扩展。 |
| 统一评估 | 内置基准测试套件和指标管理,让您运行标准 RAG 评估并可比地比较结果。 |
| 一键 UI | 安装后自动启动 Web UI(http://localhost:5050),提供画布编辑器、实时调试以及将流水线即时转换为交互式聊天演示。 |
| 多模态支持 | 最近版本增加了基于视觉的检索和其他多模态能力。 |
| Docker 和 uv 支持 | 通过 Docker 镜像(CPU/GPU)或快速 Python 包管理器 uv 快速启动,并提供可选的检索、生成等扩展。 |
快速开始(Python/uv)
# Install uv (if needed)
pip install uv==0.12.0
# Clone and enter repo
git clone https://github.com/OpenBMB/UltraRAG.git --depth 1 && cd UltraRAG
# Install core + all extras (GPU wheels included)
uv sync --all-extras # creates .venv and installs dependencies
source .venv/bin/activate
# Run a demo pipeline
ultrarag run examples/experiments/sayhello.yaml
您应该看到 Hello, UltraRAG v3! 以确认设置成功。同样的步骤在提供的 Docker 镜像(GPU 的 hdxin2002/ultrarag:latest、CPU 的 …-base-cpu)中也适用。
典型用例
- 研究 – 运行可重复的 RAG 实验,下载标准评估语料库,并可视化中间检索/生成结果。
- 产品原型 – 使用单个命令构建完整的聊天式演示,然后通过 UI 迭代提示或检索逻辑。
- 企业部署 – 编排本地或云托管的 MCP 服务器(例如 Milvus 向量数据库 + vLLM LLM),并为最终用户提供 Web UI。
- 多模态 RAG – 利用基于视觉的 RAG 扩展(VisRAG)处理富含图像的文档。
社区与资源
- 文档 – https://ultrarag.openbmb.cn (入门指南、数据集指南、调试技巧)
- 演示视频 – 新闻部分的 Bilibili 链接展示了逐步安装和 DeepResearch 流水线创建。
- 聊天群组 – 微信、飞书和 Discord 社区提供实时帮助。
- 贡献 – Fork → PR 工作流;贡献者通过动态图像徽章显示。
- 出版物 – 多篇 ICLR/ACL 论文(VisRAG、RAG-DDR、RAGEval、DeepNote)描述了该框架背后的研究,AgentCPM-Report 模型已在 Hugging Face 上发布。
TL;DR
UltraRAG 是一个轻量级、低代码框架,用于构建和评估检索增强生成流水线。它将每个组件抽象为 MCP 服务器,让您使用 YAML 脚本化复杂工作流,并附带可视化 IDE,可将流水线转换为随时可用的聊天应用程序——所有这些均可通过 uv 或 Docker 安装。
相关
- 项目
- 项目
- 项目
- 项目
- 项目