Inspiration

We were inspired by the Featureform workshop on chatbots and the need that we saw for a better way to alleviate some of the struggles that TAs are going through given their demanding schedules.

What it does

The chatbot is meant to help students answer their conceptual questions about class topics, utilizing the course content to create the most accurate response to the question, without suffering from hallucinations or giving an answer that would be very different from how their course covers the content.

How we built it

We took inspiration from the RAG process that Featureform showed to improve upon the questions that students might ask by providing context based on the content of their course, leveraging notes transcripts, and other publicly available content to enhance the prompt given by the student, and create a more comprehensive response. From there, we combined both the Featureform API and Pinecone to create a vector database that would help with the RAG process.

Challenges we ran into

The challenges we faced varied in their nature, and they can be summarized into three categories: Ethical, technical, and physiological.

On the ethical front, we were extremely concerned about the consequences of making such a tool, for it could be utilized to engage in academic dishonesty by students or to replace hardworking TA's by universities. TAid is nothing but another tool, just like ChatGPT or the internet, and all of which can be used to engage in multiple forms of academic dishonesty. While we designed and pitched to help both students and TA's, we have absolutely no authority on how the tool is used. While we can do nothing about the former, the latter is definitely out of the question. We are aware of the limitations of LLM. Thus, we were at least able to consolidate with the latter issue. We began the journey after few rounds of debate think it would be a smooth sail from here on. Apparently, we forgot that two of us are Electrical Engineers with no knowledge about AI besides that it exists.

On the technical side, we ran into multiple difficulties with the tools. We have been struggling with a certain bug for over with one of the tools for several hours. At around midnight, we almost lost hope and were about to raise the white flag. However, as one of the team members was walking around, he noticed a piece of paper on FeatureForm table that reads: "If you need help, please ask us!" The team member immediately realized that sponsors have slack channels through which help could be provided. Answers were found. Code was run. Output was noticed. The project is alive! However, there is another challenge on the horizon–an unavoidable one.

Even though the event was generous with nourishment, and the ecstasy of success helped us work through the night, we eventually had to succumb to exhaustion. The physical challenge was so great. We had to sleep. We slept–or one of us did, at least.

Accomplishments that we're proud of

We are more than happy to state that were able to embed some lecture notes from a famous UCB CS course. The lecture notes were able to provide context to ChatGPT API, and the response we received was heavily emphasized by the notes. To be frank, the response was a more refined version of the notes. We hope that our work would end up being a seed that accelerates education and makes it more accessible.

What we learned

We learned how to use different APIs like Featureform, OpenAI, and Pinecone.

What's next for TAid

First, we want to make the TAid more user-friendly by providing an appropriate Graphical User Interface. Next, we want to deploy our project onto a server such that the students can test it out. If the idea finds interest among the peers, we may explore the opportunity to extend TAid's ability to support more students by providing its database with information on other courses. There are a lot of open-source notes for UC Berkeley lower division EECS courses that we can incorporate into our project so it would be a good starting point. Then, we can extend the idea for EECS upper division courses and other departments.

Built With

  • featureform
  • jupyter
  • openai
  • pinecone
  • python
Share this project:

Updates