Añadir una nueva versión de punto final
Un cliente de tu API de clasificación Penguin ha solicitado un punto final que preprocese los datos de una cadena de texto delimitada por espacios en lugar de un diccionario JSON. Debes añadir un esquema «v2» y un punto final a tu aplicación para aceptar el nuevo formato de entrada.
La instancia FastAPI denominada app
y la clase PenguinV1
se han precargado.
Este ejercicio forma parte del curso
Implementación de IA en producción con FastAPI
Instrucciones del ejercicio
- Añade un modelo Pydantic «
PenguinV2
» que acepta un parámetro «data
» como cadena. - Añade un punto final clasificador de pingüinos v2 en
/v2/penguin_classifier
. - Utiliza el modelo v2 como entrada para el punto final v2.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# 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