添加一个新的端点版本
您的一位企鹅分类 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