This project is a Retrieval-Augmented Generation (RAG) application powered by LlamaIndex, enabling document upload and interactive chat functionality.
Supported LLMs: gpt-3.5-turbo
, gpt-4o
, deepseek
, mistral
.
We use models from Voyage AI for embedding and reranking.
Make sure you have configured the API keys for both the LLM and embedding services in the application page.
The python backend uses uv for dependency and environment management, and requires Python 3.12 or higher.
The uv sync --python 3.12
command will:
- Download and install Python 3.12 if it is not available on your system.
- Create a virtual environment (if one doesn't already exist).
- Install all dependencies into the environment.
$ cd backend
$ uv sync --python 3.12
$ uv run main.py # Starts the backend server
The Next.js frontend uses pnpm for package management:
$ cd frontend
$ pnpm install # Install dependencies
$ pnpm run dev # Starts the frontend server
Once both servers are running, 🌐 Open http://localhost:3000 in your browser to access the application.