Inizia subitoInizia gratis

Aggiungere una nuova versione dell'endpoint

Un cliente della tua API di classificazione dei pinguini ha chiesto un endpoint che pre-elabora i dati a partire da una stringa di testo con spazi come delimitatori invece di un dizionario JSON. Devi aggiungere uno schema e un endpoint "v2" alla tua app per accettare il nuovo formato di input.

L'istanza FastAPI chiamata app e la classe PenguinV1 sono già state caricate.

Questo esercizio fa parte del corso

Deployment di AI in produzione con FastAPI

Visualizza corso

Istruzioni dell'esercizio

  • Aggiungi un modello Pydantic PenguinV2 che accetti un parametro data come stringa.
  • Aggiungi un endpoint v2 per il classificatore dei pinguini su /v2/penguin_classifier.
  • Usa il modello v2 come input per l'endpoint v2.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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
Modifica ed esegui il codice