my-moderation-api / app /api /v1 /endpoints /moderation.py
AsyncCoder-10's picture
Upload 24 files
cd05673 verified
Raw History Blame Contribute Delete
661 Bytes
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))