CommencerCommencez gratuitement

Ajouter une nouvelle version d’endpoint

Un client de votre API de classification des manchots vous demande un point de terminaison qui prétraite des données à partir d’une chaîne de texte délimitée par des espaces, au lieu d’un dictionnaire JSON. Vous devez ajouter un schéma et un endpoint « v2 » à votre application pour accepter ce nouveau format d’entrée.

L’instance FastAPI nommée app et la classe PenguinV1 ont été préchargées.

Cet exercice fait partie du cours

<cours>Déployer l’IA en production avec FastAPI</cours>
Voir le cours

Instructions de l’exercice

  • Ajoutez un modèle Pydantic PenguinV2 qui accepte un paramètre data de type chaîne de caractères.
  • Ajoutez un endpoint de classification des manchots v2 à l’URL /v2/penguin_classifier.
  • Utilisez le modèle v2 comme entrée du point de terminaison v2.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Add v2 model
class ____(BaseModel):
    data: str

@app.post("/v1/penguin_classifier")
def classify_penguin_v1(penguin: PenguinV1):
    values = list(penguin.model_dump().values())
    result = classifier.predict([values])[0]
    return result

# Add v2 endpoint
@app.post("____")
# Use v2 model
def classify_penguin_v2(penguin: ____):
    values = penguin.data.split()
    result = classifier.predict([values])[0]
    return result
Modifier et exécuter le code