aaa / app /api /v2 /bloom.py
work-sejal
Deploy AI service with FastAPI
70ea7be
Raw
History Blame Contribute Delete
1.07 kB
"""Bloom classification API router.
POST /ai/v2/classify-bloom — classifies a question's cognitive level
according to Bloom's taxonomy.
"""
from fastapi import APIRouter, Depends
from app.api.v2.dependencies import get_bloom_service
from app.schemas.bloom import BloomRequest, BloomResponse
from app.services.bloom_service import BloomService
router = APIRouter(prefix="/ai/v2", tags=["inference"])
@router.post(
"/classify-bloom",
response_model=BloomResponse,
summary="Classify Bloom Level",
description=(
"Classify a question's cognitive level according to Bloom's taxonomy. "
"Returns the predicted Bloom level with confidence and an explanation."
),
)
async def classify_bloom(
request: BloomRequest,
service: BloomService = Depends(get_bloom_service),
) -> BloomResponse:
"""Classify a question's Bloom taxonomy level."""
return service.predict(
question_text=request.question_text,
grade=request.grade,
subject=request.subject,
question_type=request.question_type,
)