Ultrarag
A Low-Code MCP Framework for Building Complex and Innovative RAG Pipelines
Last verified:
What is Ultrarag?
UltraRAG is the first lightweight Retrieval-Augmented Generation (RAG) development framework built on the Model Context Protocol (MCP) architecture, designed for research exploration and industrial prototyping. It standardizes core RAG components like Retriever and Generation into independent MCP Servers, enabling flexible extension through function-level Tool interfaces. Developers can orchestrate complex control structures including serial, loop, and conditional branching using only YAML configuration files, eliminating the need for extensive Python coding.
The framework provides an all-in-one RAG solution streamlining the journey from data governance and orchestration to full-scale system demonstration. It features a visual interactive WebUI that allows users to manage knowledge bases, build RAG workflows, and create system demonstrations without programming expertise. UltraRAG supports multimodal input including the VisRAG multimodal RAG solution, and provides end-to-end recipes from encoding and indexing corpora to deploying retrievers and LLMs.
UltraRAG is specifically built for researchers and developers working on RAG systems. It includes built-in support for popular RAG datasets, large corpora, and canonical baselines. The framework offers multidimensional, multi-stage robust evaluation using proprietary RAGEval methods, one-click synthesis and fine-tuning centered around KBAlign and RAG-DDR methods, and seamless migration of algorithmic logic to conversational demo interfaces.
Key features include low-code pipeline orchestration with native support for complex iterative RAG logic in dozens of lines, modular atomic servers based on MCP architecture for high reusability, unified evaluation and benchmark comparison with standardized evaluation processes, and rapid prototyping with one-click delivery of interactable conversational Web UI from Pipeline logic.
Ultrarag pricing
Pricing model: Freemium
UltraRAG is completely free and open-source under the Apache-2.0 license. The framework is publicly available on GitHub at github.com/OpenBMB/UltraRAG with no paid tiers or subscription plans. All features including the WebUI, multimodal RAG support, evaluation tools, and fine-tuning capabilities are available at no cost. Users only need to provide their own computational resources (GPU for CUDA) and may incur costs from third-party APIs if using external embedding or LLM backends like OpenAI services.
Ultrarag pros
- Low-code YAML configuration eliminates extensive Python coding
- Native support for serial, loop, and conditional branch control structures
- First MCP-based RAG framework with standardized component architecture
- Visual interactive WebUI for managing knowledge bases and workflows
- No-code programming support for users without programming experience
- One-click synthesis and fine-tuning with KBAlign and RAG-DDR methods
- Multimodal RAG solution VisRAG integration support
- Multidimensional multi-stage robust evaluation with RAGEval
- Atomic modular servers enable high reusability and easy extension
- One-click delivery converts Pipeline logic to conversational Web UI
- Built-in support for popular RAG datasets and canonical baselines
- End-to-end development from data construction to model fine-tuning
- Automated knowledge adaptation throughout entire workflow
- Seamless migration from algorithm logic to demo interface
- Apache-2.0 open source license with active maintenance
- Supports diverse model fine-tuning strategies for performance optimization
- Integrated model management and knowledge base management
Ultrarag cons
- Requires CUDA version 12.2 or above for deployment
- Requires Python version 3.10 or above
- Learning curve for YAML pipeline configuration syntax
- MCP architecture may be unfamiliar to traditional RAG developers
- Model downloads can be large and time-consuming
- Primarily focused on research and prototyping rather than production
- Documentation primarily in Chinese with limited English coverage
- Limited package publishing on PyPI for easy installation
Frequently asked questions about Ultrarag
What is UltraRAG and what does it do?
UltraRAG is the first lightweight RAG development framework based on the Model Context Protocol (MCP) architecture. It standardizes core RAG components into independent MCP Servers and enables developers to build complex RAG pipelines using only YAML configuration files. It provides end-to-end solutions from data construction, model fine-tuning, to inference evaluation, with a visual WebUI for users without programming experience.
How do I install and deploy UltraRAG?
UltraRAG can be deployed via Docker using 'docker-compose up --build -d' then visiting http://localhost:8843, or via Conda by creating an environment with Python 3.10, installing dependencies from requirements.txt, downloading models with python scripts/download_model.py, and running 'streamlit run ultrarag/webui/webui.py --server.fileWatcherType none'. CUDA 12.2+ and Python 3.10+ are required.
What is the MCP architecture in UltraRAG?
The Model Context Protocol (MCP) architecture standardizes RAG components like Retriever and Generation into independent MCP Servers. The MCP Client acts as a scheduling hub that parses Pipeline configurations and coordinates tool calls between Servers. This decouples functions into atomic servers that can be seamlessly integrated and extended through function-level Tool interfaces.
How do I create a RAG pipeline in UltraRAG?
Users write YAML configuration files defining the pipeline structure with servers (benchmark, retriever, prompt, generation, evaluation, custom) and pipeline steps. For example, a RAG pipeline includes steps like benchmark.get_data, retriever.retriever_init, retriever.retriever_search, and generation.generate. Compile with 'ultrarag build examples/RAG.yaml' and run with 'ultrarag run examples/sayhello.yaml'.
What multimodal capabilities does UltraRAG support?
UltraRAG supports multimodal input through VisRAG integration, which is UltraRAG's proprietary vision-based retrieval-augmented generation solution for multi-modality documents. This allows users to work with documents containing images, charts, and other visual content alongside text, all manageable through the WebUI without coding.
How does UltraRAG handle evaluation and benchmarking?
UltraRAG uses proprietary RAGEval methods for multidimensional, multi-stage robust evaluation focused on effective and key information. It includes built-in standardized evaluation processes with ready-to-use mainstream scientific benchmarks. The framework provides unified metric management and baseline integration for experiment reproducibility and comparison efficiency.
What fine-tuning methods does UltraRAG support?
UltraRAG supports one-click systematic data construction and retrieval centered around proprietary methods KBAlign (efficient self-adaptation on specific knowledge bases) and RAG-DDR (optimizing RAG using differentiable data rewards). It offers diverse model fine-tuning strategies for performance optimization, all accessible through the WebUI frontend.
Can I use UltraRAG without programming experience?
Yes, UltraRAG provides no-code programming WebUI support allowing users with no programming experience to easily operate the full link setup and optimization process. All features including multimodal RAG solution VisRAG, data construction, model training, effect evaluation, and inference experience can be quickly implemented directly through the web frontend.
What embedding and retrieval backends does UltraRAG support?
UltraRAG supports multiple embedding backends including sentence_transformers, OpenAI embeddings, and BM25. For retrieval backends it supports FAISS and Milvus vector databases. Users can configure embedding models like openbmb/MiniCPM-Embedding-Light, text-embedding-3-small, or qwen-embedding, and set top_k parameters for search results.
Who developed UltraRAG and what is the license?
UltraRAG was jointly proposed by THUNLP group from Tsinghua University, NEUIR group from Northeastern University, Modelbest.Inc, and the 9#AISoft team. The source code is licensed under Apache-2.0 license, making it completely free and open-source. The project has 693 stars on GitHub and is actively maintained with tutorials and updates.