23% OFF AI-Based Assignment Evaluator System is an advanced web application built with Python FastAPI that automatically evaluates student assignments using OpenAI GPT-4o-mini and Sentence Transformers, generates detailed feedback, calculates scores, and stores results.
Read moreAI-Based Assignment Evaluator System is an advanced web-based application developed using Python, FastAPI, OpenAI GPT-4o-mini, and Sentence Transformers. The system is designed to automate student assignment evaluation by analyzing answers, calculating scores, generating detailed feedback, identifying missing points, and providing improvement suggestions.
Teachers can create assignments with questions, model answers, and marks, then share them with selected students or all registered students. Students can submit their answers by typing directly in the browser or by uploading typed or handwritten PDF files. The AI evaluation engine combines GPT-based evaluation with semantic similarity scoring to generate a final result.
| Technology | Details |
|---|---|
| Programming Language | Python 3.13 |
| Backend Framework | FastAPI |
| AI Engine | OpenAI GPT-4o-mini |
| NLP / Similarity | Sentence Transformers (all-MiniLM-L6-v2) |
| Database | SQLite via SQLAlchemy ORM |
| PDF / OCR | PyMuPDF, Pytesseract |
| Authentication | JWT, python-jose, passlib bcrypt |
| Frontend | HTML5, CSS3, Vanilla JavaScript |
| Server | Uvicorn |
The teacher first creates an assignment by adding questions, model answers, and marks. The assignment can then be shared with selected students or all registered students. Students access their personalized assignment list and submit answers either by typing in the browser or uploading a PDF.
For PDF submissions, PyMuPDF extracts the text, while Pytesseract provides OCR support for scanned documents. The system evaluates each answer using OpenAI GPT-4o-mini and Sentence Transformers. The final score is calculated using a blended formula of 70% OpenAI marks and 30% semantic similarity marks. Results, feedback, missing points, and improvement suggestions are then stored in SQLite and displayed on the student and teacher dashboards.
This project provides practical experience with modern AI and full-stack development technologies including FastAPI, OpenAI API integration, Sentence Transformers, semantic similarity, OCR, PDF processing, SQLAlchemy, JWT authentication, and automated assignment evaluation.
Step 1: Install Dependencies
pip install -r requirements.txt
pip install email-validator bcrypt==4.0.1
Use bcrypt==4.0.1 because newer versions are incompatible with passlib 1.7.4.
Step 2: Configure Environment Variables
OPENAI_API_KEY=sk-...your_key_here...
SECRET_KEY=your_secret_key
DATABASE_URL=sqlite:///./assignment_evaluator.db
UPLOAD_FOLDER=uploads
ACCESS_TOKEN_EXPIRE_MINUTES=1440
Step 3: Start the Server
python run.py
Step 4: Create Demo Accounts and Sample Data
python setup_demo.py
It also creates a sample assignment for testing.
Stuck while running it? Chat with us on WhatsApp for free installation help.
No reviews yet. Be the first to review this project.