mtwesley's picture
updates to README
2ec9ce2

A newer version of the Streamlit SDK is available: 1.49.1

Upgrade
metadata
title: Boston School Choice
emoji: 🏫
colorFrom: pink
colorTo: purple
sdk: streamlit
sdk_version: 1.44.1
app_file: app.py
pinned: false

Boston School Choice Enrollment Assistant Chatbot

Welcome to the Boston School Choice Enrollment Assistant Chatbot! This application is designed to help families navigate the Boston Public Schools (BPS) enrollment process with ease. Using a combination of local language models and external APIs, the chatbot provides accurate and helpful information about school eligibility, required documents, and nearby schools based on user input.

Key Features

  • Conversational Interface: Interact naturally with the chatbot to get answers about BPS enrollment.
  • Context Tracking: The chatbot remembers user-provided information such as residence and grade level.
  • Document Retrieval (RAG): Accesses local text files containing BPS rules and regulations to provide accurate answers.
  • Nearby School Lookup: Utilizes the Geoapify API to find schools near a given Boston address.
  • Local LLM: Runs inference locally using llama-cpp-python with a quantized Gemma-2B GGUF model.

Technology Stack

Setup and Installation

  1. Repository Files: Ensure the following files are present:

    • app.py: Main Streamlit application script.
    • requirements.txt: Lists all Python dependencies.
    • prompts.py: Contains prompt strings for the LLM.
    • docs/: Directory with .txt files for RAG.
    • .streamlit/secrets.toml: For storing API keys.
  2. Dependencies: Install necessary packages via requirements.txt.

  3. docs/ Directory: Create a docs directory and add relevant .txt files.

  4. API Keys:

    • Obtain a Geoapify API key for geocoding and school lookup features.
    • Store the key in .streamlit/secrets.toml:
      GEOAPIFY_KEY = "YOUR_ACTUAL_GEOAPIFY_API_KEY_HERE"
      

Running the Application

Deploy the application on Hugging Face Spaces. Ensure all files are correctly set up in the repository for automatic build and run.

Usage

Type your questions into the input box at the bottom of the application. Provide information like your address or your child's grade when prompted. The chatbot will use this context, along with retrieved documents and external lookups, to assist you.

Contributing

We welcome contributions! Please fork the repository and submit a pull request with your changes.

License

This project is licensed under the MIT License.

Disclaimer

This chatbot provides information based on documents in the docs/ directory and external APIs. Always verify critical information with official BPS resources or a BPS Welcome Center. The information provided is not guaranteed to be 100% accurate or up-to-date.