CommencerCommencer gratuitement

Renvoi d'une sortie structurée depuis l'API

Vous développez un système de modération de contenu dans lequel vous devez définir un point de terminaison POST afin de tester un modèle d'analyse des sentiments pré-entraîné sur les commentaires des utilisateurs.

Vous devez créer un point de terminaison qui exploite les modèles d'pydantic s pour renvoyer des prédictions dans un format structuré.

Remarque : Les modèles Pydantic - CommentRequest et CommentResponse - sont déjà créés pour être utilisés avec le modèle pré-entraîné sentiment_model 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

  • Mettez en œuvre un point de terminaison d'POST à l'adresse /analyze.
  • Veuillez vérifier l'request dans la fonction analyze_comment() conformément à l'CommentRequest.
  • Faites des prédictions à l'aide de sentiment_model en transmettant l'request « text ».
  • Renvoie les attributs de prédiction (text provenant de request, "label" et "score" provenant de 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