A production-ready, modular Retrieval-Augmented Generation (RAG) platform with Chain of Thought reasoning, multi-LLM support, and enterprise-grade features
🚀 Quick Start • 📚 Documentation • 🛠️ Development • ✨ Features • 🤝 Contributing
RAG Modulo is a production-ready Retrieval-Augmented Generation platform that provides enterprise-grade document processing, intelligent search, and AI-powered question answering with advanced Chain of Thought (CoT) reasoning. Built with modern technologies and designed for scalability, it supports multiple vector databases (Milvus, Elasticsearch, Pinecone, Weaviate, ChromaDB), LLM providers (WatsonX, OpenAI, Anthropic), and document formats including enhanced support via IBM Docling integration.
🧠 AI-Powered | 🔍 Advanced Search | 💬 Interactive UI | 🚀 Production Ready |
---|---|---|---|
Chain of Thought reasoning Automatic pipeline resolution Multi-LLM provider support Token tracking & monitoring |
Vector similarity search Hybrid search strategies Intelligent source attribution Auto-generated suggestions |
Modern React interface Real-time document upload Podcast generation Voice preview features |
Docker + GHCR images Multi-stage CI/CD Security scanning 947 automated tests |
- Modern UI: React 18 with Tailwind CSS and Carbon Design System principles
- Reusable Component Library: 8 accessible, type-safe components with consistent design patterns
- Enhanced Search: Interactive chat interface with Chain of Thought reasoning visualization
- Document Management: Real-time file upload with drag-and-drop support and validation
- Smart Display: Document source attribution with chunk-level page references
- Podcast Generation: AI-powered podcast creation with voice preview
- Question Suggestions: Intelligent query recommendations based on collection content
Component | Status | Progress |
---|---|---|
🏗️ Infrastructure | ✅ Production Ready | Docker + GHCR + Cloud Deployment |
🧪 Testing | ✅ Comprehensive | 947 tests (atomic, unit, integration, API) |
🚀 Core Services | ✅ Fully Operational | 26+ services with DI pattern |
📚 Documentation | ✅ Extensive | API docs, guides, deployment |
🔧 Development | ✅ Optimized | Containerless local dev workflow |
🔒 Security | ✅ Hardened | Multi-layer scanning (Trivy, Bandit, Gitleaks) |
Feature | Description | Benefit |
---|---|---|
🧠 Chain of Thought | Automatic question decomposition with step-by-step reasoning | 40%+ better answer quality on complex queries |
⚡ Auto Pipeline Resolution | Zero-config search - backend handles pipeline selection | Simplified API, reduced client complexity |
🎨 Reusable UI Components | 8 accessible, type-safe components (Button, Input, Modal, etc.) | 44% code reduction, consistent design system |
🔒 Security Hardening | Multi-layer scanning (Trivy, Bandit, Gitleaks, Semgrep) | Production-grade security posture |
🚀 Containerless Dev | Local development without containers | 10x faster iteration, instant hot-reload |
📄 IBM Docling | Enhanced document processing for complex formats | Better PDF/DOCX/XLSX handling |
🎙️ Podcast Generation | AI-powered podcast creation with voice preview | Interactive content from documents |
💡 Smart Suggestions | Auto-generated relevant questions | Improved user experience and discovery |
📦 GHCR Images | Pre-built production images | Faster deployments, consistent environments |
Tool | Version | Installation | Purpose |
---|---|---|---|
Python | 3.12+ | brew install [email protected] (macOS)sudo add-apt-repository ppa:deadsnakes/ppa && sudo apt update && sudo apt install python3.12 python3.12-venv (Ubuntu 22.04)apt install python3.12 (Ubuntu 24.04+) |
Backend runtime |
Poetry | Latest | make venv (auto-installs)or curl -sSL https://install.python-poetry.org | python3 - |
Python dependency management |
Node.js | 18+ | brew install node (macOS)nvm install 18 (Linux/macOS) |
Frontend development |
Docker | Latest | Docker Desktop | Infrastructure containers |
Docker Compose | V2 | Included with Docker Desktopapt install docker-compose-plugin (Linux) |
Service orchestration |
📋 Verify Installation: Run
make check-docker
to verify Docker requirements
Best for: Daily development, feature work, rapid iteration
🎯 Step-by-Step Setup
# 1. Clone repository
git clone https://github.com/manavgup/rag-modulo.git
cd rag-modulo
# 2. Set up environment variables
cp env.example .env
# Edit .env with your API keys (WatsonX, OpenAI, Anthropic)
# 3. Install all dependencies (one command!)
make local-dev-setup
# This creates Python venv + installs backend (Poetry) + frontend (npm)
# 4. Start infrastructure only (Postgres, Milvus, MinIO, MLFlow)
make local-dev-infra
# 5a. Option A: Start backend and frontend in separate terminals
# Terminal 1:
make local-dev-backend
# Terminal 2:
make local-dev-frontend
# 5b. Option B: Start everything in background (easier!)
make local-dev-all
🔍 What Gets Installed
Backend (Python/Poetry):
- FastAPI and dependencies
- LLM providers (WatsonX, OpenAI, Anthropic)
- Vector DB clients (Milvus, Elasticsearch, etc.)
- Testing frameworks (pytest, coverage)
- Code quality tools (ruff, mypy, bandit)
Frontend (npm):
- React 18 + Vite
- Tailwind CSS + Carbon Design
- TypeScript dependencies
- Testing libraries
Infrastructure (Docker):
- PostgreSQL (metadata)
- Milvus (vector storage)
- MinIO (object storage)
- MLFlow (model tracking)
Access Points:
- 🌐 Frontend: http://localhost:3000
- 🔧 Backend API: http://localhost:8000/docs (Swagger UI)
- 📊 MLFlow: http://localhost:5001
- 💾 MinIO Console: http://localhost:9001
Benefits:
- ⚡ Instant reload - Python/React changes reflected immediately (no container rebuilds)
- 🐛 Native debugging - Use PyCharm, VS Code debugger with breakpoints
- 📦 Local caching - Poetry/npm caches work natively for faster dependency installs
- 🔥 Fastest iteration - Pre-commit hooks optimized (fast on commit, comprehensive on push)
When to use:
- ✅ Daily development work
- ✅ Feature development and bug fixes
- ✅ Rapid iteration and testing
- ✅ Debugging with breakpoints
Best for: Production-like testing, deployment validation
# Clone repository
git clone https://github.com/manavgup/rag-modulo.git
cd rag-modulo
# Set up environment
cp env.example .env
# Edit .env with your API keys
# Start with pre-built images from GHCR
make run-ghcr
# OR build and run locally
make build-all-local
docker compose up -d
When to use:
- ✅ Testing production configurations
- ✅ Validating Docker builds
- ✅ Deployment rehearsal
- ✅ Performance benchmarking
Best for: Quick experimentation, onboarding, cloud development
- Go to repository → "Code" → "Codespaces"
- Click "Create codespace" on your branch
- Start coding in browser-based VS Code
- Run:
make venv && make run-infra
When to use:
- ✅ No local setup required
- ✅ Consistent development environment
- ✅ Work from any device
- ✅ Team onboarding
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
Philosophy: Develop locally without containers for maximum speed, use containers only for infrastructure and production.
💻 Daily Development Routine
# ============================================================
# ONE-TIME SETUP (First Day Only)
# ============================================================
make local-dev-setup # Creates venv + installs all dependencies
# ============================================================
# DAILY ROUTINE (Every Day)
# ============================================================
# Option A: Manual Start (Recommended for debugging)
# ---------------------------------------------------
make local-dev-infra # Start infrastructure
# Terminal 1: Backend
make local-dev-backend # Auto-reload enabled
# Terminal 2: Frontend
make local-dev-frontend # Hot Module Replacement (HMR)
# Option B: Background Start (Faster)
# ---------------------------------------------------
make local-dev-all # Everything runs in background
make local-dev-status # Check what's running
# ============================================================
# DEVELOPMENT CYCLE
# ============================================================
# 1. Make code changes in your editor
# 2. See changes instantly (auto-reload for both backend/frontend)
# 3. Test via http://localhost:3000
# 4. Run quality checks before commit
make quick-check
# ============================================================
# END OF DAY
# ============================================================
make local-dev-stop # Stop all services
⚡ One-Command Quick Start
For the impatient developer:
# First time ever
make local-dev-setup && make local-dev-all
# Every day after
make local-dev-all
Done! Services running at:
- Frontend: http://localhost:3000
- Backend: http://localhost:8000
- MLFlow: http://localhost:5001
Command | What It Does | When to Use |
---|---|---|
make venv |
Creates Python virtual environment (auto-installs Poetry if missing) | First time setup or after clean |
make local-dev-setup |
Installs ALL dependencies (backend + frontend) | First time setup or dependency updates |
make local-dev-infra |
Starts infrastructure only (Postgres, Milvus, MinIO, MLFlow) | Every day before development |
make local-dev-all |
Starts full stack in background | Quick startup, background development |
make local-dev-status |
Shows what's running (infrastructure + backend + frontend) | Verify services are up |
make local-dev-stop |
Stops ALL services (infra + backend + frontend) | End of day cleanup |
make quick-check |
Fast lint + format validation | Before every commit |
🏃 Fast Testing (No Containers)
# Atomic tests (fastest - no DB, no coverage)
make test-atomic
# Unit tests (mocked dependencies)
make test-unit-fast
# All local tests
make test-atomic && make test-unit-fast
🔗 Integration Testing (Requires Infrastructure)
# Ensure infrastructure is running
make local-dev-infra
# Run integration tests
make test-integration
# Full test suite
make test-all # atomic + unit + integration
🎨 Code Quality Checks
make quick-check # Fast: format + lint (use before commit)
make lint # Full linting (ruff + mypy)
make format # Auto-fix formatting issues
make security-check # Security scans (bandit + safety)
make coverage # Generate coverage report (60% threshold)
🏭 Production Deployment
Only for production-like testing or deployment validation:
# Build production images locally
make build-all
# Start production environment
make prod-start
# Check status
make prod-status
# View logs
make prod-logs
# Stop production
make prod-stop
📦 Pre-built Images (Fastest)
Use pre-built images from GitHub Container Registry:
# Pull latest images and start
docker compose -f docker-compose.production.yml pull
make prod-start
Available images:
ghcr.io/manavgup/rag_modulo/backend:latest
ghcr.io/manavgup/rag_modulo/frontend:latest
- Chain of Thought Reasoning: Automatic question decomposition with step-by-step reasoning, iterative context building, and transparent reasoning visualization
- Automatic Pipeline Resolution: Zero-config search experience - backend automatically selects and creates pipelines based on user context
- Token Tracking & Monitoring: Real-time usage tracking across all LLM interactions with detailed breakdowns
- Multi-LLM Support: Seamless switching between WatsonX, OpenAI, and Anthropic with provider-specific optimizations
- IBM Docling Integration: Enhanced document processing for complex formats (PDF, DOCX, XLSX)
- Question Suggestions: AI-generated relevant questions based on document collection content
- Vector Databases: Pluggable support for Milvus (default), Elasticsearch, Pinecone, Weaviate, ChromaDB via common interface
- Hybrid Search: Combines semantic vector similarity with keyword search strategies
- Source Attribution: Granular document source tracking with chunk-level page references across reasoning steps
- Advanced Chunking: Hierarchical chunking strategies with configurable size and overlap
- Conversation History: Context-aware search with conversation memory for multi-turn interactions
- Service-Based Design: 26+ services with clean separation of concerns and dependency injection pattern
- Repository Pattern: Data access abstraction layer for improved testability and maintainability
- Asynchronous Operations: Async/await throughout for efficient concurrent request handling
- Production Deployment: Docker + GHCR images, multi-stage builds, cloud-ready (AWS, Azure, GCP, IBM Cloud)
- Modular Design: Pluggable components for vector DBs, LLM providers, embedding models
- Comprehensive Test Suite: 947 automated tests across all layers (atomic, unit, integration, API, E2E)
- Multi-Layer Testing Strategy:
- Atomic tests for schemas and data structures
- Unit tests for business logic and services
- Integration tests for service interactions
- API tests for endpoint validation
- Security Scanning: Multi-layer security with Trivy (containers), Bandit (Python), Gitleaks (secrets), Semgrep (SAST)
- Code Quality: Ruff linting, MyPy type checking, Pylint analysis, pre-commit hooks
- CI/CD Pipeline: Multi-stage GitHub Actions with test isolation, builds, and comprehensive integration testing
- 📚 Full Documentation - Comprehensive guides and API reference
- 🚀 Getting Started - Quick start guide
- 🛠️ Development Guide - Development workflow and best practices
- 🧪 Testing Guide - Testing strategies and execution
- 🚀 Deployment Guide - Production deployment instructions
- ⚙️ Configuration Guide - Environment setup and configuration
- 🔌 API Reference - Complete API documentation
- 🖥️ CLI Documentation - Command-line interface guide
- 🔐 Secret Management - Comprehensive guide for safe secret handling
RAG Modulo includes a powerful CLI for interacting with the system:
# After installation, use the CLI commands:
rag-cli --help # Main CLI help
rag-search # Search operations
rag-admin # Administrative tasks
# Example: Search a collection
rag-cli search query <collection-id> "your question here"
# Create a collection
rag-cli collection create --name "My Docs"
# Upload documents
rag-cli collection upload <collection-id> path/to/documents/
RAG Modulo supports multiple deployment strategies:
# Start production environment (all containers)
make prod-start
# Check status
make prod-status
# View logs
make prod-logs
# Stop production environment
make prod-stop
# Pull and run latest images from GitHub Container Registry
make run-ghcr
Available Images:
ghcr.io/manavgup/rag_modulo/backend:latest
ghcr.io/manavgup/rag_modulo/frontend:latest
# Build local images
make build-all
# Start services
make run-app
AWS Deployment
- ECS (Elastic Container Service): Use docker-compose.production.yml
- EKS (Kubernetes): Deploy with Kubernetes manifests
- EC2: Docker Compose or standalone containers
- Lambda: Serverless functions for specific services
Azure Deployment
- Azure Container Instances: Quick container deployment
- AKS (Azure Kubernetes Service): Production-grade orchestration
- Azure Container Apps: Serverless container hosting
Google Cloud Deployment
- Cloud Run: Fully managed serverless platform
- GKE (Google Kubernetes Engine): Kubernetes orchestration
- Compute Engine: VM-based deployment with Docker
IBM Cloud Deployment
- Code Engine: Serverless container platform
- IKS (IBM Kubernetes Service): Enterprise Kubernetes
- Red Hat OpenShift: Advanced container platform
# Apply Kubernetes manifests
kubectl apply -f deployment/k8s/
# Or deploy with Helm (if charts exist)
helm install rag-modulo ./charts/rag-modulo
RAG Modulo uses a comprehensive CI/CD pipeline with multiple stages:
Triggers: Push to main
, Pull Requests
Stages:
-
Lint and Unit Tests (No infrastructure)
- Ruff linting (120 char line length)
- MyPy type checking
- Unit tests with pytest
- Fast feedback (~5-10 minutes)
-
Build Docker Images
- Backend image build
- Frontend image build
- Push to GitHub Container Registry (GHCR)
- Tagged with:
latest
,sha-<commit>
, branch name
-
Integration Tests
- Full stack deployment
- PostgreSQL, Milvus, MLFlow, MinIO
- API tests, integration tests
- End-to-end validation
Status Badges:
[](https://github.com/manavgup/rag_modulo/actions)
Triggers: Push to main
, Pull Requests
Secret Detection (3-Layer Defense):
- Pre-commit hooks: detect-secrets with baseline (< 1 sec)
- Local testing: Gitleaks via
make pre-commit-run
(~1-2 sec) - CI/CD: Gitleaks + TruffleHog (~45 sec)
Scans:
- Gitleaks: Pattern-based secret scanning with custom rules (
.gitleaks.toml
) - TruffleHog: Entropy-based + verified secret detection
- Trivy: Container vulnerability scanning
- Bandit: Python security linting
- Safety: Python dependency vulnerabilities
- Semgrep: SAST code analysis
continue-on-error
). This ensures no secrets make their way to the repository.
Supported Secret Types:
- Cloud: AWS, Azure, GCP keys
- LLM: OpenAI, Anthropic, WatsonX, Gemini API keys
- Infrastructure: PostgreSQL, MinIO, MLFlow, JWT secrets
- Version Control: GitHub/GitLab tokens
- Generic: High-entropy strings, private keys
See: docs/development/secret-management.md
for comprehensive guide
Triggers: Push to main
, Pull Requests to docs/
Actions:
- Build MkDocs site
- Deploy to GitHub Pages
- API documentation generation
Test CI pipeline locally before pushing:
# Run same checks as CI
make ci-local
# Validate CI workflows
make validate-ci
# Security checks
make security-check
make scan-secrets
Optimized for developer velocity:
On Commit (fast, 5-10 sec):
- Ruff formatting
- Trailing whitespace
- YAML syntax
- File size limits
On Push (slow, 30-60 sec):
- MyPy type checking
- Pylint analysis
- Security scans
- Strangler pattern checks
In CI (comprehensive):
- All checks run regardless
- Ensures quality gates
GitHub Container Registry (GHCR):
- Automatic image builds on push
- Multi-architecture support (amd64, arm64)
- Image signing and verification
- Retention policies
Image Tags:
latest
: Latest main branch buildsha-<commit>
: Specific commit<branch>
: Branch-specific buildsv<version>
: Release tags
Category | Count | Description | Command |
---|---|---|---|
⚡ Atomic Tests | 100+ | Schema validation, data structures | pytest -m atomic |
🏃 Unit Tests | 83+ | Service logic, business rules | make test-unit-fast |
🔗 Integration Tests | 43+ | Service interactions, DB integration | make test-integration |
🔌 API Tests | 21+ | Endpoint validation, request/response | pytest -m api |
🌐 E2E Tests | 22+ | Full workflow scenarios | pytest -m e2e |
📊 Total | 947 | Complete test coverage | make test-all |
# Fast local testing (no containers, recommended for development)
make test-unit-fast
# Specific test categories
make test-atomic # Schema and data structure tests
make test-integration # Service integration tests (requires infrastructure)
make test-api # API endpoint tests
# Full test suite with coverage
make coverage
# Run specific test file
make test testfile=tests/unit/test_search_service.py
We welcome contributions! Please see our Contributing Guide for details.
- Service Layer Architecture - Follow service-based patterns
- Code Quality - Use type hints, comprehensive docstrings, PEP 8
- Testing - Write tests for all new features
- Documentation - Update docs for any changes
- 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
- Service-based architecture with 26+ services
- Comprehensive test infrastructure (947 tests)
- Multi-LLM provider support (WatsonX, OpenAI, Anthropic)
- Vector database abstraction layer
- CI/CD pipeline with security scanning
- Chain of Thought (CoT) reasoning system
- Automatic pipeline resolution
- Token tracking and monitoring
- IBM Docling integration
- Podcast generation with voice preview
- Question suggestion system
- Containerless local development workflow
- Production deployment with GHCR images
- Multi-stage Docker builds
- Security hardening (Trivy, Bandit, Gitleaks, Semgrep)
- Enhanced monitoring and observability
- Performance optimization and caching
- Authentication system improvements (OIDC)
- Multi-tenant support
- Advanced analytics and dashboards
- Batch processing capabilities
- API rate limiting and quotas
- Advanced caching strategies
- Multi-modal support (image, audio)
- Agentic AI workflows
- Real-time collaborative features
- Advanced reasoning strategies
- Federated learning support
Run these first to identify issues:
make check-docker # Verify Docker installation
make local-dev-status # Check what's running
make venv # Ensure Python environment is set up
docker compose -f docker-compose-infra.yml ps # Check infrastructure
🚨 Quick Fixes (Try These First)
Most Common Problems:
# Problem: "Command not found" errors
make venv # Creates Python venv (auto-installs Poetry)
source backend/.venv/bin/activate
# Problem: Services won't start
make local-dev-stop # Stop everything cleanly
make check-docker # Verify Docker requirements
make local-dev-infra # Restart infrastructure only
# Problem: Port conflicts
make local-dev-stop # Stops all services and containers
lsof -i :8000 && kill $(lsof -t -i:8000) # Kill backend on port 8000
lsof -i :3000 && kill $(lsof -t -i:3000) # Kill frontend on port 3000
# Problem: Weird behavior after updates
make clean-venv # Remove Python venv
make local-dev-setup # Fresh install
make clean-all # Nuclear option: clean everything
🐍 Python & Virtual Environment Issues
# Makefile auto-installs Poetry (recommended)
make venv
# OR install manually
curl -sSL https://install.python-poetry.org | python3 -
# Check Python version
python --version # Should be 3.12+
# macOS: Install Python 3.12
brew install [email protected]
# Ubuntu/Debian: Install Python 3.12
sudo apt update
sudo apt install python3.12 python3.12-venv
# Method 1: Use Makefile (recommended)
make clean-venv
make local-dev-setup
# Method 2: Manual Poetry setup
cd backend
poetry config virtualenvs.in-project true
poetry cache clear . --all
poetry install --with dev,test --sync
source .venv/bin/activate
# Ensure you're in Poetry venv
cd backend
source .venv/bin/activate
which python # Should show: backend/.venv/bin/python
which ruff # Should show: backend/.venv/bin/ruff
ruff --version # Should be 0.14.0+
# If wrong version, reinstall
poetry install --with dev,test --sync
# Verify PYTHONPATH and reinstall
cd backend
source .venv/bin/activate
poetry install --with dev,test --sync
python -c "import sys; print('\n'.join(sys.path))"
🐳 Docker & Container Issues
# Check if Docker is installed
docker --version
docker compose version
# If missing, install:
# macOS: brew install --cask docker
# Or download Docker Desktop: https://www.docker.com/products/docker-desktop
# Ubuntu/Debian
sudo apt update
sudo apt install docker-compose-plugin
# Verify
docker compose version
# Clean restart
make local-dev-stop
docker system prune -f
make local-dev-infra
# Check what failed
docker compose -f docker-compose-infra.yml ps
docker compose -f docker-compose-infra.yml logs
# Common fixes
docker volume prune -f # Clear old volumes
make clean-all # Nuclear option
# Find what's using ports
lsof -i :8000 # Backend
lsof -i :3000 # Frontend
lsof -i :5432 # PostgreSQL
lsof -i :19530 # Milvus
# Stop conflicting services
make local-dev-stop
# Kill specific port (if needed)
kill $(lsof -t -i:8000)
# Fix volume permissions
chmod -R 777 ./volumes
docker compose -f docker-compose-infra.yml down -v
make local-dev-infra
🧪 Testing Issues
# Ensure venv is activated
source backend/.venv/bin/activate
# Install test dependencies
cd backend
poetry install --with test --sync
# Run specific test with verbose output
pytest tests/unit/test_example.py -vv -s
# Ensure infrastructure is running
make local-dev-infra
make local-dev-status
# Wait for services to be ready
sleep 10
# Run tests
make test-integration
# Check PYTHONPATH
cd backend
source .venv/bin/activate
pytest tests/ --collect-only # See what tests are collected
# If imports fail, reinstall
poetry install --with dev,test --sync
🔐 Authentication & API Issues
Development Mode (bypass authentication):
# Add to .env
SKIP_AUTH=true
DEVELOPMENT_MODE=true
ENABLE_MOCK_AUTH=true
# Restart backend
make local-dev-stop
make local-dev-backend
Production Mode (fix OIDC):
- Verify
.env
has correct OIDC settings - Check IBM Cloud credentials are valid
- Ensure redirect URLs match your setup
- Check logs:
tail -f /tmp/rag-backend.log
# Check backend logs
tail -f /tmp/rag-backend.log
# Restart backend with debug
cd backend
source .venv/bin/activate
LOG_LEVEL=DEBUG uvicorn main:app --reload --port 8000
📦 Frontend Issues
# Clear cache and retry
cd frontend
rm -rf node_modules package-lock.json
npm cache clean --force
npm install
# Check Node version
node --version # Should be 18+
# Update Node (macOS)
brew upgrade node
# Update Node (Linux - using nvm)
nvm install 18
nvm use 18
# Reinstall and start
cd frontend
rm -rf node_modules
npm install
npm run dev
# Clear build cache
cd frontend
rm -rf dist .vite
npm run dev
🔧 Performance Issues
# Check if infrastructure is running locally
make local-dev-status
# Monitor resource usage
docker stats
# Check logs for bottlenecks
tail -f /tmp/rag-backend.log | grep -i "slow\|timeout\|error"
# Restart services to clear memory
make local-dev-stop
docker system prune -f
make local-dev-infra
Resource | When to Use | Link |
---|---|---|
📚 Full Documentation | Comprehensive guides and API reference | docs site |
🐛 GitHub Issues | Report bugs or request features | issues |
💬 Discussions | Ask questions, share ideas | discussions |
📖 IMMEDIATE_FIX.md | Quick fixes for common development issues | See project root |
🔧 CLAUDE.md | Development best practices and architecture | See project root |
- Check service status:
make local-dev-status
- View logs:
tail -f /tmp/rag-backend.log
ormake logs
- Try clean restart:
make local-dev-stop && make clean && make local-dev-all
- Nuclear option:
make clean-all
(removes everything - be careful!) - Ask for help: Open an issue with:
- Error message
- Output of
make local-dev-status
- OS and Docker version
- Steps to reproduce
This project is licensed under the MIT License - see the LICENSE file for details.
- IBM Docling - Advanced document processing and understanding
- IBM WatsonX - Enterprise AI foundation models
- FastAPI - Modern, high-performance web framework
- React - Powerful UI library for building interactive interfaces
- Milvus - High-performance vector database
- Docker - Containerization and deployment platform
- All Contributors - Thank you for your contributions!