Welcome to RAG Modulo¶
๐ฏ What is RAG Modulo?¶
RAG Modulo is a production-ready Retrieval-Augmented Generation platform that provides enterprise-grade document processing, intelligent search, and AI-powered question answering. Built with modern technologies and designed for scalability, it supports multiple vector databases, LLM providers, and document formats.
โจ Key Features¶
-
Advanced AI
Chain of Thought reasoning, token tracking, and multi-LLM provider support
-
Intelligent Search
Vector similarity search with hybrid strategies and source attribution
-
Interactive Frontend
Modern React interface with accordion displays for sources, reasoning, and token tracking
-
Flexible Architecture
Service-based design with repository pattern and dependency injection
-
Production Ready
Docker containerized with CI/CD pipeline and comprehensive testing
๐ Quick Start¶
Get up and running with RAG Modulo in minutes:
- Go to repository โ "Code" โ "Codespaces"
- Click "Create codespace" on your branch
- Start coding in browser-based VS Code!
๐ Access Points¶
| Service | URL | Description |
|---|---|---|
| Frontend | http://localhost:3000 | React web interface |
| Backend API | http://localhost:8000 | FastAPI backend |
| MLFlow | http://localhost:5001 | Experiment tracking |
| MinIO Console | http://localhost:9001 | Object storage |
๐ Current Status¶
| Component | Status | Progress |
|---|---|---|
| ๐๏ธ Infrastructure | โ Complete | 95% |
| ๐งช Testing | โ Excellent | 92% (847/918 tests) |
| ๐ Core Services | โ Operational | 90% |
| ๐ Documentation | โ Comprehensive | 90% |
| ๐ง Development | โ Streamlined | 85% |
๐๏ธ Architecture Overview¶
RAG Modulo follows a modern, service-based architecture with clear separation of concerns:
graph TB
subgraph "Frontend Layer"
UI[React Web UI]
CLI[Command Line Interface]
end
subgraph "API Layer"
API[FastAPI Backend]
AUTH[OIDC Authentication]
end
subgraph "Service Layer"
SEARCH[Search Service]
CONV[Conversation Service]
TOKEN[Token Tracking]
COT[Chain of Thought]
end
subgraph "Data Layer"
VDB[(Vector Database)]
PG[(PostgreSQL)]
MINIO[(MinIO Storage)]
end
subgraph "External Services"
LLM[LLM Providers]
EMB[Embedding Models]
end
UI --> API
CLI --> API
API --> SEARCH
API --> CONV
API --> TOKEN
API --> COT
SEARCH --> VDB
SEARCH --> PG
CONV --> LLM
TOKEN --> PG
COT --> LLM
API --> MINIO ๐งช Testing & Quality¶
Test Results¶
| Category | Tests | Status | Coverage |
|---|---|---|---|
| โก Atomic Tests | 100+ | โ Excellent | 9% |
| ๐ Unit Tests | 83 | โ Good | 5% |
| ๐ Integration Tests | 43 | โ Complete | N/A |
| ๐ E2E Tests | 22 | ๐ In Progress | N/A |
| ๐ API Tests | 21 | ๐ In Progress | 48% |
Quick Commands¶
# Run all tests
make test-all
# Quick quality checks
make quick-check
# Code quality
make lint
# Security scanning
make security-check
๐ ๏ธ Development Workflow¶
Development Commands¶
| Command | Description |
|---|---|
make dev-init | Initialize development environment |
make dev-build | Build local development images |
make dev-up | Start development environment |
make dev-restart | Rebuild and restart with latest changes |
make dev-down | Stop development environment |
make dev-status | Show development environment status |
make dev-validate | Validate development environment health |
Benefits¶
- โ Local builds by default - No more remote image confusion
- โ Automatic environment setup - Development variables configured
- โ Fast iteration - Changes visible immediately
- โ Health validation - Know when everything is working
- โ Consistent workflow - Same setup for all developers
๐ Documentation Structure¶
๐ Getting Started¶
- Quick Start - Get up and running quickly
- Installation - Detailed installation guide
- Configuration - Environment setup and configuration
- First Steps - Your first RAG query
๐ ๏ธ Development¶
- Development Workflow - Development best practices
- Environment Setup - Local development setup
- GitHub Codespaces - Cloud development
- Contributing - How to contribute
๐งช Testing¶
- Test Strategy - Testing approach and philosophy
- Running Tests - How to run tests
- Test Categories - Understanding test types
๐ Deployment¶
- Deployment Guide - Complete deployment guide
- IBM Cloud Code Engine - Recommended cloud deployment
- Production Deployment - Production setup
- Cloud Deployment - Cloud deployment options
- Kubernetes - K8s deployment
- Monitoring - Production monitoring
๐ฅ๏ธ CLI¶
- CLI Overview - Command-line interface
- Commands - Available commands
- Examples - CLI usage examples
๐ API Reference¶
- API Overview - API documentation
- Endpoints - Available endpoints
- Schemas - Data schemas
- Examples - API usage examples
๐๏ธ Architecture¶
- Architecture Overview - System architecture
- Components - System components
- Data Flow - Data flow diagrams
- Security - Security considerations
๐ง Features¶
- Features Overview - All features
- Chain of Thought - Reasoning capabilities
- Token Tracking - Usage monitoring
- Search & Retrieval - Search capabilities
๐ค Contributing¶
We welcome contributions! Please see our Contributing Guide for details.
Quick Contribution¶
- Fork and Clone the repository
- Create Feature Branch from main
- Make Changes following our guidelines
- Run Tests and ensure they pass
- Submit Pull Request with clear description
๐ Roadmap¶
โ Phase 1: Foundation (Completed)¶
- Comprehensive test infrastructure (847 tests passing)
- Core services operational
- Development workflow streamlined
- CI/CD pipeline automated
๐ Phase 2: Optimization (Current)¶
- Fix remaining 71 test failures
- Performance optimization
- Code quality enhancement
- Documentation improvements
๐ Phase 3: Production (Next)¶
- Production deployment guides
- Monitoring and observability
- Security hardening
- Performance tuning
๐ฎ Phase 4: Advanced Features (Future)¶
- Agentic AI enhancement
- Advanced reasoning capabilities
- Multi-modal support
- Enterprise features
๐ Need Help?¶
Getting Support¶
- ๐ Documentation: Check our comprehensive guides
- ๐ Issues: Report bugs
- ๐ฌ Discussions: Ask questions
- ๐ง Troubleshooting: Common issues
๐ License¶
This project is licensed under the MIT License - see the LICENSE file for details.