from fastapi import APIRouter, HTTPException from app.schemas.moderation import ModerationRequest, ModerationResponse from app.services.moderation_service import moderation_service router = APIRouter() @router.post("/moderate", response_model=ModerationResponse) async def moderate_text(request: ModerationRequest): """ Check a piece of text for toxicity. If flagged, returns 8 AI-generated safe alternatives. """ try: result = moderation_service.get_moderation_scores(request.text) return ModerationResponse(**result) except RuntimeError as e: raise HTTPException(status_code=500, detail=str(e))