automatic-grading-using-llm

A collection of LLM-based studies aimed at developing automated grading solutions for my master's project.

https://github.com/anand-kamble/automatic-grading-using-llm

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

A collection of LLM-based studies aimed at developing automated grading solutions for my master's project.

Basic Info
  • Host: GitHub
  • Owner: anand-kamble
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 2.49 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation Codeowners

README.md

Automatic Grading Using LLMs

This repository contains the code and configurations for a project exploring the use of Large Language Models (LLMs) in automating grading in educational contexts. The project leverages distributed processing, retrieval-augmented generation (RAG), and scalability techniques to assess model accuracy and performance across a range of tasks.

Repository Structure

  • LICENSE: License for the repository.
  • README.md: Documentation and instructions for the repository.
  • chapter_4/: Code for initial experiments with LangChain and Llama.cpp, including Docker configuration.

    • Dockerfile: Docker setup for deploying the Llama.cpp environment.
    • README.md: Detailed instructions for Chapter 4.
    • docker-compose.yaml: Docker Compose file for container management.
    • langchain_experiment.py: Experimentation script using LangChain.
    • run_server.sh: Script to run the Llama.cpp server.
    • utils.py: Utility functions for the experiments.
  • chapter_6/: Evaluation techniques and tools used in assessing system performance.

    • Evaluation-Implementation.py: Implementation for evaluating the grading model.
    • Langsmith-Tracing.py: Tracing implementation using Langsmith.
    • Phoenix-Evaluation.py: Evaluation script for Phoenix RAG framework.
    • README.md: Documentation for Chapter 6.
    • Testset-Generation.py: Script for generating synthetic test data with Ragas.
    • Trulens-Evaluation.py: Evaluation script using TruLens.
  • chapter_7/: Distributed processing and scalability implementation for handling high query volumes.

    • MasternodeScript.sh: Script to initialize distributed Ollama servers across classroom machines.
    • PerfCounterTimer.py: Timer utility to measure task execution performance.
    • README.md: Documentation for Chapter 7.
    • TaskScheduler.py: Task scheduler for distributing tasks using round-robin scheduling.
    • main.py: Main script for executing distributed query processing.
    • ollama_script.sh: Script for setting up Ollama servers on remote machines.
  • logo/: Contains logos or images used in the project.

Project Overview

Objective

This project aims to explore the feasibility of LLMs in automated grading by setting up a scalable, efficient, and accurate grading system using distributed LLM instances across multiple machines.

Key Features

  • Scalability: Distributed processing setup to handle high volumes of grading queries.
  • Evaluation Techniques: Assessment of grading accuracy using tools like Phoenix, TruLens, and LangSmith.
  • Synthetic Data Generation: Test dataset generation using Ragas TestsetGenerator for robust system evaluation.

Setup and Usage

Prerequisites

  • Python 3.10 or higher.
  • Docker and Docker Compose.
  • SSH access for distributed processing across networked machines.

Installation

  1. Clone this repository: bash git clone https://github.com/anand-kamble/automatic-grading-using-llm cd automatic-grading-using-llm

Citation (CITATION.cff)

cff-version: 1.2.0
message: >
  If you use this code or data in your research, please cite this work as follows:
title: "Automatic Grading Using LLMs"
version: 1.0.0
repository-code: https://github.com/anand-kamble/automatic-grading-using-llm
keywords:
  - large language models
  - automated grading
  - distributed processing
  - scalability
  - educational technology
authors:
  - family-names: "Kamble"
    given-names: "Anand"
    email: "anandmk837@gmail.com"
    orcid: "0000-0003-4003-702X"  # Replace with actual ORCID if available
affiliation: "Department of Scientific Computing, Florida State University"
date-released: 2024-11-14
license: "MIT"
abstract: >
  This repository contains code and configurations for an automated grading system
  using large language models (LLMs) in an educational context. The project explores
  scalability, retrieval-augmented generation (RAG), distributed processing, and synthetic data
  generation techniques to enhance accuracy and efficiency in automated grading.

GitHub Events

Total
  • Push event: 11
  • Create event: 2
Last Year
  • Push event: 11
  • Create event: 2