BenyRonald77/uajy-academic-rag-chatbot

Production-grade RAG chatbot for Universitas Atma Jaya Yogyakarta academic handbook with Streamlit, FAISS vector search, and Google Gemini 2.5 Flash.

What it solves

This project provides a reliable way for students and faculty at Universitas Atma Jaya Yogyakarta to get answers from the official academic handbook. It eliminates the common problem of "hallucinations" in AI—where a model might invent deadlines or requirements—by forcing the chatbot to answer only using verified text from the provided PDF document.

How it works

The system uses a Retrieval-Augmented Generation (RAG) architecture:

  1. Ingestion: A PDF of the academic handbook is parsed, split into semantic chunks, and converted into numerical vectors using Google Gemini embeddings.
  2. Storage: These vectors are stored in a local FAISS index for fast similarity searching.
  3. Retrieval: When a user asks a question, the system searches the FAISS index for the most relevant text chunks.
  4. Generation: These chunks are sent to the Google Gemini 2.5 Flash model as context. The model is strictly instructed to generate an answer based only on that context or refuse to answer if the information is missing.

Who it’s for

Students and faculty members of the Faculty of Industrial Technology at Universitas Atma Jaya Yogyakarta who need quick, cited access to academic regulations and guidelines.

Highlights

  • Strict Grounding: Answers are generated exclusively from the retrieved PDF context to prevent misinformation.
  • Source Citations: Every response includes exact page numbers and chapter/section titles for easy verification.
  • Anti-Hallucination Guardrails: Uses a combination of similarity thresholds and strict system prompts to reject out-of-scope queries.
  • Evaluation Suite: Includes a built-in testbed to measure retrieval recall, refusal accuracy, and latency.
  • Document Explorer: A dashboard for users to search and inspect the indexed text chunks.

Related

  • Project
  • Project
  • Project
  • Project