EmpezarEmpieza gratis

Devolver salida estructurada desde la API

Estás creando un sistema de moderación de contenido en el que necesitas definir un endpoint POST para probar un modelo de análisis de sentimiento preentrenado sobre comentarios de usuarios.

Tienes que crear un endpoint que aproveche modelos de pydantic para devolver predicciones en un formato estructurado.

Nota: Los modelos de Pydantic, CommentRequest y CommentResponse, ya están creados para que los utilices junto con el sentiment_model preentrenado de la clase predefinida SentimentAnalyzer.

Este ejercicio forma parte del curso

Implementación de IA en producción con FastAPI

Ver curso

Instrucciones del ejercicio

  • Implementa un endpoint POST en la ruta /analyze.
  • Valida el request en la función analyze_comment() según CommentRequest.
  • Realiza predicciones usando sentiment_model pasando el text de request.
  • Devuelve los atributos de la predicción (text de request, "label" y "score" de result[0]) para formatear la respuesta de salida en CommentResponse.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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 y ejecutar código