Spaces:
Sleeping
Sleeping
| """Mastery prediction API router. | |
| Exposes POST /ai/v2/predict-mastery for per-student per-LO mastery inference. | |
| """ | |
| from fastapi import APIRouter, Depends | |
| from app.api.v2.dependencies import get_mastery_service | |
| from app.schemas.mastery import MasteryRequest, MasteryResponse | |
| router = APIRouter(prefix="/ai/v2", tags=["inference"]) | |
| async def predict_mastery( | |
| request: MasteryRequest, | |
| service=Depends(get_mastery_service), | |
| ) -> MasteryResponse: | |
| """Predict mastery score and label for a student-LO pair.""" | |
| return service.predict(student_id=request.student_id, lo_id=request.lo_id) | |