Een nieuwe endpointversie toevoegen
Een klant van je pinguïnclassificatie-API heeft gevraagd om een endpoint dat gegevens voorbewerkt vanuit een door spaties gescheiden tekststring in plaats van een JSON-dictionary. Je moet een "v2"-schema en endpoint aan je app toevoegen om het nieuwe invoerformaat te accepteren.
De FastAPI-instantie met de naam app en de klasse PenguinV1 zijn vooraf geladen.
Deze oefening maakt deel uit van de cursus
AI in productie brengen met FastAPI
Oefeninstructies
- Voeg een Pydantic-model
PenguinV2toe dat een parameterdataals string accepteert. - Voeg een v2-endpoint voor de pinguïnclassificatie toe op
/v2/penguin_classifier. - Gebruik het v2-model als input voor het v2-endpoint.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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