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
Instructions de l’exercice
- Implémentez un point de terminaison
POSTà la route/analyze. - Validez
requestdans la fonctionanalyze_comment()selonCommentRequest. - Faites des prédictions avec
sentiment_modelen lui passant letextderequest. - Retournez les attributs de la prédiction (
textdepuisrequest,"label"et"score"depuisresult[0]) pour formater la réponse sortante dansCommentResponse.
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"
)