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
Instructions
- Implémentez un endpoint
POSTà la route/analyze. - Validez le
requestdans la fonctionanalyze_comment()conformément àCommentRequest. - Effectuez des prédictions avec
sentiment_modelen passant letextderequest. - Renvoyez les attributs de prédiction (
textdepuisrequest,"label"et"score"depuisresult[0]) afin de formater la réponse sortante dansCommentResponse.
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"
)