CommencerCommencer gratuitement

Renvoyer une sortie structurée depuis l’API

Vous créez un système de modération de contenu où vous devez définir un endpoint POST pour tester un modèle d’analyse de sentiment pré-entraîné sur des commentaires d’utilisateurs.

Vous devez créer un endpoint qui s’appuie sur des modèles pydantic pour renvoyer les prédictions dans un format structuré.

Remarque : les modèles Pydantic — CommentRequest et CommentResponse — sont déjà créés pour que vous puissiez les utiliser avec le sentiment_model pré-entraîné de la classe prédéfinie SentimentAnalyzer.

Cet exercice fait partie du cours

Déployer l’IA en production avec FastAPI

Afficher le cours

Instructions

  • Implémentez un endpoint POST à la route /analyze.
  • Validez le request dans la fonction analyze_comment() conformément à CommentRequest.
  • Effectuez des prédictions avec sentiment_model en passant le text de request.
  • Renvoyez les attributs de prédiction (text depuis request, "label" et "score" depuis result[0]) afin de formater la réponse sortante dans CommentResponse.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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