A Professional, Enterprise-Ready Retrieval-Augmented Generation System with Modern UI
- Next.js + React + TypeScript - Modern, responsive enterprise UI
- Tailwind CSS - Beautiful, professional design system
- Real-time Chat Interface - WebSocket-powered conversations
- Multi-Domain Support - Specialized AI assistants for different areas
- Dashboard Analytics - Comprehensive system insights
- Mobile Responsive - Works perfectly on all devices
- Multi-Domain RAG Architecture - 5 specialized knowledge domains
- Vector Search - FAISS + Ollama embeddings
- Agent Workflows - Intent classification and specialized routing
- Real-time Processing - WebSocket chat with streaming responses
- Enterprise Security - JWT authentication, RBAC, audit logging
- One-Command Deployment -
make quick-start
- Microservices Architecture - Scalable, containerized services
- Load Balancing - Nginx reverse proxy with rate limiting
- Health Monitoring - Comprehensive health checks
- Development Mode - Hot reload for rapid development
The easiest way to get everything running with AI models:
# Clone and setup
git clone <repository-url>
cd rag_chat
# Complete setup with AI models
make setup
make up-full
# This will:
# 1. Start all services (database, API, frontend, Ollama)
# 2. Automatically initialize Ollama with lightweight AI models
# 3. Set up the complete RAG system ready for chat
π That's it! The system will be ready at:
- Frontend: http://localhost:3000
- API: http://localhost:8001
- Chat ready with AI models automatically loaded
If you prefer step-by-step control:
# 1. Setup environment
make setup
# 2. Start services
make up
# 3. Initialize AI models (optional)
make init-ollama
# 4. Check everything is working
make health
The system automatically:
- β Detects available Ollama models on startup
- β Downloads lightweight models if none exist
- β Selects the best available model from preferences
- β Falls back gracefully if models fail to load
# List available models
make ollama-models
# Pull specific models
make ollama-pull MODEL=llama3.2:1b # Lightweight (1GB)
make ollama-pull MODEL=llama3.1:8b # More capable (4.7GB)
# Check model status
curl http://localhost:11434/api/tags
llama3.2:1b
- Lightweight, fast responses (recommended)llama3.1:8b
- More capable but requires more RAMllama2:7b
- Fallback optioncodellama:7b
- Code-focused responses
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Frontend β β Nginx β β Core API β
β (Next.js) βββββΊβ (Proxy) βββββΊβ (FastAPI) β
β Port: 3000 β β Port: 80 β β Port: 8001 β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β
βββββββββββββββββββ β
β Bot Service β β
β (Slack/Teams) βββββββββββββββ€
β Port: 8012 β β
βββββββββββββββββββ β
β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β PostgreSQL β β Redis β β Ollama β
β (pgvector) βββββΊβ (Cache) βββββΊβ (LLM) β
β Port: 5432 β β Port: 6379 β β Port: 11434 β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
- Gradient Backgrounds - Professional visual hierarchy
- Card-Based Layout - Clean, organized information display
- Responsive Sidebar - Collapsible navigation with descriptions
- Interactive Elements - Hover effects, smooth transitions
- Status Indicators - Real-time system health monitoring
- System Metrics - Query volume, response times, active users
- Domain Management - Visual domain cards with status indicators
- Recent Activity - Real-time activity feed with icons
- Quick Actions - One-click access to key features
- Professional Chat UI - Modern message bubbles with avatars
- Domain Selection - Switch between specialized AI assistants
- Confidence Scoring - AI response confidence indicators
- Typing Indicators - Real-time conversation feedback
- Message History - Persistent conversation storage
# Quick start everything
make quick-start
# Check system status
make status
# View all logs
make logs
# Health check all services
make health
# Stop everything
make quick-stop
# Start in development mode
make dev
# Start only frontend stack
make frontend
# Start only backend services
make backend
# View specific service logs
make logs-frontend
make logs-api
make logs-ollama
# Restart all services
make restart
# Clean up everything
make clean
# Database backup
make backup
# Reset database
make db-reset
Service | Port | Description | Health Check |
---|---|---|---|
Frontend | 3000 | Next.js React UI | http://localhost:3000 |
Core API | 8001 | FastAPI Backend | http://localhost:8001/health |
Bot Service | 8012 | Slack/Teams Integration | http://localhost:8012/health |
Nginx | 80 | Load Balancer | http://localhost:80/health |
Service | Port | Description | Health Check |
---|---|---|---|
PostgreSQL | 5432 | Database with pgvector | pg_isready |
Redis | 6379 | Cache & Sessions | redis-cli ping |
Ollama | 11434 | Local LLM | http://localhost:11434/api/tags |
- β Professional Modern Frontend - Next.js + React + TypeScript
- β Multi-Domain RAG Architecture - 5 specialized domains
- β Real-time Chat Interface - WebSocket with confidence scoring
- β Vector Search & Embeddings - FAISS + Ollama integration
- β Agent Workflows - Intent classification and routing
- β File Processing - Upload, validation, and storage
- β Web Crawling - Configurable crawler with robots.txt
- β API Integrations - Jira, GitHub, Confluence connectors
- β Authentication & Security - JWT, RBAC, audit logging
- β Docker Deployment - Complete containerized setup
- β Bot Integration - Slack/Teams support
- π Voice Query Support - Speech-to-text integration
- π Multi-language Support - Internationalization
- π Mobile App - Progressive Web App enhancement
# Start development environment
make dev
# The frontend will be available with hot reload
# API will restart automatically on code changes
- Frontend: Edit files in
frontend/src/
- Backend: Edit files in
core-api/src/
- Services: Add new services in
services/
# Run all tests
make test
# Run linting
make lint
# Check all services
make health
# View system status
make status
# All services
make logs
# Specific service
make logs-frontend
make logs-api
- JWT Authentication - Secure token-based auth
- RBAC System - Role-based access control
- Rate Limiting - API protection via Nginx
- Security Headers - XSS, CSRF protection
- Audit Logging - Comprehensive activity tracking
- Data Encryption - At rest and in transit
- Professional UI - Modern, responsive design
- Scalable Architecture - Microservices with Docker
- Security First - Authentication, authorization, audit trails
- Production Ready - Health checks, monitoring, logging
- One-Command Setup -
make quick-start
- Hot Reload - Rapid development cycles
- Comprehensive Docs - Clear instructions and examples
- Modular Design - Easy to extend and customize
- Multi-Domain Intelligence - Specialized AI for different areas
- Real-time Processing - Instant responses with confidence scoring
- Advanced RAG - Vector search with hybrid ranking
- Agent Workflows - Intelligent query routing
For issues or questions:
- Check the logs:
make logs
- Verify health:
make health
- Review the documentation above
- Check Docker status:
make status
π― Ready to experience enterprise-grade AI? Run make quick-start
and visit http://localhost:3000!