Nếu bạn đã từng xây dựng một hệ thống RAG (Retrieval-Augmented Generation), bạn biết nỗi đau: debug cái pipeline phức tạp, không biết retriever trả về gì, prompt engineering mò mẫm, và khi có bug thì... ngồi đọc logs mỏi mắt.

Đội ngũ từ Tsinghua University (THUNLP), Northeastern University (NEUIR), OpenBMBAI9Stars vừa release UltraRAG v3 - framework đầu tiên xây dựng RAG pipelines dựa trên kiến trúc Model Context Protocol (MCP). Và nó đang có 3,400+ stars trên GitHub.

UltraRAG giải quyết vấn đề gì?

"Last Mile Problem" trong RAG

Vấn đề lớn nhất khi làm RAG không phải là retriever hay LLM - mà là logic inference không visible. Bạn không biết:

  • Retriever trả về documents nào?
  • Documents đó có relevant không?
  • Prompt được construct như thế nào?
  • Tại sao LLM trả lời sai?

UltraRAG giải quyết bằng cách visualize toàn bộ pipeline ở mức pixel-level. Bạn nhìn thấy data flow qua từng component.

Tính năng nổi bật

1. MCP Architecture

Đây là điểm khác biệt lớn nhất. UltraRAG standardize các components RAG (Retriever, Generator, Reranker...) thành independent MCP Servers. Lợi ích:

  • Reusable: Một retriever server có thể dùng cho nhiều pipelines
  • Decoupled: Debug từng component riêng biệt
  • Scalable: Scale từng server theo nhu cầu

2. YAML-Based Orchestration

Thay vì viết code Python phức tạp, bạn định nghĩa pipeline bằng YAML:

pipeline:
  - step: retrieve
    server: retriever_server
    params:
      top_k: 5
  - step: rerank
    server: reranker_server
    condition: "len(documents) > 0"
  - step: generate
    server: llm_server
    loop_until: "confidence > 0.8"

Hỗ trợ loops, conditionals, sequential execution - tất cả trong vài chục dòng config.

3. Visual IDE (Không phải chat interface)

UltraRAG UI không phải chatbot đơn giản. Nó là một RAG IDE với:

  • Pipeline Builder: Kéo thả components như Figma
  • Real-time Canvas ↔ Code Sync: Sửa trên canvas → code update, sửa code → canvas update
  • Parameter Tuning: Chỉnh prompt, top_k, temperature... ngay trên UI
  • AI Dev Assistant: GPT hỗ trợ design pipeline và viết prompts

4. One-Click Deployment

Xong pipeline? Một click để convert thành:

  • Interactive Web UI
  • REST API endpoint
  • Demo chatbot

Không cần viết frontend, không cần setup server riêng.

So sánh với các RAG frameworks khác

Feature UltraRAG LangChain LlamaIndex Haystack
MCP Native
Visual IDE
YAML Orchestration Partial
One-click Deploy
Loop/Conditional ✅ YAML Python Python Python
Research Benchmarks ✅ Built-in

Ai nên dùng UltraRAG?

Phù hợp cho:

  • Researchers cần reproducible RAG experiments
  • Teams muốn prototype nhanh mà không viết nhiều code
  • Developers cần debug RAG pipelines phức tạp
  • Những ai đang dùng MCP và muốn tích hợp RAG

Chưa phù hợp cho:

  • Production systems cần extreme customization
  • Những ai không quen với YAML-based config
  • Projects cần tích hợp sâu với existing Python codebase

Cài đặt

Docker (Recommended):

docker pull openbmb/ultrarag:latest
docker run -p 8080:8080 openbmb/ultrarag:latest

Source Code:

git clone https://github.com/OpenBMB/UltraRAG
cd UltraRAG
pip install -r requirements.txt
python main.py

Kết luận

UltraRAG v3 là một bước tiến thú vị trong việc democratize RAG development. Việc dựa trên MCP architecture cho thấy team đang nghĩ về long-term ecosystem chứ không chỉ là một tool standalone.

Với backing từ Tsinghua và OpenBMB (cùng team tạo ra MiniCPM), đây là project đáng để follow.

Link: github.com/OpenBMB/UltraRAG
Docs: ultrarag.openbmb.cn