Visitar URL original
GitHub - kuzkok/starting-ragchatbot-codebase · GitHub
Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Course Materials RAG System

A Retrieval-Augmented Generation (RAG) system designed to answer questions about course materials using semantic search and AI-powered responses.

Overview

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, Anthropic's Claude for AI generation, and provides a web interface for interaction.

Prerequisites

  • Python 3.13 or higher
  • uv (Python package manager)
  • An Anthropic API key (for Claude AI)
  • For Windows: Use Git Bash to run the application commands - Download Git for Windows

Installation

  1. Install uv (if not already installed)

    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. Install Python dependencies

    uv sync
  3. Set up environment variables

    Create a .env file in the root directory pointing at your OpenAI-compatible endpoint (e.g. a LiteLLM proxy):

    LLM_BASE_URL=http://localhost:4000
    LLM_API_KEY=your_proxy_key_here
    LLM_MODEL=qwen-opencoder-128b

Running the Application

Quick Start

Use the provided shell script:

chmod +x run.sh
./run.sh

Manual Start

cd backend
uv run uvicorn app:app --reload --port 8000

The application will be available at:

  • Web Interface: http://localhost:8000
  • API Documentation: http://localhost:8000/docs

Development

Code quality tooling (black, isort, ruff) is installed with the dev dependency group (uv sync pulls it in) and configured in pyproject.toml. Helper scripts:

./scripts/format.sh    # isort + black, rewrites files in place
./scripts/lint.sh      # ruff check + black --check + isort --check-only, no writes
./scripts/test.sh      # pytest, excluding the network-dependent integration tests
./scripts/check.sh     # lint + test in one go, stops at the first failure

Run ./scripts/check.sh before committing. test.sh and check.sh forward extra arguments to pytest, e.g. ./scripts/test.sh -k search -vv.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages