Devolver una respuesta de predicción estructurada

Implementación de IA en producción con FastAPI

Matt Eckerle

Software and Data Engineering Leader

Retos al desplegar modelos

Diagrama de flujo que muestra predicción de ML con FastAPI

 

 

  1. Aceptar bien los datos de entrada
  2. Validar datos entrantes y gestionar errores
  3. Hacer predicciones
  4. Devolver respuestas bien estructuradas
Implementación de IA en producción con FastAPI

Definir la estructura de la solicitud

from pydantic import BaseModel
class PredictionRequest(BaseModel):
    text: str
class PredictionResponse(BaseModel):

text: str
sentiment: str
confidence: float
Implementación de IA en producción con FastAPI

Crear el endpoint de predicción

@app.post("/predict")
def predict_sentiment(request: PredictionRequest):
    if sentiment_model is None:
        raise HTTPException(
            status_code=503,
            detail="Model not loaded"
        )

result = sentiment_model(request.text)
return PredictionResponse( text=request.text, sentiment=result[0]["label"], confidence=result[0]["score"] )

JSON de entrada:

{"text": "This movie was fantastic!"}

 

Respuesta:

{
    "text": "This movie was fantastic!",
    "sentiment": "POSITIVE",
    "confidence": 0.95
}
Implementación de IA en producción con FastAPI

Gestión de errores

try:
  result = sentiment_model(request.text)
  return PredictionResponse(
        text=request.text,
        sentiment=result[0]["label"],
        confidence=result[0]["score"]
    )
except Exception:
  raise HTTPException(
        status_code=500,
        detail="Prediction failed"
    )

Respuesta cuando el modelo no puede predecir

{
    "detail": "Prediction failed",
    "status_code": 500
}
Implementación de IA en producción con FastAPI

Probar el endpoint

# Ejemplo de solicitud
import requests

response = requests.post(
    "http://localhost:8000/predict",
    json={"text": "Great product!"}
)
print(response.json())
{
    "text": "Great product!",
    "sentiment": "POSITIVE",
    "confidence": 0.998
}
Implementación de IA en producción con FastAPI

¡Vamos a practicar!

Implementación de IA en producción con FastAPI

Preparing Video For Download...