ai_tutor / README.md
Thomas (Tom) Gardos
Update README.md
391dd28 unverified
metadata
title: DS701 AI Tutor
description: An LLM based class tutor with RAG for Tools4DS course
emoji: πŸŽ“
colorFrom: red
colorTo: green
sdk: docker
app_port: 7860

DS701: Tools for Data Science - Education Chatbot

Overview

This repository contains an LLM-based chatbot designed for the DS701: Tools for Data Science course at Boston University. The chatbot serves as an interactive learning assistant, helping students with course-related queries, explanations of concepts, and guidance on data science tools. It is powered by edubotics-core a package of modules for data loading, vector store creation and management.

The chatbot is in preview on HuggingFace here. Lecture slides are available here.

Features

  • 24/7 availability for student queries
  • Explanations of key data science concepts
  • Guidance on using data science tools and libraries
  • Practice problem suggestions and explanations
  • Course syllabus and schedule information

Getting Started Locally

To run the chatbot locally, follow these steps:

  1. Clone this repository

    git clone https://github.com/tools4ds/ds701-tutor.git

  2. Set up your Python environment

    a. Using venv (Python's built-in virtual environment):

    python -m venv ds701_env
    source ds701_env/bin/activate  # On Windows, use: ds701_env\Scripts\activate
    pip install -r requirements.txt
    

    b. Using Conda:

    conda create --name ds701_env python=3.9
    conda activate ds701_env
    conda install --file requirements.txt
    

Note: Make sure to use Python 3.9 or later.

  1. Install dependencies

    pip install edubotics-core

  2. Set up environment variables. See apps/ai_tutor/.env.example for reference.

  3. Run the chatbot

     cd apps/ai-tutor
     python app.py
    

    and navigate to localhost:8000 in your browser.

Usage

Students can interact with the chatbot through the web interface.

Example queries:

  • "Explain the concept of data normalization"
  • "How do I use pandas for data manipulation?"
  • "What's the difference between supervised and unsupervised learning?"

Contributing

We welcome contributions from the community to enhance the DS701 AI Tutor. Whether you're a student, instructor, or developer, your input is valuable. Here's how you can contribute:

  1. Fork the repository and create your feature branch.
  2. Make your changes, ensuring they align with the project's goals.
  3. Submit a pull request with a clear description of your improvements.

For more detailed information on the contribution process, please refer to our CONTRIBUTING.md file (unavailable yet).

Privacy and Data Handling

This chatbot is designed with student privacy in mind. No personal information is stored, and all interactions are anonymized. For more details, please refer to our PRIVACY_POLICY.md.

Support

If you encounter any issues or have suggestions for improvement, please open an issue in this repository or contact the course instructor.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.