Lägga till en ny version av en endpoint
En kund som använder ditt pingvinklassificerings-API har begärt en endpoint som förbehandlar data från en mellanslags-separerad textsträng i stället för ett JSON-lexikon. Du behöver lägga till ett "v2"-schema och en tillhörande endpoint i din app för att stödja det nya indataformatet.
FastAPI-instansen app och klassen PenguinV1 är redan inlästa.
Den här övningen är en del av kursen
Driftsättning av AI i produktion med FastAPI
Övningsinstruktioner
- Lägg till en Pydantic-modell
PenguinV2som tar emot parameterndatasom en sträng. - Lägg till en v2-endpoint för pingvinklassificering på sökvägen
/v2/penguin_classifier. - Använd v2-modellen som indata för v2-endpointen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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