This project is still in development. Once completed, it will be publicly available as a web app, and technical details will be shared.
Our team was inspired by the challenges students face when seeking academic guidance. Sometimes, students feel lazy to book an appointment, and for general questions that aren’t situation-specific, researching UM websites and documents can be time-consuming. This advisor chatbot aims to provide quick and accessible answers, making academic planning more efficient.
Throughout this project, we gained experience in:
- Building a user-friendly interface
- Integrating university data from various sources
- Applying LLMs for AI-powered applications
- Collaborating under time constraints
- Overcoming unexpected technical challenges
We developed the chatbot using a combination of technologies, including:
- Backend: LangChain, Hugging Face, Flask, SQLite3, Cohere
- Frontend: JavaScript (jQuery), HTML/CSS
- Infrastructure: ngrok for tunneling
- Database: SQL for storing data and embedded vectors
By integrating both backend and frontend seamlessly, we created a smooth and interactive experience for students and advisors.
One of the main challenges was integrating the backend with the frontend smoothly. However, through collaboration and persistence, we overcame these obstacles. Tight deadlines and technical issues pushed us to stay focused and iterate until we achieved the desired results.
- Install dependencies:
pip install -r requirements.txt- Indexing data
-
Download UM Undergraduate Book. Create a new folder named
dataand put the book in it. -
Run
development_server.py
python development_server.py
- Choose
1. Index new PDFsto index. After this step there should bevectors.dbandpages.db.
- Run locally
python app.py
Open index.html as a live server in your browser.