Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Dodaj model Pydantic PenguinV2, który przyjmuje parametr data jako 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
Edytuj i uruchom kod