Skip to main content

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:

  1. Detects hardware (CPU / NVIDIA / Apple Silicon / AMD) + VRAM tier.
  2. Asks use-case questions (Q&A / GraphRAG / agent / multimodal / code / web).
  3. Picks a recipe (LLM + embedding + reranker + vector DB + parser) tuned to your hardware.
  4. Scaffolds a full project (docker-compose.yml + .env + mcp.yaml + skills/ + optional addons).
  5. Orchestrates with perfectrag up / doctor / logs / eval / deploy.
  6. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

perfectrag-1.0.0.tar.gz (55.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

perfectrag-1.0.0-py3-none-any.whl (79.8 kB view details)

Uploaded Python 3

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

Hashes for perfectrag-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e079e89dd042c2ec5a03d0ad75f9913ad917c4a5ca47fea38735d7118ba0e503
MD5 2aea327a118c4b3f4b10bd838953cbe6
BLAKE2b-256 b9a36b7b250d8875a7a6103e3ce65bc0169a32ef01d0a7959075e00d261eae70

See more details on using hashes here.

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

Hashes for perfectrag-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 070d8e5ca1f172140e2e16c939fa5a403ff8323c8cbad2f0360b2aadc6261f9c
MD5 b006189fe4b235ff76bca7b68e5369dc
BLAKE2b-256 095ccb663d6c5b16cf08afdfef54d6319b2145ca1008721cf3270cf8f4908dd1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page