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.
AI-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.
Prerequisites: - Python 3.13 - Pip - OpenAI API Key - Terminal / Command Prompt Step 1: Install Dependencies pip install -r requirements.txt pip install email-validator bcrypt==4.0.1 Note: Use bcrypt==4.0.1 because newer versions are incompatible with passlib 1.7.4. Step 2: Configure Environment Variables Open the .env file and configure: 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 This creates: - Demo Teacher: teacher@demo.com - Demo Student: student@demo.com - Password: demo1234 It also creates a sample assignment for testing.
FAQ for this project coming soon.
No reviews yet. Be the first to review!