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
request
na funçãoanalyze_comment()
de acordo com oCommentRequest
. - Faça previsões usando
sentiment_model
passando orequest
'stext
. - Retorne os atributos de previsão (
text
derequest
,"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"
)