File size: 661 Bytes
cd05673
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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))