This project is based on the original codebase created by DeepLearning.AI as part of their RAG chatbot learning curriculum.
- Original Repository: starting-ragchatbot-codebase
- Original Author: DeepLearning.AI
- Stars: 307 | Forks: 1.8k
The original codebase provides a full-stack Retrieval-Augmented Generation (RAG) system using ChromaDB for vector storage, Anthropic's Claude for AI-powered responses, and a Python/FastAPI backend. It served as the foundation and learning framework for this project.
This fork has been detached from the original repository and extended as an independent learning project.
All credit for the original architecture, system design, and course materials goes to the DeepLearning.AI team. If you're learning about RAG systems, I highly recommend checking out their original repository and courses at deeplearning.ai.
This project serves as a training codebase for learning Claude Code fundamentals, including understanding an existing codebase, modifying functionality, adding features, and experimenting with testing and development workflows.
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, Anthropic's Claude for AI generation, and provides a web interface for interaction.
- 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
-
Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh -
Install Python dependencies
uv sync
-
Set up environment variables
Create a
.envfile in the root directory:ANTHROPIC_API_KEY=your_anthropic_api_key_here
Use the provided shell script:
chmod +x run.sh
./run.shcd backend
uv run uvicorn app:app --reload --port 8000The application will be available at:
- Web Interface:
http://localhost:8000 - API Documentation:
http://localhost:8000/docs