RagApp is a minimal yet extensible full-stack project to build a complete Retrieval-Augmented Generation (RAG) system from scratch — covering every major component from data ingestion to LLM-based response generation and deployment.
This project is designed for hands-on learning, modular experimentation, and evolving into a production-ready architecture using best practices in backend, LLM orchestration, and modern tooling.
🔧 We will incrementally evolve this into a production-ready, full-stack RAG system.
- 🔎 Clean, modular architecture with retriever-generator separation
- 🚀 FastAPI backend (async-first, OpenAPI support)
- 🧠 Support for OpenAI and local LLMs (via API)
- 📦 Easy setup using
uv
and Python 3.12+ - 🧪 Focus on fast prototyping, inference efficiency, and open-source extensibility
- 🔁 Full development cycle: dev → test → deploy
- Python ≥ 3.12
uv
package manager
(Install withpip install uv
if not already installed)
git clone https://github.com/silvaxxx1/RagApp.git
cd RagApp
uv init
uv add -r requirements.txt
This sets up a virtual environment (
.venv
) and installs all required packages.
Copy the example config:
cp uv.example .env
Edit .env
to add your OpenAI key and other configs:
APP_NAME="RagApp"
APP_VERSION="0.1"
OPENAI_API_KEY="your-openai-key-here"
uvicorn app.main:app --reload
Open your browser to: http://localhost:8000/docs ✅ Swagger UI will show all available endpoints.
This repository is under active development. Upcoming features include:
- 📄 Document chunking and embedding
- 🔍 Vector DB integration (FAISS/Chroma)
- 🧠 Prompting and LLM generation modules
- ⚙️ RAG pipeline orchestration
- 🖥️ Optional frontend (React/Tailwind or minimal HTML)
- 🚀 Dockerized and cloud deployment setup
- Init project with
uv
and FastAPI - Embedding pipeline with OpenAI/Transformers
- Vector search integration
- Generation + post-processing logic
- Full RAG chain API
- CI/CD & Docker deployment
Feel free to fork, clone, and build along! PRs and ideas are welcome. Let’s create a clean, reusable, and battle-tested open RAG template for all.
This project is licensed under the MIT License. See LICENSE for details.