新增端點版本
你的企鵝分類 API 有位客戶希望提供一個端點,可以從以空白分隔的純文字字串進行前處理,而不是使用 JSON 字典。你需要在應用程式中新增「v2」結構與端點,以接受這種新的輸入格式。
名為 app 的 FastAPI 執行個體與 PenguinV1 類別已預先載入。
本練習屬於課程
使用 FastAPI 將 AI 佈署到生產環境
練習說明
- 新增
PenguinV2Pydantic 模型,接受字串參數data。 - 在
/v2/penguin_classifier新增 v2 企鵝分類器端點。 - 在 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