Skip to content

About

A minimal Retrieval-Augmented Generation (RAG) implementation for question answering, built with FastAPI, PostgreSQL, and Docker. Easily extendable for experimenting with LLM-powered apps.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

mini-rag

This is a minimal implementation of the RAG model for question answering.

Requirements

  • Python 3.10

Install Dependencies

sudo apt update
sudo apt install libpq-dev gcc python3-dev

Install Python using MiniConda

  1. Download and install MiniConda from here
  2. Create a new environment using the following command:
$ conda create -n mini-rag python=3.10
  1. Activate the environment:
$ conda activate mini-rag

(Optional) Setup you command line interface for better readability

export PS1="\[\033[01;32m\]\u@\h:\w\n\[\033[00m\]\$ "

(Optional) Run Ollama Local LLM Server using Colab + Ngrok

Installation

Install the required packages

$ pip install -r requirements.txt

Setup the environment variables

$ cp .env.example .env

Run Alembic Migration

$ alembic upgrade head

Set your environment variables in the .env file. Like OPENAI_API_KEY value.

Run Docker Compose Services

$ cd docker
$ cp .env.example .env
  • update '.env' with your credentials
$ cd docker
$ sudo docker compose up -d

Run the FastAPI Server

$ uvicorn main:app --reload --host 0.0.0.0 --port 5000

POSTMAN Collection

Download the POSTMAN collection from /assets/mini-rag-app.postman_collection.json

About

A minimal Retrieval-Augmented Generation (RAG) implementation for question answering, built with FastAPI, PostgreSQL, and Docker. Easily extendable for experimenting with LLM-powered apps.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages