Retornando resultados estruturados da API
Você tá criando um sistema de moderação de conteúdo onde precisa definir um endpoint POST pra testar um modelo de análise de sentimentos pré-treinado nos comentários dos usuários.
Você precisa criar um endpoint que use modelos de pydantic para devolver previsões num formato estruturado.
Observação: Modelos Pydantic - CommentRequest e CommentResponse já estão prontos pra você usar junto com o sentiment_model pré-treinado da classe SentimentAnalyzer pré-definida.
Este exercício faz parte do curso
Implementando IA na produção com FastAPI
Instruções do exercício
- Implementa um endpoint “
POST” na rota “/analyze”. - Valida o
requestna funçãoanalyze_comment()de acordo com oCommentRequest. - Faça previsões usando
sentiment_modelpassando orequest'stext. - Retorne os atributos de previsão (
textderequest,"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"
)