ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Implementa um endpoint “ POST ” na rota “ /analyze ”.
  • Valida o request na função analyze_comment() de acordo com o CommentRequest.
  • Faça previsões usando sentiment_model passando o request's text.
  • Retorne os atributos de previsão (text de 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