Back to Index
AI & RAG
2026·In Deployment & Maintenance

StudyMate AI

Intelligent RAG-Based Educational Knowledge Assistant

PythonLangChainChromaDBGoogle Gemini 2.0 FlashPyMuPDFDockerJWTGitHub Actions
StudyMate AI
↳ Document ingestion + vector search + generated study tools

My contribution

Implemented PDF ingestion, vector indexing, retrieval-assisted answers, study-content generation, and a browser interface backed by FastAPI.

Engineering decisions

  • Keep source page metadata with extracted chunks so readers can inspect the original PDF.
  • Separate document parsing, embeddings, vector storage, retrieval and generation into service modules.
  • Limit request frequency with an in-memory per-IP sliding window.

Testing & evidence

  • The public repository provides pytest checks and a GitHub Actions workflow for linting, tests, container builds and dependency-audit steps.
  • Page references point back to source material; they do not prove that generated answers are correct.
  • The workflow configuration does not contain an automatic deployment job.

Current limitations & next steps

Generated content requires source review. The in-memory rate limiter is local to a process and does not establish a distributed quota. No answer-quality or production-latency benchmark is claimed.

Project overview

The problem it solves

Asynchronous RAG pipeline processing academic textbook PDFs and generating personalized study content. Semantic search index via ChromaDB & sentence-transformers, Google Gemini 2.0 Flash orchestration (summaries, quizzes, 3D flip flashcards, dynamic study plans), page-specific citations via PyMuPDF, rate limiter (60 req/min), JWT auth with bcrypt, and GitHub Actions workflows for lint, tests and container builds.

Specification60 req/min Rate Limiting
SpecificationPage-linked source references
SpecificationDocker Compose + CI checks

How it works

Asynchronous Retrieval-Augmented Generation (RAG) system utilizing vector embeddings, semantic search, and LLM orchestration with automated CI checks.

Main flow
  1. 01

    PDF Upload & PyMuPDF Citation Extraction

  2. 02

    Chunking & Embeddings via sentence-transformers

  3. 03

    ChromaDB Vector Store Query & Similarity Retrieval

  4. 04

    Google Gemini 2.0 Flash Context Injection & Response Generation

Key components
PyMuPDF Ingestion

Extracts textual content, page numbers, and metadata from academic PDF textbooks.

ChromaDB Vector Store

Indexes document chunks locally for cosine similarity searches.

Gemini 2.0 Flash Engine

Orchestrates prompts for automated summaries, interactive quizzes, and 3D flashcards.

Next Project

Arte

Classical Art Bureau & Interactive Curatorial Archive

Explore Next Case