Inspiration

As students, we constantly work with lecture notes, textbooks, assignments, and other PDF documents. Finding one specific concept inside dozens of pages can take a lot of time.

At the same time, general-purpose AI tools can sometimes provide confident answers that are not actually present in our study material. For an academic tool, this creates a serious trust problem.

That inspired us to build Smart-RAGging — a study assistant that uses a student's own notes as its knowledge base.

Our core idea was simple:

If the answer is in your notes, find it. If it isn't, don't make it up.

We wanted to make AI useful for studying while keeping the answers grounded, verifiable, and connected to the original source material.

What it does

Smart-RAGging allows students to upload their course PDFs and interact with them through a conversational AI interface.

Users can:

  • Upload multiple PDFs for each subject
  • Search their notes using semantic search rather than exact keywords
  • Ask natural-language questions about their study material
  • Receive answers grounded in the uploaded content
  • See the relevant source passage and page number
  • Maintain separate knowledge bases for different subjects
  • Ask follow-up questions while maintaining conversation context

The system also includes a hallucination safeguard. When the required information is not present in the uploaded material, Smart-RAGging can respond that the topic is not covered instead of inventing an answer.

This makes it more than a chatbot — it acts as a source-grounded learning companion.

How we built it

Smart-RAGging is built around a Retrieval-Augmented Generation (RAG) architecture.

The workflow is:

PDF → Text Extraction → Chunking → Embeddings → FAISS → Semantic Retrieval → LLM → Grounded Response

When a student uploads a PDF, we extract and split its content into smaller chunks. These chunks are converted into vector embeddings using Sentence Transformers and stored in a FAISS vector database.

When the student asks a question, the system performs semantic similarity search to retrieve the most relevant sections from the uploaded notes.

Those retrieved sections are then provided as context to Llama 3.1 through Groq, allowing the model to generate an answer based primarily on the student's own material.

We built the interface using Streamlit, while LangChain handles important parts of the RAG pipeline.

The technology stack includes:

  • Python
  • LangChain
  • Sentence Transformers
  • FAISS
  • Groq API
  • Llama 3.1
  • Streamlit

Challenges we ran into

One of our biggest challenges was dealing with AI hallucinations.

A language model can produce a very convincing answer even when the information isn't present in the source documents. We therefore had to design the retrieval and prompting process so that the model would prioritize the retrieved context.

Another challenge was document chunking.

If chunks are too small, important context can be lost. If they are too large, retrieval can return unnecessary information and make the model's context less focused.

We also had to balance:

  • Retrieval relevance
  • Answer accuracy
  • Response speed
  • Context size
  • User experience

Making all of these work together in a simple interface was an important part of the development process.

Accomplishments that we're proud of

We are particularly proud of turning a relatively complex RAG architecture into a simple tool that students can use without needing to understand how vector databases, embeddings, or retrieval work.

Our biggest accomplishment is the source-grounded answering system.

Instead of simply displaying an AI-generated response, Smart-RAGging connects the answer back to the original material by providing the relevant source passage and page number.

We are also proud of implementing subject-wise indexing and multi-PDF support, allowing students to build separate knowledge bases for courses such as DBMS, Operating Systems, Computer Networks, and more.

Most importantly, we built the project around a principle that we believe is essential for educational AI:

Accuracy and transparency should matter as much as generating an answer.

What we learned

Building Smart-RAGging taught us that building an effective AI application is not just about choosing a powerful LLM.

The quality of a RAG system depends heavily on the entire pipeline — from document processing and chunking to embedding generation, retrieval, context selection, and prompt design.

We learned how semantic search can be much more useful than traditional keyword matching when users phrase questions differently from the source material.

We also learned that trust is a critical part of AI product design.

A system that explains where an answer came from gives users the ability to verify the information themselves. For education, this is especially important because students should be able to distinguish between what their material actually says and what an AI model might otherwise generate.

What's next for Smart RAGging

We see Smart-RAGging evolving from a document Q&A system into a more complete AI learning companion.

Some of the features we want to explore next include:

  • Improved retrieval and reranking for more accurate answers
  • Better understanding of complex and multimodal PDFs
  • Automatic quiz and question generation from study material
  • Personalized study plans based on the student's weak areas
  • AI-generated explanations at different difficulty levels
  • Learning-progress and performance analytics
  • An adaptive AI tutor that remembers learning progress
  • Support for textbooks, research papers, and technical documentation

Our long-term goal is to make Smart-RAGging an AI system that doesn't just give students answers, but helps them understand, verify, and learn from their own knowledge sources.

Built With

  • aistudyassistant
  • artificialintelligence
  • educationtechnology
  • faiss
  • generativeai
  • groq
  • langchain
  • llama3.1
  • llm
  • machine-learning
  • naturallanguageprocessing
  • pdf
  • python
  • rag
  • retrievalaugmentedgeneration
  • semanticsearch
  • sentencetransformers
  • streamlit
  • vectordatabase
Share this project:

Updates