AI Essay Evaluator
Documentation: https://ai-essay-evaluator.readthedocs.io
Source Code: https://github.com/markm-io/ai-essay-evaluator
A comprehensive Python framework for automated essay evaluation using OpenAI's GPT models. This tool enables educators to grade student essays at scale with customizable scoring rubrics, fine-tune models with their own grading data, and generate detailed feedback across multiple scoring dimensions.
Features
- Automated Essay Grading - Evaluate student essays using fine-tuned OpenAI GPT-4o-mini models
- Multiple Scoring Formats - Choose from extended (multi-dimensional), item-specific, or short scoring formats
- Custom Model Training - Generate training datasets and fine-tune models with your own grading examples
- Project Folder Mode - Simple folder structure for organizing essays, rubrics, and prompts
- Cost Tracking - Built-in token usage and cost analysis for OpenAI API calls
- Batch Processing - Grade hundreds of essays with progress tracking and async processing
- Multi-Pass Grading - Run multiple grading passes for consistency checking
- Rate Limit Handling - Automatic retry logic and adaptive rate limiting
- Comprehensive Logging - Async logging for debugging and auditing
Quick Start
Installation
Install via pip:
pip install ai-essay-evaluator
Or using uv (recommended for development):
uv pip install ai-essay-evaluator
Basic Usage
- Set up your project folder:
my_project/
├── input.csv # Student responses
├── question.txt # Essay prompt
├── story/ # Story files
│ └── story1.txt
└── rubric/ # Rubric files
└── rubric1.txt
- Run the evaluator:
python -m ai_essay_evaluator evaluator grader \
--project-folder ./my_project \
--scoring-format extended \
--api-key YOUR_OPENAI_API_KEY
- Check results in
my_project/output/
Training Your Own Model
# Generate training data from graded examples
python -m ai_essay_evaluator trainer generate \
--story-folder ./training/story \
--question ./training/question.txt \
--rubric ./training/rubric.txt \
--csv ./training/graded_samples.csv \
--output training.jsonl \
--scoring-format extended
# Validate and fine-tune
python -m ai_essay_evaluator trainer validate --file training.jsonl
python -m ai_essay_evaluator trainer fine-tune \
--file training.jsonl \
--scoring-format extended \
--api-key YOUR_OPENAI_API_KEY
For detailed documentation, visit the full usage guide.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Mark Moreno 💻 🤔 📖 |
This project follows the all-contributors specification. Contributions of any kind welcome!
Credits
This package was created with Copier and the browniebroke/pypackage-template project template.
Release files for ai-essay-evaluator 1.3.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ai_essay_evaluator-1.3.9.tar.gz | 41.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ai_essay_evaluator-1.3.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.6 kB
Release files / ai_essay_evaluator-1.3.9.tar.gz
| Download URL | ai_essay_evaluator-1.3.9.tar.gz |
|---|---|
| Size | 41.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b5c9448696c41016e208d68a5139249bf3ae59d02a5ccf946d6e74fbd1729799
|
|
BLAKE2b-256 checksum How to use checksums |
d26bd0a91fd17f52ec4d8a9544ed2c60e5ba04eb6128dfb67464a0c8d61b652a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.
Transparency logRelease files / ai_essay_evaluator-1.3.9-py3-none-any.whl
| Download URL | ai_essay_evaluator-1.3.9-py3-none-any.whl |
|---|---|
| Size | 28.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
143e4edf3f29d271f7dfd1da26768674949465fd65178cbb661aff15f307f806
|
|
BLAKE2b-256 checksum How to use checksums |
2c981aab9b267a0dfc7ea4fc06020cd95f68c413f01a3faf1d65a0ef21a7314b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.
Transparency log