An enterprise-grade RAG system for learning and experimentation - Built with modern AI architecture
π Read Current Status | View Changelog - Latest features and improvements
The Educational RAG Lab is a production-ready reference architecture for LLM deployments, designed for hands-on learning and customer demonstrations. It features:
Unique Value:
"This isn't just a RAG lab - it's a reference architecture for production LLM deployments, instrumented for Splunk from day one."
Perfect for:
Launch on GPU-enabled EC2 with automated setup:
cd aws/scripts
./setup-github-secret.sh # One-time security setup
./launch-g5-vllm.sh # Launch with vLLM + Ollama
cd aws/scripts
./setup-github-secret.sh # One-time security setup
./aws-launch-rag-lab.sh # Launch with Ollama
Features:
π AWS README | GPU Compatibility Guide | Security Best Practices
# 1. Clone the repo
git clone https://github.com/sandbreak80/rag_lab.git
cd rag_lab/scripts
# 2. Run the clean deployment script
./clean-deploy.sh
This will:
Total time: 15-30 minutes (depending on model downloads)
cd rag_lab/scripts
./build-and-start.sh
No npm, Node.js, Python, or other host dependencies needed. Everything runs in Docker.
Time: ~5-10 minutes (first run with model downloads)
cd scripts
./stop.sh
# Remove all data and rebuild
./build-and-start.sh --clean
# View logs
docker compose logs -f
# Restart a service
docker compose restart frontend
# Check service status
docker compose ps
| Preset | Latency | Precision | Recall | Use Case |
|---|---|---|---|---|
| Minimal | 40ms | 65% | 55% | Baseline, speed tests |
| Fast | 60ms | 70% | 60% | High QPS, autocomplete |
| Balanced β | 120ms | 87% | 82% | Recommended for learning |
| Quality | 250ms | 92% | 88% | Research, complex queries |
| Maximum | 2500ms | 96% | 92% | Best possible quality |
| Production π | 300ms | 94% | 90% | Deploy this! |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β WEB UI (Port 5555) β
β Settings Panel | Metrics Dashboard | Comparison | Lab Guide β
ββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββΌβββββββββββββββββββ
β β β
βββββββΌββββββ βββββββΌβββββββ βββββββΌββββββ
β Search β β Ingest β β Vector β
β Service β β Service β β DB β
β (8002) β β (8001) β β (8005) β
βββββββ¬ββββββ ββββββββββββββ βββββββββββββ
β
βββββββ΄ββββββββββββββ
β β
βββββΌβββββ ββββββββΌβββββββ ββββββββββΌβββββββββ
βKnowledgeβ β Reranker β β Web Search β
β Graph β β (8008) β β (8009 + 8080) β
β (8007) β βββββββββββββββ βββββββββββββββββββ
βββββββββββ β
βββββββββΌβββββββββ
β Ollama (LLM) β
β (11434) β
ββββββββββββββββββ
10 Microservices working together to provide a complete RAG experience.
π Full Architecture Documentation: docs/ARCHITECTURE.md
Built into the UI (π button) with 6 progressive sections:
10 comprehensive exercises with grading rubric:
π Student Exercises: docs/lab/STUDENT_EXERCISES.md
Complete system documentation:
π Comprehensive Documentation: docs/COMPREHENSIVE_DOCUMENTATION.md
rag_lab/
βββ docs/ # Documentation
β βββ lab/ # Student learning materials
β β βββ QUICK_START.md # 5-minute setup
β β βββ LAB_GUIDE.md # Interactive guide
β β βββ STUDENT_EXERCISES.md # 10 exercises
β β βββ LAB_OBJECTIVES.md # Learning goals
β βββ development/ # Developer docs
β βββ deployment/ # Deployment guides
β βββ COMPREHENSIVE_DOCUMENTATION.md
βββ services/ # 10 microservices
β βββ search/ # Hybrid search orchestration
β βββ vector-db/ # ChromaDB wrapper
β βββ ingest/ # Document processing
β βββ knowledge-graph/ # Graph service
β βββ reranker/ # LLM re-ranking
β βββ web-search/ # SearXNG wrapper
β βββ ...
βββ src/ # Web UI
β βββ webapp.py # Flask server
β βββ templates/ # HTML templates
β βββ static/ # CSS, JavaScript
βββ config/ # Configuration
β βββ presets.json # 6 presets
β βββ searxng/ # SearXNG config
βββ tests/ # Integration tests
β βββ test_integration.py # 20+ tests (no mocks)
βββ docker-compose.test.yml # Orchestration
βββ README.md # This file
Run the integration test suite (no mocks, real services):
# Services must be running
docker-compose -f docker-compose.test.yml up -d
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install pytest requests
# Run tests
pytest tests/test_integration.py -v
20+ integration tests covering:
| Document | Description |
|---|---|
| Quick Start | Get running in 5 minutes |
| Lab Guide | Interactive learning guide |
| Student Exercises | 10 hands-on exercises |
| Comprehensive Docs | Complete technical reference |
| Architecture | System design |
| API Reference | All endpoints |
| Deployment | Production deployment |
| Context Recovery | Quick reference |
| Project Report | Final status |
We welcome contributions! Please see CONTRIBUTING.md for:
docker ps
docker logs rag-web-ui
curl http://localhost:11434/api/tags
Upload documents first via the UI (drag-and-drop).
Check SearXNG: curl http://localhost:8080/search?q=test&format=json
π Full Troubleshooting Guide: docs/COMPREHENSIVE_DOCUMENTATION.md#troubleshooting
MIT License - see LICENSE file for details.
TL;DR: Free to use, modify, and deploy. Including commercially.
Built with:
β Production Ready (v1.0.0)
Built with β€οΈ for education
Educational RAG Lab v1.0.0 - Interactive Learning Environment for RAG Systems
260 commits
32 commits
Python
53.3%
TypeScript
25.7%
Shell
10.1%
HTML
8.0%
CSS
2.1%
An enterprise-grade RAG system for learning and experimentation - Built with modern AI architecture
π Read Current Status | View Changelog - Latest features and improvements
The Educational RAG Lab is a production-ready reference architecture for LLM deployments, designed for hands-on learning and customer demonstrations. It features:
Unique Value:
"This isn't just a RAG lab - it's a reference architecture for production LLM deployments, instrumented for Splunk from day one."
Perfect for:
Launch on GPU-enabled EC2 with automated setup:
cd aws/scripts
./setup-github-secret.sh # One-time security setup
./launch-g5-vllm.sh # Launch with vLLM + Ollama
cd aws/scripts
./setup-github-secret.sh # One-time security setup
./aws-launch-rag-lab.sh # Launch with Ollama
Features:
π AWS README | GPU Compatibility Guide | Security Best Practices
# 1. Clone the repo
git clone https://github.com/sandbreak80/rag_lab.git
cd rag_lab/scripts
# 2. Run the clean deployment script
./clean-deploy.sh
This will:
Total time: 15-30 minutes (depending on model downloads)
cd rag_lab/scripts
./build-and-start.sh
No npm, Node.js, Python, or other host dependencies needed. Everything runs in Docker.
Time: ~5-10 minutes (first run with model downloads)
cd scripts
./stop.sh
# Remove all data and rebuild
./build-and-start.sh --clean
# View logs
docker compose logs -f
# Restart a service
docker compose restart frontend
# Check service status
docker compose ps
| Preset | Latency | Precision | Recall | Use Case |
|---|---|---|---|---|
| Minimal | 40ms | 65% | 55% | Baseline, speed tests |
| Fast | 60ms | 70% | 60% | High QPS, autocomplete |
| Balanced β | 120ms | 87% | 82% | Recommended for learning |
| Quality | 250ms | 92% | 88% | Research, complex queries |
| Maximum | 2500ms | 96% | 92% | Best possible quality |
| Production π | 300ms | 94% | 90% | Deploy this! |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β WEB UI (Port 5555) β
β Settings Panel | Metrics Dashboard | Comparison | Lab Guide β
ββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββΌβββββββββββββββββββ
β β β
βββββββΌββββββ βββββββΌβββββββ βββββββΌββββββ
β Search β β Ingest β β Vector β
β Service β β Service β β DB β
β (8002) β β (8001) β β (8005) β
βββββββ¬ββββββ ββββββββββββββ βββββββββββββ
β
βββββββ΄ββββββββββββββ
β β
βββββΌβββββ ββββββββΌβββββββ ββββββββββΌβββββββββ
βKnowledgeβ β Reranker β β Web Search β
β Graph β β (8008) β β (8009 + 8080) β
β (8007) β βββββββββββββββ βββββββββββββββββββ
βββββββββββ β
βββββββββΌβββββββββ
β Ollama (LLM) β
β (11434) β
ββββββββββββββββββ
10 Microservices working together to provide a complete RAG experience.
π Full Architecture Documentation: docs/ARCHITECTURE.md
Built into the UI (π button) with 6 progressive sections:
10 comprehensive exercises with grading rubric:
π Student Exercises: docs/lab/STUDENT_EXERCISES.md
Complete system documentation:
π Comprehensive Documentation: docs/COMPREHENSIVE_DOCUMENTATION.md
rag_lab/
βββ docs/ # Documentation
β βββ lab/ # Student learning materials
β β βββ QUICK_START.md # 5-minute setup
β β βββ LAB_GUIDE.md # Interactive guide
β β βββ STUDENT_EXERCISES.md # 10 exercises
β β βββ LAB_OBJECTIVES.md # Learning goals
β βββ development/ # Developer docs
β βββ deployment/ # Deployment guides
β βββ COMPREHENSIVE_DOCUMENTATION.md
βββ services/ # 10 microservices
β βββ search/ # Hybrid search orchestration
β βββ vector-db/ # ChromaDB wrapper
β βββ ingest/ # Document processing
β βββ knowledge-graph/ # Graph service
β βββ reranker/ # LLM re-ranking
β βββ web-search/ # SearXNG wrapper
β βββ ...
βββ src/ # Web UI
β βββ webapp.py # Flask server
β βββ templates/ # HTML templates
β βββ static/ # CSS, JavaScript
βββ config/ # Configuration
β βββ presets.json # 6 presets
β βββ searxng/ # SearXNG config
βββ tests/ # Integration tests
β βββ test_integration.py # 20+ tests (no mocks)
βββ docker-compose.test.yml # Orchestration
βββ README.md # This file
Run the integration test suite (no mocks, real services):
# Services must be running
docker-compose -f docker-compose.test.yml up -d
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install pytest requests
# Run tests
pytest tests/test_integration.py -v
20+ integration tests covering:
| Document | Description |
|---|---|
| Quick Start | Get running in 5 minutes |
| Lab Guide | Interactive learning guide |
| Student Exercises | 10 hands-on exercises |
| Comprehensive Docs | Complete technical reference |
| Architecture | System design |
| API Reference | All endpoints |
| Deployment | Production deployment |
| Context Recovery | Quick reference |
| Project Report | Final status |
We welcome contributions! Please see CONTRIBUTING.md for:
docker ps
docker logs rag-web-ui
curl http://localhost:11434/api/tags
Upload documents first via the UI (drag-and-drop).
Check SearXNG: curl http://localhost:8080/search?q=test&format=json
π Full Troubleshooting Guide: docs/COMPREHENSIVE_DOCUMENTATION.md#troubleshooting
MIT License - see LICENSE file for details.
TL;DR: Free to use, modify, and deploy. Including commercially.
Built with:
β Production Ready (v1.0.0)
Built with β€οΈ for education
Educational RAG Lab v1.0.0 - Interactive Learning Environment for RAG Systems
260 commits
32 commits
Python
53.3%
TypeScript
25.7%
Shell
10.1%
HTML
8.0%
CSS
2.1%