Logo Lanfrica

Gibsondignity/gctu-chatbot

Domain:

natural language processingeducation

Record type:

software
Creator:
Gib
Host:
GCTU Smart Student Chatbot – AI-Powered Assistant This is an AI-powered chatbot designed to assist students of Ghana Communication Technology University (GCTU) by answering questions based on official university documents like the academic calendar, undergraduate handbook, and relevant website pages. πŸ“š GCTU Smart Student Chatbot – AI-Powered Assistant This is an AI-powered chatbot designed to assist students of Ghana Communication Technology University (GCTU) by answering questions based on official university documents like the academic calendar, undergraduate handbook, and relevant website pages. βœ… Features πŸ’¬ Ask GCTU-specific questions (e.g., "When does the semester start?") 🧠 Context-aware answers using embedded university documents πŸ“„ Load and parse PDFs (e.g., handbook, calendar) 🌐 Read content from GCTU website pages πŸ” Semantic search using ChromaDB ⚑ Uses free, fast LLM via Groq API (Mixtral, LLaMA3) 🧠 Embedding model: sentence-transformers/all-MiniLM-L6-v2 πŸ“¦ Tech Stack Python 3.10+ Django ChromaDB Sentence Transformers Groq API BeautifulSoup (for HTML parsing) PyMuPDF (for PDF extraction) πŸš€ Getting Started 1. Clone the Project git clone github.com cd gctu-chatbot 2. Set Up Python Environment Install pyenv if needed, then: pyenv install 3.10.13 pyenv local 3.10.13 python -m venv .venv source .venv/bin/activate pip install -r requirements.txt 3. Set Up Environment Variables Create a .env file and add your Groq API key: Visit: console.groq.com GROQ_API_KEY=your-groq-api-key-here 4. Add Your GCTU PDFs Create a folder called gctu_docs in the project root and place your PDFs inside (e.g., Academic Calendar, Handbook). 5. Load Data into ChromaDB Run the ingestion script: python load_gctu_docs.py This will embed both PDF and online content into your local vector store. 6. Run the Django Server python manage.py runserver Open localhost and chat with your GCTU bot. 🧠 How It Works Text Extraction Extracts content from PDFs and GCTU URLs Splits them into text chunks for semantic similarity Embedding & Storage Uses sentence-transformers to embed chunks Stores them in ChromaDB locally Question Answering When a question is asked, the bot: Embeds the question Retrieves top re …