Spaces:
Sleeping
A newer version of the Streamlit SDK is available:
1.49.1
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
- Frontend: Streamlit
- LLM Inference: llama-cpp-python
- LLM Model:
bartowski/gemma-2-2b-it-GGUF
(Q8_0 quantization) - Embeddings: sentence-transformers (
all-MiniLM-L6-v2
) - Vector Store: FAISS
- Geocoding/Places API: Geoapify
- Core Language: Python 3
Setup and Installation
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.
Dependencies: Install necessary packages via
requirements.txt
.docs/
Directory: Create adocs
directory and add relevant.txt
files.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.