Dodawanie nowej wersji endpointu
Klient korzystający z twojego API do klasyfikacji pingwinów poprosił o endpoint, który przetwarza dane z ciągu tekstowego rozdzielonego spacjami, zamiast słownika JSON. Musisz dodać schemat i endpoint "v2" do swojej aplikacji, aby obsługiwała nowy format danych wejściowych.
Instancja FastAPI o nazwie app oraz klasa PenguinV1 zostały wczytane z wyprzedzeniem.
To ćwiczenie jest częścią kursu
Wdrażanie AI na produkcję z FastAPI
Instrukcje do ćwiczenia
- Dodaj model Pydantic
PenguinV2, który przyjmuje parametrdatajako ciąg znaków. - Dodaj endpoint klasyfikatora pingwinów w wersji v2 pod ścieżką
/v2/penguin_classifier. - Użyj modelu v2 jako danych wejściowych dla endpointu v2.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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