How openbmb/ultrarag works
UltraRAG combines a visual RAG development environment with a YAML-driven MCP workflow runtime. The main user path is to construct or edit a pipeline, save and build it, then run it as a chat or demo session; the runtime orchestrates modular servers to retrieve knowledge and generate responses. The README also describes knowledge-base management, AI-assisted pipeline development, and standardized evaluation. The excerpts show UI pipeline APIs and portions of backend orchestration, but not all endpoint wiring or runtime implementations, so uncertain links are omitted.
Main entry points: client.py MCP Workflow Client · BuilderPage.tsx Pipeline Builder · app.py UI Backend · pipelines.ts Pipeline API
Components 21
UI and Chat
- Pipeline Builder
ui/frontend/src/pages/BuilderPage.tsx - Pipeline Canvas
ui/frontend/src/features/pipeline/components/PipelineCanvas.tsx - YAML Preview
ui/frontend/src/shared/lib/pipelinePreview.ts - Pipeline API
ui/frontend/src/shared/api/pipelines.ts - Chat UI
ui/frontend/src/pages/ChatPage.tsx - Authentication
ui/backend/auth.py - Chat Sessions
ui/backend/chat_store.py - UI Backend
ui/backend/app.py
Pipeline Orchestration
- Pipeline Manager
ui/backend/pipeline_manager.py - MCP Workflow Client
src/ultrarag/client.py - MCP Server Base
src/ultrarag/server.py
RAG Components
- Retrieval
servers/retriever/src/retriever.py - Corpus Processing
servers/corpus/src/corpus.py - Generation
servers/generation/src/generation.py - Reranking
servers/reranker/src/reranker.py - Prompts and Memory
servers/prompt/src/prompt.py - Memory Server
servers/memory/src/memory.py
Research Capabilities
- Evaluation
servers/evaluation/src/evaluation.py
Other components
- Developer / User
- Model Provider
- Search Index / Web
Connections 21
- Developer / User → Pipeline Builder: designs pipeline
- Developer / User → Chat UI: asks questions
- Pipeline Builder → Pipeline Canvas: edits flow
- Pipeline Builder → YAML Preview: previews YAML
- Pipeline Builder → Pipeline API: saves / builds
- Chat UI → Pipeline API: starts chat
- Pipeline API → UI Backend: HTTP requests
- UI Backend → Authentication: checks identity
- UI Backend → Chat Sessions: stores sessions
- UI Backend → Pipeline Manager: handles pipeline requests
- Pipeline Manager → MCP Workflow Client: runs session
- MCP Workflow Client → MCP Server Base: invokes MCP tools
- MCP Workflow Client → Retrieval: dispatches retrieval
- MCP Workflow Client → Corpus Processing: dispatches processing
- MCP Workflow Client → Generation: dispatches generation
- MCP Workflow Client → Reranking: dispatches reranking
- MCP Workflow Client → Prompts and Memory: dispatches prompt tools
- MCP Workflow Client → Memory Server: dispatches memory tools
- Retrieval → Search Index / Web: queries index or web
- Generation → Model Provider: requests completion
- Evaluation → Model Provider: evaluates outputs