EmpezarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Añade un modelo de Pydantic PenguinV2 que acepte un parámetro data de 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
Editar y ejecutar código