Retourner une réponse de prédiction structurée

Déployer l'IA en production avec FastAPI

Matt Eckerle

Software and Data Engineering Leader

Défis du déploiement de modèles

Organigramme montrant une prédiction ML avec FastAPI

 

 

  1. Bien recevoir les données d'entrée
  2. Valider les données reçues et gérer les erreurs
  3. Faire les prédictions
  4. Retourner des réponses bien structurées
Déployer l'IA en production avec FastAPI

Définir la structure de la requête

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

text: str
sentiment: str
confidence: float
Déployer l'IA en production avec FastAPI

Créer le point de terminaison de prédiction

@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 d'entrée :

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

 

Réponse :

{
    "text": "This movie was fantastic!",
    "sentiment": "POSITIVE",
    "confidence": 0.95
}
Déployer l'IA en production avec FastAPI

Gestion des erreurs

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"
    )

Réponse quand le modèle échoue à prédire

{
    "detail": "Prediction failed",
    "status_code": 500
}
Déployer l'IA en production avec FastAPI

Mettre le point de terminaison à l'essai

# Example request
import requests

response = requests.post(
    "http://localhost:8000/predict",
    json={"text": "Great product!"}
)
print(response.json())
{
    "text": "Great product!",
    "sentiment": "POSITIVE",
    "confidence": 0.998
}
Déployer l'IA en production avec FastAPI

Passons à la pratique !

Déployer l'IA en production avec FastAPI

Preparing Video For Download...