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
Instrucciones del ejercicio
- Implementa un endpoint
POSTen la ruta/analyze. - Valida el
requesten la funciónanalyze_comment()segúnCommentRequest. - Realiza predicciones usando
sentiment_modelpasando eltextderequest. - Devuelve los atributos de la predicción (
textderequest,"label"y"score"deresult[0]) para formatear la respuesta de salida enCommentResponse.
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"
)