Inizia subitoInizia gratis

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

Visualizza corso

Istruzioni dell'esercizio

  • Implementa un endpoint POST alla rotta /analyze.
  • Valida request nella funzione analyze_comment() secondo CommentRequest.
  • Effettua le previsioni usando sentiment_model passando il text di request.
  • Restituisci gli attributi della previsione (text da request, "label" e "score" da result[0]) per formattare la risposta in uscita in CommentResponse.

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"
        )
Modifica ed esegui il codice