A command-line tool for evaluating student artwork submissions with written explanations. This tool analyzes images containing both visual work and written components, providing feedback and scoring.
- Artwork Analysis: Evaluates visual elements, theme representation, creativity, technical execution, and message clarity of the artwork.
- Essay Extraction and Analysis: Extracts the written explanation from the image and analyzes it for understanding, interpretation depth, clarity, and conceptual thinking.
- Rubric-Based Scoring: Combines both analyses to provide a final score (0-100) and letter grade based on a detailed rubric.
- Reporting: Generates detailed reports that can be displayed in the terminal or saved to a file.
- Python 3.6 or higher
- Ollama running locally with the following models:
llava(for vision-based analysis)llama3(for text analysis and scoring)
- Clone this repository or download the script
- Install required dependencies:
pip install requests- Ensure Ollama is running locally with the required models
Basic usage:
python artwork_analysis.py path/to/student_submission.jpgSave the evaluation to a file:
python artwork_analysis.py path/to/student_submission.jpg --output evaluation_report.txtThe tool performs a three-step evaluation process:
- Artwork Analysis: Uses the llava vision model to analyze the visual components of the submission
- Essay Extraction and Analysis: Extracts and evaluates the written explanation from the image
- Final Scoring: Uses the llama3 model to score the work based on a comprehensive rubric
Submissions are evaluated on a scale of 0-100 with corresponding letter grades:
- 90-100% (A): Exceptional work
- 80-89% (B): Solid work
- 70-79% (C): Satisfactory work
- 60-69% (D): Below average work
- Below 60% (F): Unsatisfactory work
Evaluation criteria include:
- Theme relevance and understanding
- Creativity and originality
- Technical quality and execution
- Narrative depth and insight
- Overall coherence between artwork and explanation
While this tool can be adapted for various types of art assignments, the current implementation includes prompts focused on evaluating cybersecurity and data privacy themed artwork. You can modify the prompt templates in the code to adapt it for other types of assignments.
The repository includes a sample image file for testing:
artworksub_sample2.jpg