Renvoyer 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 accepter les données en entrée
  2. Valider les données entrantes et gérer les erreurs
  3. Faire les prédictions
  4. Renvoyer 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 l'endpoint 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

Tester l'endpoint

# 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...