Mini-RAG is a streamlined, scalable implementation of a Retrieval-Augmented Generation pipeline. It bridges the gap between static LLMs and dynamic private data by integrating high-performance vector databases (Qdrant & PgVector) with a robust FastAPI backend. Designed with observability in mind, it includes a full monitoring stack to track performance and system health in real-time.
- Python 3.8 or later
sudo apt update
sudo apt install libpq-dev gcc python3-dev- Download and install MiniConda from here.
- Create a new environment using the following command:
$ conda create -n mini-rag python=3.8- Activate the environment:
$ conda activate mini-ragexport PS1="\[\033[01;32m\]\u@\h:\w\n\[\033[00m\]\$ "$ cd src/
$ pip install -r requirements.txt$ cd ../docker/env
$ cp .env.example.app .env.app
$ cp .env.example.postgres .env.postgres
$ cp .env.example.grafana .env.grafana
$ cp .env.example.postgres-exporter .env.postgres-exporterupdate .env files with your credientials
$ cd ..
$ sudo docker compose up --build -d- FastAPI: http://localhost:8000
- Grafana: http://localhost:3000
- Prometheus: http://localhost:9090
$ uvicorn main:app --reload --host 0.0.0.0 --port 5000Download the POSTMAN collection from /src/assets/mini-rag-app.postman_collection.json