ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Implemente um endpoint POST na rota /analyze.
  • Valide o request na função analyze_comment() conforme o CommentRequest.
  • Faça previsões usando o sentiment_model, passando o text do request.
  • Retorne os atributos da previsão (text do request, "label" e "score" de result[0]) para formatar a resposta de saída em CommentResponse.

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"
        )
Editar e executar o código