We all hate how annoying science advising is :( So, we decided to make a project that helps address questions that may come up during your time at UBC.
What it does
Takes a prompt from a user and feeds it to an instance of GPT4 trained on the data from the science advising website. This allows users to have quick answers to their simple advising questions, rather than having to search through the website.
How we built it
We used an AgentHub pipeline to scrape the UBC Science Advising webpage, and used it to provide context to GPT-3 in order to answer advising questions about the options for science programs at UBC. Our project runs on a Flask backend, which takes input and uses the AgentHub API to provide a response via our pipeline. We worked on both a React.js frontend, and a tkinter GUI. After running into some issues regarding the incompatibility of our asynchronous backend with the react-simple-chatbot library that we were using for the frontend, we decided to focus fully on the tkinter GUI. We designed the UI using Figma and eventually got it to work! although it didn't meet the hackathon deadline.
Challenges we ran into
We found inconsistencies with the AgentHub documentation, which resulted in spending a lot of time debugging the API calls to our pipeline. In addition to this, we found that the frontend library we had planned to use to render a chatbot did not support integration with an asynchronous backend, which forced us to change gears and instead create a GUI to display our project. Deploying the AgentHub api and trying to implement a Chat frontend was very challenging.
Accomplishments that we're proud of
Getting it to run!
What we learned
Sometimes you need to look at the documentation more, and other times you need to look at the documentation less :(
What's next for UBC Robo Science Advising
We want to keep working on the project, learning from today and making something that actually makes a difference in the life of a UBC student!