Production-grade, fully self-hosted Agentic AI Platform with RAG, hybrid retrieval, and agent orchestration.
A production-grade, fully self-hosted, open-source Retrieval-Augmented Generation (RAG) platform with agent orchestration. Query private document collections using Qwen3 LLMs without sending data to third-party services.
Core capabilities:
- Hybrid Retrieval — Dense (Qdrant) + Sparse (BM25) + RRF fusion + reranking
- Agent Runtime — LangGraph-based multi-step reasoning with tool selection
- Parent-Child Chunking — 1800/350 token hierarchy with context reconstruction
- Guardrails — Prompt injection, PII, toxicity, citation verification
- Evaluation — RAGAS + DeepEval with golden datasets
- Observability — OpenTelemetry + Langfuse + Prometheus + Grafana
User → FastAPI → Guardrails → Agent Runtime → Hybrid Retrieval → Reranking → Context → Generation
├─ Planner (plan → act → observe)
├─ Tool Selection
└─ Human-in-the-loop
├─ Dense (Qdrant)
└─ Sparse (BM25) → RRF Fusion
See docs/architecture.md for full system architecture.
git clone https://github.com/sam1064max/rag-platform-qwen3.git
cd rag-platform-qwen3
cp .env.example .env
docker compose up -d
docker compose -f docker/vllm/docker-compose.gpu.yml up -d| Target | Method |
|---|---|
| VPS | Docker Compose |
| Proxmox | Docker Compose + LXC |
| Bare Metal | Docker Compose |
| Kubernetes | K8s manifests (planned) |
| Provider | Type | Config |
|---|---|---|
| vLLM (self-hosted) | Default | provider: vllm |
| OpenAI-compatible API | External | provider: openai_compat |
| OpenRouter | External | provider: openrouter |
| Doc | Description |
|---|---|
docs/spec.md |
System specification and requirements |
docs/architecture.md |
Architecture diagrams and design decisions |
docs/security.md |
Threat model and security controls |
CONTRIBUTING.md |
Development setup and contribution guide |
CHANGELOG.md |
Release history |
ROADMAP.md |
Feature roadmap |
uv sync --dev
make lint
make typecheck
make testSee CHANGELOG.md for full release notes.
MIT — see LICENSE for details.