CoolFace
Modelpublic

aigenrec/luminabackend

sourceHugging Faceupdated 10mo agoView on Hugging Face
0likes
evaluation.py65 linesDownload Raw Back to endpoints
1from fastapi import APIRouter, HTTPException, Depends2from services.evaluation_service import evaluation_service3from models.schemas import (4    EvaluationSubmitRequest, EvaluationResponse,5    SubjectiveTestGenerateRequest, SubjectiveTestResponse,6    SubjectiveTestSubmitRequest, SubjectiveTestResult7)8from typing import Any9from api.deps import get_current_user10 11router = APIRouter()12 13@router.post("/generate-test", response_model=SubjectiveTestResponse)14async def generate_subjective_test(15    request: SubjectiveTestGenerateRequest,16    current_user: dict = Depends(get_current_user)17):18    """19    Generate a subjective test for a topic20    """21    try:22        result = await evaluation_service.generate_subjective_test(23            project_id=request.project_id,24            topic=request.topic,25            num_questions=request.num_questions26        )27        return result28    except Exception as e:29        raise HTTPException(500, str(e))30 31@router.post("/submit-test", response_model=SubjectiveTestResult)32async def submit_subjective_test_endpoint(33    request: SubjectiveTestSubmitRequest,34    current_user: dict = Depends(get_current_user)35):36    """37    Submit subjective test answers for evaluation38    """39    try:40        result = await evaluation_service.submit_subjective_test(41            test_id=request.test_id,42            answers=request.answers43        )44        return result45    except Exception as e:46        raise HTTPException(500, str(e))47 48@router.post("/submit", response_model=EvaluationResponse)49async def submit_evaluation(50    request: EvaluationSubmitRequest,51    current_user: dict = Depends(get_current_user)52):53    """54    Submit a subjective answer for AI evaluation (Single Question)55    """56    try:57        result = await evaluation_service.evaluate_answer(58            project_id=request.project_id,59            user_id=current_user["id"],60            question=request.question,61            user_answer=request.user_answer62        )63        return result64    except Exception as e:65        raise HTTPException(500, str(e))