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
Instructions
- Mettez en œuvre un point de terminaison d'
POST
à l'adresse/analyze
. - Veuillez vérifier l'
request
dans la fonctionanalyze_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 derequest
,"label"
et"score"
provenant deresult[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"
)