Inspiration
Witnessing firsthand the struggles encountered by students when planning their courses and understanding prerequisite requirements, we were inspired to develop a solution that would streamline this process and empower students to make informed decisions about their academic journey.
The goal was to alleviate the burden placed on both students and advisors, providing them with a user-friendly platform that consolidates essential information about courses, prerequisites, and academic pathways.
What it does
Students can ask questions to our large language model to give detailed course information, create schedules, or assist in academic planning/decision-making. Our model gives students the most up-to-date data from the Purdue course websites to help them make the most informed decisions.
How we built it
We built Purdue Pathways using Next.js, React, Tailwind CSS, Flask, MongoDB, and Langchain. We wrote our backend entirely in Python, leveraging the open source library Langchain, to make structured calls and requests to the OpenAI API. On the front end, we used Next.js and React to create a smooth user interface with a chatting feature, and Flask was used to integrate the two ends together.
Challenges we ran into
When trying to get the user's input to our LLM, we used the flask framework to send the data from the frontend to the backend, and the response from the backend to the frontend. We ran into some issues at this stage because of errors receiving and sending the right messages, however we got around it by working together on debugging the messages that were being sent and received. We also faced significant challenges trying to build an accurate Retrieval Augmented Generation (RAG) pipeline to provide our model with necessary context. Scaling up our retrieval functions to more data made it more difficult for the RAG pipeline to retrieve the most relevant data pertaining to a user's query. We first tried implementing a grouping system where an LLM classifies the query into one of several categories so the RAG pipeline can look through a smaller group of data pertaining to just that category, however this also led to occasionally inaccurate results. Finally, we tried inputting the smallest amount of data that still included all necessary information to answer most queries and found that the RAG pipeline was able to provide much better context to the LLM to accurately answer the question.
Accomplishments that we're proud of
We are very proud of the fact that we were able to create a working implementation of an idea that we are looking to continue working on in the future. We believe strongly that we have shown Pathways to be a successful concept, and we are proud that we got in working in just 24 hours. Going forward we want to take this momentum and continue to build our idea into a full fledged application!
Additionally, we are proud of how well we worked together as a team. Striving towards a common goal in a short period of time is never easy, and for many of us this was our first hackathon. We are proud of the fact that we made it through, never gave up on our goal, and when faced with challenges we came together to tackle them. As a team we all have different skillsets, but putting all of that together is what enabled us to produce a final product we are proud of.
What we learned
Throughout this process we learned how to quickly iterate from an idea to a minimal viable product. This is a skill we recognize the value of, because sometimes when you have an idea you have to be able to get over that first step of starting. By participating in the hackathon we were able to learn to get started and finish some version of our final idea. We are glad to have had this experienced and learned how to produce something by working together as a team.
What's next for Purdue Pathways
In the future, we hope to expand our dataset to include information for all majors and fine-tune our LLM for the more accurate results, and improved conversation quality. We are eager to present Purdue Pathways to Purdue advisors, anticipating that Purdue will invest in a subscription for its students. Our goal is to extend Purdue Pathways to other universities in the Midwest, enriching the academic journey of even more students.
Built With
- flask
- javascript
- langchain
- mongodb
- next.js
- openai
- python
- react
- tailwind
Log in or sign up for Devpost to join the conversation.