OpenBMB/UltraRAG
A Low-Code MCP Framework for Building Complex and Innovative RAG Pipelines
UltraRAG – A Low‑Code Framework for Retrieval‑Augmented Generation
What it is – UltraRAG is an open‑source, Python‑based framework that lets you build, debug, and deploy RAG (retrieval‑augmented generation) pipelines with only a few YAML files. It follows the Model Context Protocol (MCP), which treats each core component (retriever, generator, knowledge‑base manager, etc.) as an independent MCP server that can be orchestrated by an MCP client.
Why it matters – Traditional RAG stacks require a lot of glue code to connect vector stores, LLM back‑ends, and custom logic. UltraRAG abstracts those pieces into reusable, plug‑and‑play servers and provides a visual IDE that synchronises a canvas‑based pipeline builder with the underlying YAML configuration. This makes complex control flow (loops, conditionals) and rapid prototyping accessible to researchers and product teams alike.
Core Highlights
| Feature | What you get |
|---|---|
| Low‑code orchestration | Define sequential, conditional, or looping RAG workflows in a short YAML file; no Python boilerplate needed. |
| Modular MCP servers | Each function (e.g., a retriever, an LLM, a post‑processor) runs as an independent server that can be swapped or extended by registering a new “Tool”. |
| Unified evaluation | Built‑in benchmark suites and metric management let you run standard RAG evaluations and compare results reproducibly. |
| One‑click UI | A web UI (http://localhost:5050) automatically launches after installation, offering a canvas editor, live debugging, and instant conversion of pipelines into interactive chat demos. |
| Multi‑modal support | Recent releases add vision‑based retrieval and other multimodal capabilities. |
| Docker & uv support | Quick start via Docker images (CPU/GPU) or the fast Python package manager uv, with optional extras for retrieval, generation, etc. |
Quick Start (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
You should see Hello, UltraRAG v3! confirming a successful setup. The same steps work inside the provided Docker images (hdxin2002/ultrarag:latest for GPU, …-base-cpu for CPU).
Typical Use Cases
- Research – Run reproducible RAG experiments, download standard evaluation corpora, and visualise intermediate retrieval/generation results.
- Product prototyping – Build a complete chat‑style demo with a single command, then iterate on prompts or retrieval logic via the UI.
- Enterprise deployment – Orchestrate on‑premise or cloud‑hosted MCP servers (e.g., Milvus vector DB + vLLM LLM) and expose a web UI for end‑users.
- Multimodal RAG – Leverage the Vision‑based RAG extensions (VisRAG) to handle image‑rich documents.
Community & Resources
- Documentation – https://ultrarag.openbmb.cn (getting‑started, dataset guides, debugging tips)
- Demo videos – Bilibili links in the news section show step‑by‑step installation and DeepResearch pipeline creation.
- Chat groups – WeChat, Feishu, and Discord communities for real‑time help.
- Contributing – Fork → PR workflow; contributors are displayed via a dynamic image badge.
- Publications – Several ICLR/ACL papers (VisRAG, RAG‑DDR, RAGEval, DeepNote) describe the research behind the framework, and the AgentCPM‑Report model is released on Hugging Face.
TL;DR
UltraRAG is a lightweight, low‑code framework for building and evaluating Retrieval‑Augmented Generation pipelines. It abstracts each component as an MCP server, lets you script complex workflows with YAML, and ships a visual IDE that turns pipelines into ready‑to‑use chat applications—all installable via uv or Docker.
Related
- Project
- Project
- Project
- Project
- Project