--- title: AutoGrader emoji: 🧠 colorFrom: indigo colorTo: purple sdk: gradio sdk_version: 6.3.0 app_file: app.py pinned: false --- # AutoGrader AutoGrader is a **CPU-only, LLM-based academic grading system** that evaluates student submissions using a provided **question paper and rubric**, while also awarding marks for **logically correct alternative solutions**. ## Key Features - Runs entirely on **CPU** (Hugging Face Spaces compatible) - **Rubric-aware** grading with flexibility for alternative correct answers - **Prompt-controlled evaluation** (e.g. grade only Q2, grade Q2 & Q4, custom marks) - **Multiple model options** (user-selectable) - **Less deterministic grading** via controlled sampling - **Structured JSON output** for reliable parsing - Works via **Hugging Face API** (can be called from Kaggle or other platforms) ## Supported Models - Phi-3-mini (fast, CPU-friendly) - Mistral-7B-Instruct (higher quality, slower on CPU) Model weights are **not stored in this repository** and are automatically downloaded from the Hugging Face Hub at runtime. ## How It Works 1. The student submission is first analyzed to extract key ideas. 2. A second evaluation step grades the answer using the rubric and grading instructions. 3. Marks are assigned fairly, even for solutions not explicitly listed in the rubric. 4. Output is returned as **strict JSON**. ## Input Fields - **Question Paper** - **Rubric** - **Grading Instruction** Example: `Grade only Question 2 out of 20 marks` - **Student Submission** ## Output A structured JSON containing: - Total marks - Per-question marks - Short justification ## Limitations - CPU-only inference means **higher latency** for larger models - LLM-based grading is **not fully deterministic** - Designed for academic assistance, not high-stakes automated grading without review ## License & Usage This project uses open-source models from the Hugging Face Hub. Please ensure model licenses are respected when deploying or redistributing. --- Built for flexible, research-oriented automated assessment.