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
Instrucciones del ejercicio
- Implementa un punto final
POST
en la ruta/analyze
. - Valida el
request
en la funciónanalyze_comment()
según elCommentRequest
. - Haz predicciones utilizando
sentiment_model
pasando elrequest
'stext
. - Devuelve los atributos de predicción (
text
derequest
,"label"
y"score"
deresult[0]
) para dar formato a la respuesta saliente enCommentResponse
.
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"
)