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!

Share this project: