Inspiration
The future of education is personalized learning, which adapts to the needs of every child. Our inspiration came from the compelling need to make learning an engaging and exciting process for children in the post-pandemic era. We saw a unique opportunity to leverage artificial intelligence to optimize and augment the educational materials provided by MightyOwl.
What it does
Our project builds a bridge between AI and education using OpenAI's ChatGPT and MightyOwl. We've developed a ChatGPT plugin that acts as a 24/7 AI tutor, capable of answering queries in real-time based on the academically verified content from MightyOwl. It monitors a child's learning progress and personalizes the educational journey according to their unique needs, making home learning a transparent, engaging, and effective process.
How we built it
We utilized Python's FastAPI to construct a robust and efficient web service. Our code ingests data from both CSV and JSON files, split and indexed using the OpenAIEmbeddings and FAISS libraries. We then created a ReloadableVectorStore class that checks for updates in the ingested data and reloads it when necessary. It uses the FastAPI POST method to process queries from users, retrieve relevant documents from the vector store, and format the results into an easy-to-understand dictionary. The formatted results are then sent back to the user. With this setup, our API endpoint is able to answer educational queries in real-time, offering a personalized and highly interactive learning experience.
Challenges we ran into
We faced a significant challenge with the initial structure of our data. Initially, we used a CSV format but discovered that GPT was not consistently interpreting and presenting the data. This inconsistency led us to reformat our data into a JSON structure. Additionally, developing a method for GPT to administer quizzes and verify the correctness of the answers posed another considerable challenge. GPT's approach to checking answers lacked the accuracy and consistency we required for a reliable educational tool.
Accomplishments that we're proud of
One of our proudest accomplishments was optimizing our response time. Initially, we made GPT calls within our server app, which added an additional 10-15 seconds to the response time. By restructuring our data into JSON and delivering the retrieved data directly to ChatGPT, we significantly reduced this delay. This improvement was a considerable achievement in enhancing the user experience of our application.
What we learned
Throughout the development process, we gained a deeper understanding of the crucial role data organization plays in the consistency and reliability of results. We also learned about the importance of effective prompt crafting. Shorter prompts provided more consistent and reliable results, enhancing the functionality and reliability of our solution.
What's next for HackAI MightyOwl
Moving forward, we plan to extend the functionality of our solution and its availability. We aim to publish the plugin to the OpenAI plugin store, making it more widely accessible. In terms of features, we plan to use GPT to create content for quizzes. Furthermore, we're looking to implement the new function calls that would allow us to generate quizzes and validate the results on our backend, thereby avoiding hallucinations and enhancing the reliability of our solution.
Built With
- faiss
- fastapi
- langchain
- openai
- python
- replit
Log in or sign up for Devpost to join the conversation.