
MARU is an open-source RAG (Retrieval-Augmented Generation) chatbot engine built for enterprise environments. The core principle behind MARU is effective integration with existing corporate data — the key to any successful enterprise RAG system.
To provide seamless user experiences and easy compatibility with enterprise infrastructure, MARU is designed to align with corporate document management and access systems. We open-sourced MARU to help developers who face similar real-world challenges in enterprise AI integration.
MARU includes all the essentials to build an enterprise-ready RAG chatbot. Once you connect the chatbot web UI, MARU operates through two main pipelines:
Handles document processing and embedding generation — core functionality included, fully customizable:
-
Document Upload & Management
- Users upload documents and folders through the web interface
- OS-like document system with automatic permission handling
- Integrates with existing corporate file structures
-
Customizable Processing Chain
- Loaders: Parse different file types (PDF, DOCX, etc.) — extend for proprietary formats
- Chunkers: Define document splitting strategies — optimize for your use case
- Embedders: Generate vector embeddings — connect to any embedding provider
- Processed documents become instantly available for RAG queries
Powers intelligent query processing and response generation — core functionality included, fully customizable:
-
Query Understanding
- Analyzes user intent and conversation context
- Automatically selects the most appropriate tools and workflows
-
Customizable Intelligence Layer
- RAG Retrieval: Searches relevant documents with permission-aware filtering
- Rerankers: Fine-tune search result ranking for improved accuracy
- Agents: Execute specialized tasks
- MCP (Model Context Protocol): Advanced contextual workflows
- LLMs: Generate responses using your preferred language model
- Authentication: Token-based system with corporate email verification
- Easy Setup: Run MARU with minimal configuration
- Extensibility: Customize any component while keeping the core stable
# Clone the repository
git clone https://github.com/your-username/MARU-Lang.git
cd MARU-Lang
# Install dependencies
pip install -e .
# Initialize MARU
maru installOnce MARU installed, navigate to the maru_app/ directory — everything here is fully customizable.
💡 All components come with example .yaml templates and sample implementations for easy customization.
/loaders— Document parsers for different file types/chunkers— Document chunking strategies/embedders— Embedding model configurations
/llms— LLM service connections/rerankers— Search result ranking configurations/agents— Agent logic and custom implementations/agents/mcps— MCP (Model Context Protocol) integrations
rag_config.yaml— End-to-end RAG workflow settingsbuild_selector.yaml— Component selection rules (auto-select agent/MCP)system_config.yaml— Global system settings (database, storage, services)
# start running MARU !
maru serveAccess MARU at http://localhost:8000
MARU can be connected to a web-based front-end for a full user experience. You can integrate any custom UI framework or use our reference implementation.
Explore MARU’s REST API endpoints in: /maru_lang/api/endpoints
You can customize these endpoints to integrate MARU seamlessly into your existing systems.
MARU was presented at 👉 Open Source Summit Korea 2025, Making RAG Chatbots Enterprise-Ready: Group Permissions and Pluggable Backends.
Distributed under the MIT License
We welcome contributions from the community! Feel free to:
- Open an issue for bugs or suggestions
- Submit a pull request for improvements