Skip to content

Backend module for Bachelor Thesis project "Learning module with conversational educational system".

Notifications You must be signed in to change notification settings

EduChatbot/chatbot-backend

Repository files navigation

Learning module with conversational educational system - Backend Module

This repository contains the Backend Module developed as the primary functional layer for the Bachelor's Engineering Thesis: "Learning module with conversational educational system".


Academic Context

  • University: Warsaw University of Technology (Politechnika Warszawska)
  • Faculty: Faculty of Mathematics and Information Science (MiNI)
  • Supervisor: dr inż. Anna Wróblewska
  • Authors: Anna Ostrowska, Gabriela Majstrak, Jan Opala

Technical Stack & Architecture

The backend is built as a high-performance REST API using FastAPI, designed to utilize the RAG (Retrieval-Augmented Generation) pipeline.

Core Technologies:

  • Vector Database: ChromaDB for efficient semantic search and context retrieval.
  • OCR & Parsing: Adaptive document processing.
  • LLM Orchestration: Integration with OpenAI (GPT-4o-mini) and Google Gemini for generation, and Voyage AI for embeddings.
  • Task Scheduling: APScheduler automatically synchronizes course materials from Moodle.

Key Features

1. Advanced Document Ingestion

The system features a custom-built ingestion pipeline (parser_utils.py) that includes:

  • Adaptive OCR
  • Context-Aware Chunking
  • Math Normalization

2. Intelligent Services

  • RAG Pipeline: Uses vector search to provide factually grounded answers strictly based on course content.
  • Quiz Generation: Automated assessment creation based on Bloom's Taxonomy to evaluate student understanding.
  • Smart Sync: Periodic background jobs that check for new course materials without manual teacher intervention.

Repository Structure

  • app/api/routes/: Define API endpoints for chat, quiz, and dashboard features.
  • app/services/: Core business logic, including the RAG engine and embedding management.
  • app/core/parser_utils.py: Technical implementation of the parsing and OCR logic.
  • Dockerfile & docker-compose.yaml: Full containerization setup for easy deployment and scalability.

Deployment (Docker)

  1. Ensure your .env file is configured with the necessary API keys.
  2. Build and start the system:
docker compose up -d --build

The API will be available at http://localhost:8000 with interactive Swagger documentation at /docs.


Developed as the primary technical part of the diploma process at Warsaw University of Technology.

About

Backend module for Bachelor Thesis project "Learning module with conversational educational system".

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages