ai-tutor-chatbot / README.md
omarsol's picture
Update README with data source management and deployment workflow details
4f0b574

A newer version of the Gradio SDK is available: 5.21.0

Upgrade
metadata
title: AI Tutor Chatbot
emoji: πŸ§‘πŸ»β€πŸ«
colorFrom: gray
colorTo: pink
sdk: gradio
sdk_version: 5.20.1
app_file: scripts/main.py
pinned: false

Gradio UI Chatbot

A Gradio UI for the chatbot is available in scripts/main.py.

The Gradio demo is deployed on Hugging Face Spaces at: AI Tutor Chatbot on Hugging Face.

Note: A GitHub Action automatically deploys the Gradio demo when changes are pushed to the main branch (excluding documentation and scripts in the data/scraping_scripts directory).

Installation (for Gradio UI)

  1. Create a new Python environment:

    python -m venv .venv
    
  2. Activate the environment:

    For macOS and Linux:

    source .venv/bin/activate
    

    For Windows:

    .venv\Scripts\activate
    
  3. Install the dependencies:

    pip install -r requirements.txt
    

Usage (for Gradio UI)

  1. Set environment variables:

    Before running the application, set up the required API keys:

    For macOS and Linux:

    export OPENAI_API_KEY=your_openai_api_key_here
    export COHERE_API_KEY=your_cohere_api_key_here
    

    For Windows:

    set OPENAI_API_KEY=your_openai_api_key_here
    set COHERE_API_KEY=your_cohere_api_key_here
    
  2. Run the application:

    python scripts/main.py
    

    This command starts the Gradio interface for the AI Tutor chatbot.

Updating Data Sources

This application uses a RAG (Retrieval Augmented Generation) system with multiple data sources, including documentation and courses. To update these sources:

  1. For adding new courses or updating documentation:

  2. Available workflows:

    • add_course_workflow.py - For adding new course content
    • update_docs_workflow.py - For updating documentation from GitHub repositories
    • upload_data_to_hf.py - For uploading data files to HuggingFace

These scripts streamline the process of adding new content to the AI Tutor and ensure consistency across team members.