Retornando saída estruturada da API
Você está criando um sistema de moderação de conteúdo em que precisa definir um endpoint POST para testar um modelo pré-treinado de análise de sentimento em comentários de usuários.
Você precisa criar um endpoint que aproveite modelos do pydantic para retornar previsões em um formato estruturado.
Observação: Os modelos Pydantic — CommentRequest e CommentResponse — já foram criados para você usar junto com o sentiment_model pré-treinado da classe SentimentAnalyzer predefinida.
Este exercício faz parte do curso
Colocando IA em Produção com FastAPI
Instruções do exercício
- Implemente um endpoint
POSTna rota/analyze. - Valide o
requestna funçãoanalyze_comment()conforme oCommentRequest. - Faça previsões usando o
sentiment_model, passando otextdorequest. - Retorne os atributos da previsão (
textdorequest,"label"e"score"deresult[0]) para formatar a resposta de saída emCommentResponse.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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"
)