Inspiration
Course Logistics is tedious, time consuming, and repetitive. Instructors' time is best utilized towards curriculum development and non-logistic related matters. Especially with a changing course staff, onboarding and managing course logistics to begin with can be challenging. Collectively, with our experiences in the education space - as a Course Coordinator for Challenge Lab (Manan) and a Teaching Assistant for a Data Science course - we have first-hand seen the various moving parts involved in setting a course up, that are repeated time and time again.
What it does
Our solution is two-prong, firstly in extracting useful information from instructor guides to organize upcoming tasks and reminders and integrating them with Google Calendar and Gmail. Secondly, we provide a means for users (instructors or TAs) to converse with the body of knowledge required to set up logistics - both the text guide, but possibly also Github repositories used to support the course website or internal workings.
How we built it
We started by setting up a new React project and designing a simple user interface. The UI included input fields for Google Drive and GitHub links, a user prompt, and a display area for the output.
Next, we integrated the Google Drive and GitHub APIs to fetch documents from the provided links. We used LlamaIndex GoogleDocsReader to ingest these documents, breaking them into nodes and storing the embeddings in PineCone. We then implemented functionality to process user prompts and conduct a semantic search through PineCone. The search results were used to generate a table of dates and tasks, which was displayed to the user. We integrated the OpenAI GPT-4 API to generate a response based on the user's prompt. The response was also displayed to the user.
Challenges we ran into
Navigating the various APIs proved to be a challenge initially, especially as not all the tools proved to be compatible with each other.
Accomplishments that we're proud of
Building an impactful product: By building a product inspired by our firsthand experiences, and connecting it with our personal stories, we know the impact it can have in terms of easing the process of course logistics.
What we learned
Different techniques of getting confident, accurate results from LLMs. Entering the hackathon, we only had ideas of finetuning via massive datasets in order to be able to process large documents. Through the workshops, we learnt of how we could use vector databases like Pinecone to store embeddings which came in handy when identifying relevant context that could power responses. Learning about tools like LlamaIndex also allowed us to develop scalable solutions to our problem - as opposed to worrying about file storage and databases, we could easily access Google Docs links and handle large documents without sacrificing accuracy.
What's next for CourseCraft.ai
We hope to add functionality to allow the user to edit the table, updating the PineCone VectorDB accordingly. We envision MindsDB could support Google Calendar and Gmail integrations based on the edited table. After thoroughly testing the app and ensuring all features worked as expected, we deployed it to a hosting platform. The final product would be a course-specific chatbot capable of processing documents, answering prompts, and integrating with Google services.
Built With
- llamaindex
- mindsdb
- openai
- pinecone
Log in or sign up for Devpost to join the conversation.