Restituire output strutturati dall'API
Stai costruendo un sistema di moderazione dei contenuti in cui devi definire un endpoint POST per testare un modello pre-addestrato di sentiment analysis sui commenti degli utenti.
Devi creare un endpoint che sfrutti i modelli pydantic per restituire le previsioni in un formato strutturato.
Nota: I modelli Pydantic — CommentRequest e CommentResponse — sono già stati creati per te, insieme al sentiment_model pre-addestrato dalla classe predefinita SentimentAnalyzer.
Questo esercizio fa parte del corso
Deployment di AI in produzione con FastAPI
Istruzioni dell'esercizio
- Implementa un endpoint
POSTalla rotta/analyze. - Valida
requestnella funzioneanalyze_comment()secondoCommentRequest. - Effettua le previsioni usando
sentiment_modelpassando iltextdirequest. - Restituisci gli attributi della previsione (
textdarequest,"label"e"score"daresult[0]) per formattare la risposta in uscita inCommentResponse.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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"
)