CommencezCommencez gratuitement

Retourner une sortie structurée depuis l'API

Vous mettez en place un système de modération de contenu où vous devez définir un point de terminaison POST pour tester un modèle préentraîné d'analyse de sentiment sur des commentaires d'utilisateurs.

Vous devez créer un point de terminaison qui exploite des modèles pydantic afin de retourner les prédictions dans un format structuré.

Remarque : Les modèles Pydantic — CommentRequest et CommentResponse — sont déjà créés pour vous, de même que le sentiment_model préentraîné à partir de la classe prédéfinie SentimentAnalyzer.

Cette activité fait partie du cours

Déployer l'IA en production avec FastAPI

Voir le cours

Instructions de l’exercice

  • Implémentez un point de terminaison POST à la route /analyze.
  • Validez request dans la fonction analyze_comment() selon CommentRequest.
  • Faites des prédictions avec sentiment_model en lui passant le text de request.
  • Retournez les attributs de la prédiction (text depuis request, "label" et "score" depuis result[0]) pour formater la réponse sortante dans CommentResponse.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Create a POST request endpoint
@app.____("/analyze")
# Capture the request text for validation as per CommentRequest model
def analyze_comment(____: CommentRequest):
    try:
        # Specify pass the request text to the model
        result = sentiment_model(____.____)
        # Specify the result attributes to complete the comment response
        return CommentResponse(text=____, 
                               sentiment=____, 
                               confidence=____)
    except Exception:
        raise HTTPException(status_code=500,
            detail="Prediction failed"
        )
Modifier et exécuter le code