Inspiration
Imagine you’re a college freshman drowning in at least six technical core classes, tired of "control-F"-ing to search the textbook for answers to extremely specific questions (and oftentimes, coming up with no luck!). More often than not, college students find it difficult to digest a high volume of material just from reading. We have often wished that someone could summarize, explain difficult concepts to us, or recall a very specific part that we can’t seem to find.
What it does
Muddbots allows students to interact with chatbots that are specific to their textbooks and class material. This allows students to query textbooks interactively with a familiar chatbot interface. The chatbot’s knowledge is the domain of the one specific class, which allows students to find exactly what they are looking for, like a personal tutor.
How we built it
We followed a tutorial that showed us how to use LangChain and Pinecone to create embeddings, which we used for specific textbooks and class material. For this project, we built a simple user interface in JavaScript with Next.js to show the functionality, as well as host the code that makes the necessary API calls. We also used python to call the Cohere API to make the embeddings for the textbooks.
Challenges we ran into
It was a challenge to complete this project in such a short time frame. Using the Cohere API was challenging as we had never done it before and had to learn about natural language processing along the way. We also had limited API credits and had to manage our Cohere requests and Pinecone storage carefully. Understanding the finer details of what vectorization and embedding really mean and the bugs that come with them was also a challenge.
Accomplishments that we're proud of
We are proud to create a resource that we ourselves are excited to use. We know that students from our college and hopefully other institutions will find this resource useful and help them understand material in a time crunch. For some of us, this was our first exposure to more advanced web development and machine learning.
What we learned
For the junior members of our team, everything was a learning experience as we programmed in pairs, learnt about how to use React and how to work with APIs. We learned how to manage time to plan out the whole development process and share work. We learned a lot on how to provide a welcoming and user-friendly interface.
What's next for MuddBots
- There are several features that we are planning to pursue next for this project.
- Allow users to pay a small fee to create their own chatbot for a specific textbook or based on class material. This chatbot may then be added to the database of textbook embeddings that can be accessed by other users.
- Create more pre-built options for students to find useful information from their textbooks and class material.
- Create options for teachers to generate lesson plans and example questions using given textbooks.
- Expand to coursework from multiple institutions beyond Harvey Mudd.
- Create our own specialized ML model for the chatbots.
Built With
- cohere
- javascript
- langchain
- next.js
- pineconedb
- python
- react
Log in or sign up for Devpost to join the conversation.