Добавление новой версии эндпоинта
Клиент вашего API классификации пингвинов попросил добавить эндпоинт, который предобрабатывает данные из текстовой строки с разделителями-пробелами вместо JSON-словаря. Вам нужно добавить схему и эндпоинт «v2» в приложение, чтобы принимать новый формат входных данных.
Экземпляр FastAPI с именем app и класс PenguinV1 уже загружены.
Это упражнение является частью курса
Развёртывание ИИ в производственной среде с помощью FastAPI
Инструкции к упражнению
- Добавьте модель Pydantic
PenguinV2, которая принимает параметрdataв виде строки. - Добавьте эндпоинт классификатора пингвинов v2 по пути
/v2/penguin_classifier. - Используйте модель v2 в качестве входных данных для эндпоинта v2.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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