AI Engine: OpenAI GPT-4o Vision

Examination Evaluation Dashboard

Monitor student booklet submissions, grading progress, and performance metrics.

Evaluations Completed
0
📝
Average Percentage
0.0%
🎯
Highest Score Awarded
0.0
🏆
Active Standard
CBSE Class 12
📚

Recent Evaluations

Latest student answer sheets processed by AI Examiner

Candidate / Examination Files (Booklet & QP) Evaluated On Marks Obtained Percentage Status Action
Loading evaluations...

All Examination Evaluation Records

Complete historical log of all evaluated answer booklets, scores, and examiner feedback.

Filter:
Showing records
Job ID / Candidate Files (Booklet & QP) Timestamp Marks Awarded Score % Status Actions
Loading records...

Evaluate Examination Booklets

Grade individual student booklets or batch-upload entire class sheets against a single question paper.

📋
Select or Drop Answer Sheet
PDF scanned student booklet up to 50MB
📝
Select Question Paper (Optional)
Default CBSE Chemistry paper parsed if left blank

Batch Performance Analytics

Aggregated statistics, section performance comparison, and grade distribution.

Grade Distribution

Exam Structure Insights

Syllabus: CBSE Class XII Chemistry Examination

Total Maximum Marks: 70.0 marks across 33 questions

Sections Configured:

  • Section A: 16 MCQs / Assertion-Reason (1 mark each = 16 marks)
  • Section B: 5 Short Answer Questions (2 marks each = 10 marks)
  • Section C: 7 Short Answer Questions (3 marks each = 21 marks)
  • Section D: 2 Case-Based Questions (4 marks each = 8 marks)
  • Section E: 3 Long Answer Questions (5 marks each = 15 marks)

REST API Endpoints & Integration

Integrate exam grading automation into your existing SIS, LMS, or web apps.

🔍 Test Health Endpoint

Python Integration Example

import time
import requests

API_URL = "http://localhost:8000/api/evaluate/"

# Submit student handwritten answer booklet
with open("ans/student.pdf", "rb") as ans_f, open("questionpaper/qp.pdf", "rb") as qp_f:
    response = requests.post(
        API_URL,
        files={"answer_sheet": ans_f, "question_paper": qp_f},
        data={"title": "Candidate #101", "async": "true"}
    ).json()

status_url = response["status_url"]
print("Job Queued:", response["job_id"])

# Poll until grading completes
while True:
    res = requests.get(status_url).json()
    if res["status"] == "COMPLETED":
        report = res["result_json"]
        print(f"Final Score: {report['total_marks_awarded']} / {report['total_max_marks']} ({report['percentage']}%)")
        break
    elif res["status"] == "FAILED":
        print("Failed:", res.get("error_message"))
        break
    time.sleep(3)