Añadir una nueva versión de endpoint
Un cliente de tu API de clasificación de pingüinos ha solicitado un endpoint que preprocese datos a partir de una cadena de texto delimitada por espacios en lugar de un diccionario JSON. Necesitas añadir un esquema y un endpoint "v2" a tu aplicación para aceptar el nuevo formato de entrada.
La instancia de FastAPI llamada app y la clase PenguinV1 ya están precargadas.
Este ejercicio forma parte del curso
Implementación de IA en producción con FastAPI
Instrucciones del ejercicio
- Añade un modelo de Pydantic
PenguinV2que acepte un parámetrodatade tipo cadena. - Añade un endpoint v2 del clasificador de pingüinos en
/v2/penguin_classifier. - Usa el modelo v2 como entrada para el endpoint v2.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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