モデル登録用の POST エンドポイント
先ほど作成した GET エンドポイントは既存モデルの情報を取得するためのものでした。今度は、承認されたチームメンバーが新しいモデルを登録したり、既存モデルの情報を更新したりする手段が必要です。
チームメンバーが新しいモデルの登録や既存モデルの更新を行えるよう、POST エンドポイントを作成しましょう。
このエンドポイントは、モデル情報をサーバーに保存します。
この演習はコースの一部です
FastAPI を使った AI のプロダクション環境へのデプロイ
演習の手順
"/register-model"にPOSTリクエストのエンドポイントを作成してください。- 受け取ったモデル情報を
ModelInfoPydantic モデルで受け付け・検証するよう、関数パラメータmodel_infoを定義してください。 ModelInfoオブジェクトを辞書に変換し、model_dbに保存してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
model_db = {}
class ModelInfo(BaseModel):
model_id: int
model_name: str
description: str
# Create the POST request endpoint
@app.____("/register-model", status_code=201)
# Pass the model info from the request as function parameter
def register_model(____: ModelInfo):
# Add new model's information dictionary to the model database
model_db[model_info.model_id] = model_info.____()
return {"message": "Model registered successfully", "model": model_info}, 201