ComenzarEmpieza gratis

Devolución de resultados estructurados desde la API

Estás creando un sistema de moderación de contenidos en el que necesitas definir un punto final POST para probar un modelo de análisis de opiniones preentrenado en los comentarios de los usuarios.

Debes crear un punto final que aproveche los modelos de predicción de tiempo de vida ( pydantic ) para devolver predicciones en un formato estructurado.

Nota: Los modelos Pydantic ( CommentRequest y CommentResponse ) ya están creados para que los uses junto con el modelo preentrenado ( sentiment_model ) 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 punto final POST en la ruta /analyze.
  • Valida el request en la función analyze_comment() según el CommentRequest.
  • Haz predicciones utilizando sentiment_model pasando el request's text.
  • Devuelve los atributos de predicción (text de request, "label" y "score" de result[0]) para dar formato a la respuesta saliente en CommentResponse.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

# 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