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>Instructions de l’exercice
- Ajoutez un modèle Pydantic
PenguinV2qui accepte un paramètredatade 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