始める無料で始める

新しいエンドポイントバージョンの追加

ペンギン分類 API のユーザーから、JSON 辞書の代わりにスペース区切りのテキスト文字列からデータを前処理するエンドポイントが欲しいというリクエストがありました。新しい入力形式に対応するため、アプリに「v2」のスキーマとエンドポイントを追加する必要があります。

app という名前の FastAPI インスタンスと PenguinV1 クラスはあらかじめ読み込まれています。

この演習はコースの一部です

FastAPI を使った AI のプロダクション環境へのデプロイ

コースを見る

演習の手順

  • 文字列型のパラメータ data を受け取る PenguinV2 Pydantic モデルを追加してください。
  • /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
コードを編集して実行