A Retrieval-Augmented Generation (RAG) system designed to answer questions about course materials using semantic search and AI-powered responses.
This application is a full-stack web application that enables users to query course materials and receive intelligent, context-aware responses. It uses ChromaDB for vector storage, Ollama for local AI generation, and provides a web interface for interaction.
- Python 3.13 or higher
- Mamba (or Conda) package manager
- Ollama installed and running locally
- For Windows: Use Git Bash to run the application commands - Download Git for Windows
-
Install Mamba (if not already installed)
# Install Miniforge which includes mamba # See: https://github.com/conda-forge/miniforge
-
Install Python dependencies
mamba install --file requirements.txt
-
Install Ollama and pull a model
curl -fsSL https://ollama.com/install.sh | sh ollama pull qwen2.5:7b -
Set up environment variables (optional - defaults work out of the box)
Create a
.envfile in the root directory:# Optional overrides (defaults shown) OLLAMA_BASE_URL=http://localhost:11434 OLLAMA_MODEL=qwen2.5:7b
Use the provided shell script:
chmod +x run.sh
./run.shcd backend
mamba run uvicorn app:app --reload --port 8000The application will be available at:
- Web Interface:
http://localhost:8000 - API Documentation:
http://localhost:8000/docs