A Highly Modular RAG Architecture Blueprint β LLM-agnostic, Vector Database-agnostic, built with LangChain, and powered by a deterministic Template-Driven Auto-Configuration engine.
- π Provider Agnostic β 100% decoupling from specific LLMs (OpenAI, Anthropic, Gemini, Deepseek, Bedrock, Vertex AI).
- ποΈ Database Agnostic β Swap your Vector Store seamlessly (Chroma, Qdrant, Pinecone, pgvector).
- π§ββοΈ Interactive TUI Wizard β Zero-friction configuration. A beautiful terminal UI generates your entire setup dynamically without manual file editing.
- π‘οΈ 100% Idempotent β No configuration drift. Re-run the setup 100 times and get the exact same deterministic state.
- π Secure Injection β Masked input for API keys safely injected straight into your
.envfile. - π Rich Documentation β Dedicated, self-contained markdown guides for every architectural decision.
Prerequisites: Python 3.10+
git clone https://github.com/vandre-sales/blueprint-rag-agnostic.git
cd blueprint-rag-agnostic
# Create and activate your virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install the wizard dependencies
pip install -r requirements.txt
# Run the 1-Click Interactive Setup
python3 bin/init.pyThe elegant CLI will ask for your preferred LLM and Database, inject your API Keys safely, and instantly build your architecture using Jinja2 templates.
flowchart LR
subgraph INPUT["π» Developer Input"]
A1["Run bin/init.py<br/>(TUI Wizard)"]
A2["Choose LLM &<br/>Vector Store"]
end
subgraph ENGINE["βοΈ Auto-Configuration"]
B1["my-setup.json<br/>Generated"]
B2["bin/configure.py<br/>Triggered"]
B3["Jinja2 Templates<br/>Rendered"]
end
subgraph OUTPUT["π Output"]
C1["src/core/<br/>Python Factories"]
C2[".env<br/>Credentials Injected"]
C3["Ready for<br/>RAG Execution"]
end
A1 --> A2 --> B1 --> B2 --> B3
B3 --> C1 & C2 --> C3
| Step | Action | Result |
|---|---|---|
| 1 | Run Wizard (python3 bin/init.py) |
Interactive terminal prompts for selections |
| 2 | Select Providers (LLM, Embeddings, DB) | Deterministic generation of my-setup.json |
| 3 | Inject Secrets (API Keys) | Safe population of your .env file |
| 4 | Compile Templates (bin/configure.py) |
Production-ready factory classes created in src/core/ |
Historically, this project used a Meta-Commenting pattern to avoid opaque abstraction layers, letting you manually uncomment the providers you wanted.
We have now evolved this into a fully automated TUI. The project maintains its transparencyβgenerating clean, readable, copy-paste-friendly Python code into src/core/βbut completely eliminates manual effort and cross-contamination (Zero Drift).
All extensive documentation, setup instructions, and architectural decisions have been decentralized into detailed markdown files.
π 00 - Getting Started
Learn how to run your first agnostic chain after setup.
Detailed configuration details for OpenAI, Anthropic, Google Vertex AI, Google AI Studio (Gemini), AWS Bedrock, Deepseek.
ποΈ 02 - Vector Stores
Detailed database guides for Chroma, Qdrant, Pinecone, pgvector.
π 03 - RAG Strategies
Swap between Standard Naive RAG, Multi-Query, Hybrid, and Contextual Compression.
π€ 04 - Agent Templates
Take your RAG to the next level with Tool Calling, ReAct, and LangGraph Workflows.
Explains the historical design pattern used to engineer the templates.
A reusable framework to validate any new LLM Provider + Vector Store combination.
An interactive checklist to ensure no steps are missed. (Now largely automated by bin/init.py).
A formal report summarizing the 100% resilience and idempotency score of our Auto-Configuration Engine.
