GradeBot Guru is your friendly AI-powered grading assistant, designed to automate the evaluation of student submissions and provide fast, accurate, and insightful feedback.
- Automated Grading: Quickly and consistently grade student work based on a provided rubric.
- Detailed Feedback: Generate personalized feedback highlighting strengths and areas for improvement.
- Configurable LLM: Choose your preferred Large Language Model (LLM) provider (e.g., Gemini).
- Easy-to-Use CLI: Simple and intuitive command-line interface for seamless integration into your workflow.
-
Install from PyPI:
pip install gradebot-guru
-
Install from Source (Development Setup):
git clone https://github.com/teaching-repositories/gradebot-guru.git cd gradebot-guru uv sync --all-extras --dev
gradebot-guru --config <config_path> --submissions <submissions_dir><config_path>: Path to the configuration file (JSON format with LLM settings and rubric path).<submissions_dir>: The path to the directory containing student submissions (e.g., essays, code).
- LLM Provider: Set your preferred LLM provider in the configuration file (
config.py). Currently supports Gemini.
# Basic usage with demo configuration
gradebot-guru --config demo/config.json --submissions demo/text-submissions
# Using custom configuration
gradebot-guru --config my-config.json --submissions ./student-essays-
Running Tests:
uv run pytest
-
Code Formatting and Linting:
uv run ruff format . uv run ruff check .
-
Type Checking:
uv run mypy . -
Building Documentation:
uv run mkdocs serve
Contributions are welcome! Please see the Contributing Guidelines for more details.
This project is licensed under the MIT License. See the LICENSE file for details.
For questions or feedback, please contact Michael Borck at michael@borck.me.