Dynamic RAG framework scaffolder — wizard-driven, hardware-aware, docker-ready, with eval/observability/agent addons
Project description
perfectRAG
Dynamic RAG framework scaffolder — wizard + docker-compose + UI + eval + observability + agents, all free & open-source.
Instead of gluing RAGFlow/Dify/LightRAG docker-compose files by hand, perfectrag:
- Detects hardware (CPU / NVIDIA / Apple Silicon / AMD) + VRAM tier.
- Asks use-case questions (Q&A / GraphRAG / agent / multimodal / code / web).
- Picks a recipe (LLM + embedding + reranker + vector DB + parser) tuned to your hardware.
- Scaffolds a full project (
docker-compose.yml+.env+mcp.yaml+skills/+ optional addons). - Orchestrates with
perfectrag up / doctor / logs / eval / deploy. - Ships a browser wizard (Next.js) if you'd rather click than type.
Install
pip install perfectrag # CLI + core
pip install 'perfectrag[web]' # + FastAPI backend for Next.js UI
Quickstart — the one-liner
perfectrag init my-rag --with eval,observability,paperclip
cd my-rag
perfectrag up
That gives you a RAG service, eval dashboard, observability gateway, and multi-agent orchestrator running on localhost in one shot.
Commands
| Command | What it does |
|---|---|
perfectrag init [DIR] |
Wizard → scaffold a project |
perfectrag init DIR --with a,b,c |
Install addons at init time |
perfectrag init DIR --template ragflow-stack |
Force a specific backbone |
perfectrag add mcp/skill/addon <name> |
Extend a generated project |
perfectrag up / down / logs / doctor |
Orchestrate the generated project |
perfectrag eval --dataset qa.jsonl |
Run RAGAS + DeepEval (needs eval addon) |
perfectrag deploy helm/flyio/railway |
Render production deploy assets |
perfectrag web |
Start FastAPI backend for Next.js UI |
perfectrag list templates/mcp/skills/addons/installed |
Show catalogues |
perfectrag hw |
Show detected hardware + tier |
Templates (v1.0)
| Template | Use-case | Backbone |
|---|---|---|
custom-naive-rag |
Learning / CPU-only / tiny corpus | FastAPI + Qdrant + Ollama + open-webui |
ragflow-stack |
Production Q&A + hybrid search + agentic | RAGFlow |
lightrag-stack |
GraphRAG / multi-hop reasoning | LightRAG |
dify-stack |
Workflow / agent / no-code team | Dify |
Third-party templates: publish via [project.entry-points."perfectrag.templates"] — users get them after pip install.
Addons (v1.0)
| Addon | Purpose | Based on |
|---|---|---|
eval |
RAG quality measurement | RAGAS, DeepEval |
observability |
LLM gateway + tracing | LiteLLM, Langfuse |
context-eng |
Prompt compression + memory | DSPy, LLMLingua, mem0 |
ingest-worker |
Scheduled web crawl → vector store | Crawl4AI |
notion-sync |
Notion → vector store | notion-client |
gdrive-sync |
Google Drive → vector store | google-api-python-client |
confluence-sync |
Confluence → vector store | atlassian-python-api |
paperclip |
Multi-agent orchestrator | Paperclip |
Each addon is a compose.<name>.yml overlay that perfectrag up auto-merges. See docs/addons.md.
Browser wizard
pip install 'perfectrag[web]'
perfectrag web # backend on :7777
# in another terminal
cd ui && pnpm install && pnpm dev # UI on :3001
See docs/ui.md.
Deploy to production
perfectrag deploy helm --project ./my-rag --out ./chart
helm lint ./chart
helm install my-rag ./chart
Also supports flyio and railway. See docs/deploy.md.
Docs
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file perfectrag-1.0.0.tar.gz.
File metadata
- Download URL: perfectrag-1.0.0.tar.gz
- Upload date:
- Size: 55.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e079e89dd042c2ec5a03d0ad75f9913ad917c4a5ca47fea38735d7118ba0e503
|
|
| MD5 |
2aea327a118c4b3f4b10bd838953cbe6
|
|
| BLAKE2b-256 |
b9a36b7b250d8875a7a6103e3ce65bc0169a32ef01d0a7959075e00d261eae70
|
File details
Details for the file perfectrag-1.0.0-py3-none-any.whl.
File metadata
- Download URL: perfectrag-1.0.0-py3-none-any.whl
- Upload date:
- Size: 79.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
070d8e5ca1f172140e2e16c939fa5a403ff8323c8cbad2f0360b2aadc6261f9c
|
|
| MD5 |
b006189fe4b235ff76bca7b68e5369dc
|
|
| BLAKE2b-256 |
095ccb663d6c5b16cf08afdfef54d6319b2145ca1008721cf3270cf8f4908dd1
|