Skip to main content

A pipeline and package to implement and evaluate LLM chat bot tutors in education.

Project description

๐Ÿง  EduChatEval

A structured pipeline and Python package for evaluating interactive LLM tutor systems in educational settings.


๐Ÿš€ Overview

This repository supports my masterโ€™s thesis, exploring how large language models can simulate and support human-like educational dialogues.

The package is designed to:

  • Simulate studentโ€“tutor dialogues with role-based prompts
  • Integrate local + open-source models (e.g., LM Studio, Hugging Face)
  • Log interactions (JSON/CSV) for analysis
  • Provide a framework for classification, evaluation, and fine-tuning

Hereโ€™s a rough overview of the system architecture:

flowchart


โš™๏ธ Installation

pip install educhateval

๐Ÿค— Integration

  • ๐Ÿฆ™ LM Studio (local LLM inference)
  • ๐Ÿ–๏ธ Outlines
  • ๐Ÿค— Transformers
  • ๐Ÿงช Optuna for experimental tuning

๐Ÿ“– Documentation

Documentation Description
๐Ÿ“š User Guide Instructions on how to run simulations and analyze dialogue logs
๐Ÿ’ก Prompt Templates Overview of system prompts, role behaviors, and instructional strategies
๐Ÿง  API References Full reference for the educhateval API: classes, methods, and usage
๐Ÿค” About Learn more about the thesis project, context, and contributors

๐Ÿค– Usage

well first of all because it is a package and not a script to run from the terminal, we see no parser = argparse... so it is build to be a python package where each function are callable - fingers crossed it will be :D

from chat_wrap_edu_pack install generate 

๐Ÿซถ๐Ÿผ Acknowdledgement

๐Ÿ“ฌ Contact

Made by Laura Wulff Paaby
Feel free to reach out via:


Complete overview:

โ”œโ”€โ”€ data/                                  
โ”‚   โ”œโ”€โ”€ generated_dialogue_data/           # Generated dialogue samples
โ”‚   โ”œโ”€โ”€ generated_tuning_data/             # Generated framework data for fine-tuning 
โ”‚   โ”œโ”€โ”€ logged_dialogue_data/              # Logged real dialogue data
โ”‚   โ”œโ”€โ”€ Final_output/                      # Final classified data 
โ”‚
โ”œโ”€โ”€ Models/                                # Folder for trained models and checkpoints (ignored)
โ”‚
โ”œโ”€โ”€ src/educhateval/                       # Main source code for all components
โ”‚   โ”œโ”€โ”€ chat_ui.py                         # CLI interface for wrapping interactions
โ”‚   โ”œโ”€โ”€ descriptive_results/               # Scripts and tools for result analysis
โ”‚   โ”œโ”€โ”€ dialogue_classification/           # Tools and models for dialogue classification
โ”‚   โ”œโ”€โ”€ dialogue_generation/               
โ”‚   โ”‚   โ”œโ”€โ”€ agents/                        # Agent definitions and role behaviors
โ”‚   โ”‚   โ”œโ”€โ”€ models/                        # Model classes and loading mechanisms
โ”‚   โ”‚   โ”œโ”€โ”€ txt_llm_inputs/               # System prompts and structured inputs for LLMs
โ”‚   โ”‚   โ”œโ”€โ”€ chat_instructions.py          # System prompt templates and role definitions
โ”‚   โ”‚   โ”œโ”€โ”€ chat_model_interface.py       # Interface layer for model communication
โ”‚   โ”‚   โ”œโ”€โ”€ chat.py                       # Main script for orchestrating chat logic
โ”‚   โ”‚   โ””โ”€โ”€ simulate_dialogue.py          # Script to simulate full dialogues between agents
โ”‚   โ”œโ”€โ”€ framework_generation/            
โ”‚   โ”‚   โ”œโ”€โ”€ outline_prompts/              # Prompt templates for outlines
โ”‚   โ”‚   โ”œโ”€โ”€ outline_synth_LMSRIPT.py      # Synthetic outline generation pipeline
โ”‚   โ”‚   โ””โ”€โ”€ train_tinylabel_classifier.py # Training classifier on manually made true data
โ”‚
โ”œโ”€โ”€ .python-version                       # Python version file for (Poetry)
โ”œโ”€โ”€ poetry.lock                           # Locked dependency versions (Poetry)
โ”œโ”€โ”€ pyproject.toml                        # Main project config and dependencies

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

educhateval-0.1.2.tar.gz (35.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

educhateval-0.1.2-py3-none-any.whl (47.2 kB view details)

Uploaded Python 3

File details

Details for the file educhateval-0.1.2.tar.gz.

File metadata

  • Download URL: educhateval-0.1.2.tar.gz
  • Upload date:
  • Size: 35.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for educhateval-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7f0c97c7c1206c2cd8afd9835b770077e9f686f3acf12c9bff1ffd63c22a6736
MD5 8bf99f8ee0a2aaefe24a01b911a894d1
BLAKE2b-256 56445e0cd3be18b02a80f428d2f13055ea4c2fe093f846b54b7687d7c5efecf2

See more details on using hashes here.

File details

Details for the file educhateval-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: educhateval-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 47.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for educhateval-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 313b8d44ea9798cf4721d4f05a4c49219237cb63cd7a7ae822b4b07307e2a27d
MD5 88bf841ee63856ddcdf8ff073c8259c2
BLAKE2b-256 b11d5216b51f55dddc4c8cad0ba436916eae5c081ec49fbb73316c354a14148c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page