オンライン・デプロイメントまたはバッチ・デプロイメントを作成した後でも、デプロイメントの詳細を更新したり、デプロイメントに関連付けられている資産を更新したりすることができます。
詳しくは、以下を参照してください。
デプロイメントの詳細の更新
以下のいずれかの方法を使用して、デプロイメント名、説明、メタデータ、タグなどの一般的なデプロイメントの詳細を更新できます。
開始前に
APIキーを生成して、タスクの認証情報を設定する必要があります。 詳細については、タスク資格情報の管理を参照のこと。
UI からのデプロイメントの詳細の更新
デプロイメント・スペースの 「デプロイメント」 タブで、デプロイメントのアクション・メニューをクリックし、 「設定の編集」を選択します。
詳細を更新して、 「保存」をクリックします。
ヒント: デプロイメントの情報シートからデプロイメントを更新することもできます。
パッチ API コマンドを使用したデプロイメント詳細の更新
配備の詳細を更新するには、watsonx.aiRuntime API Patchコマンドを使用します。
curl -X PATCH '<deployment endpoint url>/ml/v4/deployments/<deployment id>?space_id=<space id>&version=<YYYY-MM-DD>' \n--data-raw '[
{
"op": "<operation type>",
"path": "<path>",
"value": "<new value>"
},
{
"op": "<operation type>",
"path": "<path>",
"value": "<new value>"
}
]'
例えば、デプロイメントの説明を更新するには:
curl -X PATCH '<deployment endpoint url>/ml/v4/deployments/<deployment_id>?space_id=<space_id>&version=<YYYY-MM-DD>' \n--data-raw '[
{
"op": "replace",
"path": "/description",
"value": "<new_description>"
},
]'
注記:
<operation type>
の場合は、"add"
、"remove"
、または"replace"
を使用します。
デプロイメントに関連付けられた資産の更新
オンライン・デプロイメントまたはバッチ・デプロイメントを作成したら、デプロイ済みの資産を同じエンドポイントから更新できます。 例えば、よりパフォーマンスの高いモデルがある場合、デプロイ済みのモデルを、その改善されたバージョンに置き換えることができます。 更新が完了すると、REST API エンドポイントから新しいモデルが使用可能になります。
アセットを更新する前に、以下の条件が満たされていることを確認してください。
新規モデルのフレームワークは、既存のデプロイ済みモデルと互換性があります。
入力スキーマが存在し、新規モデルとデプロイ済みモデルが一致します。
注意: これらの条件に従わないと、デプロイメントが失敗する可能性があります。詳しくは、 デプロイメント・スペース UI からの資産の更新を参照してください。
詳しくは、 Patch API コマンドを使用したアセットの更新を参照してください。
デプロイメント・スペース UI からの資産の更新
- デプロイメント・スペースの 「デプロイメント」 タブで、デプロイメントのアクション・メニューをクリックし、 「編集」を選択します。
- 「資産の置換」をクリックします。 「資産の選択」 ダイアログ・ボックスで、現在の資産を置き換える資産を選択し、 「資産の選択」をクリックします。
- 保存 をクリックします。
パッチ API コマンドを使用したアセットの更新
サポートされているアセットを更新するには、watsonx.aiRuntimeAPI の'Patch
コマンドを使用します。
以下のメソッドを使用して、オンライン・デプロイメントのモデルにパッチを適用します。
curl -X PATCH '<deployment endpoint url>/ml/v4/models/<model_id>?space_id=<space_id>&project_id=<project_id>&version=<YYYY-MM-DD>' \n--data-raw '[
{
"op": "<operation type>",
"path": "<path>",
"value": "<new value>"
},
{
"op": "<operation type>",
"path": "<path>",
"value": "<new value>"
}
]'
例えば、スペース ID f2ddb8ce-7b10-4846-9ab0-62454a449802
内の ID 6f01d512-fe0f-41cd-9a52-1e200c525c84
でモデルをパッチします:
curl -X PATCH '<deployment endpoint url>/ml/v4/models/6f01d512-fe0f-41cd-9a52-1e200c525c84?space_id=f2ddb8ce-7b10-4846-9ab0-62454a449802&project_id=<project_id>&version=<YYYY-MM-DD>' \n--data-raw '[
{
"op":"replace",
"path":"/asset",
"value":{
"id":"6f01d512-fe0f-41cd-9a52-1e200c525c84",
"rev":"1"
}
}
]'
正常な出力応答は、以下のようになります。
{
"entity": {
"asset": {
"href": "/v4/models/6f01d512-fe0f-41cd-9a52-1e200c525c84?space_id=f2ddb8ce-7b10-4846-9ab0-62454a449802",
"id": "6f01d512-fe0f-41cd-9a52-1e200c525c84"
},
"custom": {
},
"description": "Test deployments",
"name": "test_v4_dep_online_space_hardware_spec",
"online": {
},
"space": {
"href": "/v4/spaces/f2ddb8ce-7b10-4846-9ab0-62454a449802",
"id": "f2ddb8ce-7b10-4846-9ab0-62454a449802"
},
"space_id": "f2ddb8ce-7b10-4846-9ab0-62454a449802",
"status": {
"online_url": {
"url": "https://example.com/v4/deployments/349dc1f7-9452-491b-8aa4-0777f784bd83/predictions"
},
"state": "updating"
}
},
"metadata": {
"created_at": "2020-06-08T16:51:08.315Z",
"description": "Test deployments",
"guid": "349dc1f7-9452-491b-8aa4-0777f784bd83",
"href": "/v4/deployments/349dc1f7-9452-491b-8aa4-0777f784bd83",
"id": "349dc1f7-9452-491b-8aa4-0777f784bd83",
"modified_at": "2020-06-08T16:55:28.348Z",
"name": "test_v4_dep_online_space_hardware_spec",
"parent": {
"href": ""
},
"space_id": "f2ddb8ce-7b10-4846-9ab0-62454a449802"
}
}
注:
<operation type>
の場合は、"add"
、"remove"
、または"replace"
を使用します。PATCH API 出力の初期状態は「updating」です。 状況が「準備完了」に変わるまでポーリングを続けてから、デプロイメント・メタを取得します。
アセット・パッチに指定できるのは、
ASSET
属性のみです。 その他の属性を変更すると、エラーになります。現在のモデルとパッチが適用されているモデルのスキーマが、導入済みの資産と比較されます。 2 つが一致しない場合は、パッチ要求 API の出力に警告メッセージが返されます。 例えば、不一致が検出された場合、この情報を出力応答で見つけることができます。
"status": { "message": { "text": "The input schema of the asset being patched does not match with the currently deployed asset. Please ensure that the score payloads are up to date as per the asset being patched." },
詳しくは、 API を使用したソフトウェア仕様の更新を参照してください。
親トピック: 予測デプロイメントの管理