Skip to content

AI-powered teaching assistant automation tool using Piazza API, LangChain, and FAISS. Streamlines TA workflows with advanced NLP for efficient student support

License

Notifications You must be signed in to change notification settings

gr8monk3ys/TAlker

Repository files navigation

TAlker - AI-Powered Teaching Assistant Bot

An innovative solution for automating teaching assistant tasks using the Piazza API, LangChain, FAISS, and OpenAI. This bot helps teaching assistants manage and respond to student questions efficiently through an intuitive web interface.

Features

  • Automated Response Generation: Uses OpenAI and LangChain to generate contextually relevant responses to student questions
  • Piazza Integration: Seamlessly integrates with Piazza's platform for managing course Q&A
  • Smart Search: Utilizes FAISS for efficient similarity search and retrieval of relevant information
  • Modern Web Interface: Built with Streamlit for a clean, responsive user experience
  • Secure Authentication: Implements user authentication to protect sensitive course data

Prerequisites

  • Python 3.9 or higher
  • Poetry (Python package manager)
  • OpenAI API key
  • Piazza account credentials

Installation

  1. Clone the repository:

    git clone https://github.com/gr8monk3ys/TAlker.git
    cd TAlker
  2. Set up environment variables:

    cp .env.example .env

    Edit .env and add your credentials:

    OPENAI_API_KEY=your_openai_api_key
    PIAZZA_EMAIL=your_piazza_email
    PIAZZA_PASSWORD=your_piazza_password
    PIAZZA_COURSE_ID=your_course_id
    
  3. Install dependencies using Poetry:

    make setup

Usage

  1. Start the application:

    make run
  2. For development with auto-reload:

    make dev
  3. Access the web interface at http://localhost:8501

Development

  • Format code:

    make format
  • Run linting:

    make lint
  • Run tests:

    make test

Project Structure

TAlker/
├── src/
│   ├── dashboard/         # Web interface components
│   │   ├── Home.py       # Main Streamlit application
│   │   └── llm.py        # LangChain integration
│   └── piazza_bot/       # Core bot functionality
│       ├── bot.py        # Piazza API integration
│       ├── profile.py    # User profile management
│       └── responses.py  # Response generation
├── data/                 # Data storage
├── tests/               # Test suite
├── pyproject.toml       # Poetry dependencies
└── Makefile            # Development commands

Available Commands

  • make setup: Install Poetry and project dependencies
  • make run: Start the Streamlit application
  • make dev: Start the application in development mode
  • make lint: Run Pylint for code quality checks
  • make format: Format code using Black
  • make test: Run the test suite
  • make clean: Clean up cache and temporary files

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Format and lint your code (make format && make lint)
  4. Commit your changes (git commit -m 'Add some AmazingFeature')
  5. Push to the branch (git push origin feature/AmazingFeature)
  6. Open a Pull Request

License

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

Acknowledgments

Back to top

About

AI-powered teaching assistant automation tool using Piazza API, LangChain, and FAISS. Streamlines TA workflows with advanced NLP for efficient student support

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •