Cicero: Redefined Learning
AI Powered Tutoring
Overview
Cicero is an advanced AI-driven learning tool designed to foster personalized and interactive educational experiences. It offers key features like interactive chat generation, content analysis, and automated flashcard creation, utilizing cutting-edge AI technologies, including OpenAI's GPT series and Meta’s open-source LLaMA 3.1. These AI models function as separate but interconnected agents, enhancing the tool's ability to provide detailed explanations, summaries, and personalized learning paths.
How it works
Users create dedicated workspaces to focus on specific subjects or topics. In these workspaces, they can upload documents (such as PDFs), which become the focal point of their sessions. JavaScript-based tools handle the parsing of the uploaded files, while LLaMA annotates and intelligently analyzes the content. The text and LLaMa's analysis is stored in Pinecone's vector database which in turn fuels the Retrieval-Augmented Generation (RAG) models powered by OpenAI. These models provide features like custom flashcard generation and context aware chat generation. User's have access to a robust front end platform powered by React and Next.js. Their activities and information are stored in Firebase to ensure data consistency and persistence across different sessions and devices. Cicero empowers learners by combining the strengths of multiple AI models, creating a truly adaptive and contextually aware learning environment.
Inspiration
The inspiration for Cicero stems from a shared passion for using AI to enhance learning and productivity. We wanted to create a tool that goes beyond traditional learning platforms, allowing users to interact with knowledge in dynamic, personalized ways. Inspired by the historical figure Cicero’s mastery of rhetoric and education, we envisioned a system that would empower users to dive deep into their studies with interactive chat features, comprehensive content analysis, and smart flashcard generation. By integrating powerful AI technologies like OpenAI’s GPT and Meta’s LLaMA, Cicero is designed to be a versatile learning companion, helping users engage with complex subjects and refine their understanding through AI-driven insights.
How we built it
The build process for Cicero was truly a collaborative effort, with each team member bringing their unique strengths to the table. We worked in sync, breaking down the project into manageable tasks and maintaining open communication throughout. Regular feedback loops helped us refine the features and ensure that everyone’s input was valued. Version control played a big role in keeping us organized, allowing us to integrate our work smoothly while avoiding conflicts. By dividing responsibilities and staying aligned on the project vision, we were able to create a cohesive platform that reflects our shared goal of enhancing learning through AI
Challenges we ran into
One of the biggest challenges we faced was dealing with the unforeseen limitations of the free Groq LLaMA key. While it seemed like a promising solution at first, we quickly realized that its constraints prevented us from fully utilizing the model as intended. When we tried to find another hosting option, we discovered that there weren’t any readily available alternatives, which forced us to adapt our approach. Another hurdle was dealing with code that relied heavily on external dependencies, making it difficult to test certain components in isolation. This added an extra layer of complexity, as we had to navigate around these limitations, often troubleshooting in a more manual and time-consuming way. Despite these setbacks, we pushed forward, finding creative solutions to ensure the project stayed on track.
Accomplishments that we're proud of
We’re proud of the way our RAG model feels like a collaboration between two AI agents. LLaMA played an integral role in processing and preparing the text before sending it to Pinecone, which brought a unique intelligence to the vector generation process. This thoughtful interaction between the models created an efficient and responsive interface, adding depth to how the AI understands and retrieves information. Also while we didn’t get to implement all the features we had planned, the full-stack project works exactly as intended, showcasing a well-rounded and innovative approach
What we learned
We learned how to navigate the complexities of building a robust AI system from the ground up, balancing the technical challenges of full-stack development with the subtleties of integrating multiple AI models. Collaboration across different tools and frameworks taught us how to better manage dependencies and workflows, ensuring smooth communication between components. We also sharpened our problem-solving skills by adapting to unforeseen obstacles, reinforcing the importance of flexibility in development. Lastly, we recognized the value of clear, modular code, which made it easier to iterate and expand on the project as we progressed.
What's next for Cicero AI Tutor
The next step for Cicero is to expand beyond text-based documents to include video and photo processing, allowing users to interact with a wider range of content. We also plan to implement new features like practice tests, session notes, and review sheets to create a more comprehensive and personalized learning experience. These additions will further enhance Cicero’s ability to help users engage with material in diverse and meaningful ways, ultimately transforming it into an even more versatile learning tool.
Built With
- firebase
- javascript
- llama
- nextjs
- node.js
- openai
- pinecone
- python
- react
- tailwindcss
Log in or sign up for Devpost to join the conversation.