Returnarea unui răspuns structurat din API
Construiești un sistem de moderare a conținutului și trebuie să definești un endpoint POST pentru a testa un model pre-antrenat de analiză a sentimentelor pe comentariile utilizatorilor.
Vei crea un endpoint care folosește modele pydantic pentru a returna predicții într-un format structurat.
Notă: Modelele Pydantic — CommentRequest și CommentResponse — sunt deja create și pot fi utilizate împreună cu sentiment_model pre-antrenat din clasa predefinită SentimentAnalyzer.
Acest exercițiu face parte din cursul
Deployment AI în producție cu FastAPI
Instrucțiuni pentru exercițiu
- Implementează un endpoint
POSTla ruta/analyze. - Validează
requestîn funcțiaanalyze_comment()conform modeluluiCommentRequest. - Generează predicții folosind
sentiment_model, transmițândtext-ul dinrequest. - Returnează atributele predicției (
textdinrequest,"label"și"score"dinresult[0]) pentru a formata răspunsul de ieșire înCommentResponse.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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"
)