Skip to content

vandre-sales/Blueprint-Rag-Agnostic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 Blueprint RAG Agnostic

A Highly Modular RAG Architecture Blueprint β€” LLM-agnostic, Vector Database-agnostic, built with LangChain, and powered by a deterministic Template-Driven Auto-Configuration engine.

Python LangChain Jinja2 Qdrant License

Interactive TUI Wizard


✨ Features

  • 🌐 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 .env file.
  • πŸ“š Rich Documentation β€” Dedicated, self-contained markdown guides for every architectural decision.

πŸš€ Quick Start

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.py

The elegant CLI will ask for your preferred LLM and Database, inject your API Keys safely, and instantly build your architecture using Jinja2 templates.


πŸ“ How It Works

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
Loading

The Setup Workflow

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/

🌟 Philosophy: From Meta-Commenting to Templating

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).


πŸ“– Documentation Index

All extensive documentation, setup instructions, and architectural decisions have been decentralized into detailed markdown files.

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.

Swap between Standard Naive RAG, Multi-Query, Hybrid, and Contextual Compression.

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.

About

🧠 A modular, agnostic RAG blueprint built with LangChain. Swap LLMs and Vector Stores instantly through an elegant Terminal UI and deterministic Jinja2 auto-configuration.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors