Skip to content

CSEC-ASTU/Qesem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Qesem — AI Study Assistant

Tech Stack Tech Stack Tech Stack Tech Stack Tech Stack AI SSE License Build

Table of Contents

Overview

Qesem is an AI-powered study assistant. Students can upload PDFs or text notes, chat with an agentic assistant, generate quizzes automatically, and receive graded results. Responses stream in real time via Server-Sent Events (SSE), and answers are grounded with Retrieval-Augmented Generation (RAG) over your uploaded materials.

Features

  • RAG over uploads: Chunking and vector embeddings (Voyage AI) stored in MongoDB for grounded responses.
  • Agentic flows: LangChain + LangGraph for quiz generation, grading, and contextual reasoning.
  • Realtime SSE: Streaming assistant responses for smooth UX.
  • Quiz automation: Auto-generate quizzes and grade user-submitted answers.
  • File uploads: PDF/TXT ingestion with size limits and MIME validation.
  • Session history: Persisted conversations with resume capability.
  • Configurable LLMs: Gemini model selection via env; Voyage embed model override.
  • Dark UI: React + Vite + Tailwind CSS 4 with responsive layout.

Tech Stack

  • Frontend: React 19, TypeScript, Vite, Tailwind CSS 4, Zustand.
  • Backend: Node.js, Express 5, TypeScript, MongoDB (Mongoose), SSE.
  • AI/ML: LangChain, LangGraph, Gemini (Google Generative Language API), Voyage embeddings.
  • Build/Tooling: Vite, ESLint, ts-node, TypeScript.

Architecture

  • client/: Vite React SPA; chat UI, quiz UI, SSE client, upload trigger.
  • server/: Express API; routes for chat, quiz, upload, sessions, SSE; LLM + embedding services; MongoDB persistence.

Getting Started

Prerequisites

  • Node.js 18+ (recommended)
  • npm 9+
  • MongoDB Atlas or local MongoDB
  • API keys: Google Generative Language (Gemini) and Voyage AI

Clone & Install

git clone https://github.com/CSEC-ASTU/Qesem.git
cd Qesem
npm install --prefix server
npm install --prefix client

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages