Meet Emma, your friendly and intelligent chatbot designed to assist alumni, faculty, directors, and guests with all queries related to the graduation ceremony. Emma ensures a smooth and memorable event experience by providing quick, accurate, and delightful responses. 🌟
- 🤖 Natural Language Query Processing: Understands and responds to user queries conversationally.
- 📄 PDF Document Parsing: Extracts and analyzes event details from the provided PDF.
- 🎉 Event-Specific Assistance: Handles queries about:
- 🪑 Seating arrangements
- 👗 Dress codes
- 🏆 Felicitation schedules
- 🚪 Guest entry and exit processes
- 📅 Other ceremony-related details
- 💻 Multi-Interface Support:
- Command-line interface
- Modern web interface using Streamlit
- 😊 Engaging Responses: Uses emojis and a warm tone to make interactions delightful.
-
Clone the Repository:
git clone <repository-url> cd CollegeChatBot
-
Create a Virtual Environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install Dependencies:
pip install -r requirements.txt
-
Configure Environment Variables:
- Create a
.envfile in the root directory. - Add your Gemini API key:
GEMINI_API_KEY=your_api_key_here
- Create a
-
Add Event Details:
- Place the graduation ceremony PDF (e.g.,
SVPCET Details.pdf) in thedatadirectory.
- Place the graduation ceremony PDF (e.g.,
Interact with the chatbot via the terminal:
python cli.pyLaunch the chatbot in your browser using Streamlit:
streamlit run web_app.pysrc/: Source code directorypdf_parser.py: Extracts and processes text from PDFsquery_processor.py: Analyzes queries and retrieves relevant informationgemini_client.py: Integrates with the Gemini API for intelligent responses
data/: Directory for storing event-related PDFscli.py: Command-line interface for the chatbotweb_app.py: Streamlit-based web interface
- Efficiently extracts text from PDFs with caching to improve performance.
- Supports section-based content extraction for targeted responses.
- Understands user intent and identifies key entities.
- Provides context-aware, step-by-step, and point-wise responses.
- Command-Line: Simple and interactive terminal-based interface.
- Web Interface: Modern, responsive, and user-friendly web app.
The system includes robust error handling for:
- Missing or malformed PDFs
- API connection issues
- Invalid or unsupported queries
- Caches parsed PDF content to avoid redundant processing.
- Optimized query handling for frequently asked questions.
This project is licensed under the MIT License.
Contributions are welcome! Feel free to submit a pull request to improve Emma or add new features.
Emma is here to make your graduation ceremony unforgettable! Whether you need help with seating, schedules, or dress codes, Emma has got you covered. Let’s celebrate your achievements together! 🎓✨