AI Assistance Class

Inspiration

Students spend a huge amount of time searching through lecture slides, PDFs, and notes before they can actually start learning. Existing AI chatbots often answer with general knowledge instead of the student's own course materials, making them unreliable for studying.

We built AI Assistance Class to solve this problem by combining Retrieval-Augmented Generation (RAG) with students' learning resources, creating an AI assistant that always answers from the uploaded course content.


What it does

AI Assistance Class is a RAG-powered learning assistant that allows students to upload their own study materials and ask questions in natural language.

The system can:

  • Retrieve relevant information from uploaded documents
  • Answer questions with supporting context
  • Summarize lecture notes and PDFs
  • Explain difficult concepts in simpler language
  • Generate practice questions for revision
  • Help students quickly locate important information before exams

Instead of relying on general AI knowledge, every response is grounded in the student's own learning materials.


How we built it

We built AI Assistance Class using a Retrieval-Augmented Generation (RAG) architecture.

Backend

  • Python
  • FastAPI

AI

  • OpenAI Responses API
  • OpenAI Embeddings

Retrieval

  • ChromaDB Vector Database
  • Semantic Search

Frontend

  • React
  • TypeScript
  • Tailwind CSS

Our workflow is simple:

  1. Upload learning materials.
  2. Split documents into semantic chunks.
  3. Generate embeddings for each chunk.
  4. Store embeddings in ChromaDB.
  5. Retrieve the most relevant content for each question.
  6. Send the retrieved context to the OpenAI model to generate an accurate response.

This pipeline ensures that answers are based on uploaded documents instead of model memory.


Challenges we ran into

The biggest challenge was improving retrieval quality.

Early versions often returned irrelevant document chunks, which reduced answer accuracy. We experimented with different chunk sizes, overlap strategies, and retrieval parameters to improve semantic search performance.

Another challenge was reducing hallucinations. By restricting the model to retrieved context, we significantly improved answer reliability.


Accomplishments that we're proud of

  • Built a complete end-to-end RAG application.
  • Successfully integrated OpenAI Responses API with semantic retrieval.
  • Developed a document pipeline from upload to retrieval.
  • Created a simple interface that allows students to interact with course materials naturally.

What we learned

Building a useful RAG application requires much more than connecting an LLM to a database.

We learned how document chunking, embeddings, vector search, prompt design, and context management all affect answer quality. We also realized that retrieval quality is the key factor in building trustworthy AI applications.


What's next for AI Assistance Class

We plan to improve the retrieval pipeline by supporting multiple document types, hybrid search, and better ranking algorithms.

Future versions will also include personalized study recommendations, learning progress tracking, and support for larger course knowledge bases to create a more complete AI learning platform.

Built With

  • fastapi
  • rag
Share this project:

Updates