0 / 0
Go back to the English version of the documentation
使用 REST API 更改现有已部署模型的 Python 版本
Last updated: 2024年11月21日
Decision Optimization REST API 更改已部署模型中的 Python 版本

您可以使用watsonx.aiRuntime REST API 更新现有的Decision Optimization模型。 例如,如果您在模型中显式指定了现在已不推荐使用的 Python 版本,那么这可能很有用。

准备工作

您将需要 SPACE-IDMODEL-IDDEPLOYMENT-ID 进行此更改。 请参阅 REST API 示例 以获取更多详细信息。

关于本任务

以下步骤将向您展示如何使用watsonx.aiRuntime REST API 更新已部署的现有Decision Optimization模型。 REST API 示例使用 curl,后者是一个命令行工具和库,用于以 URL 语法传输数据。 您可以下载 curl ,并在 http://curl.haxx.se上阅读有关它的更多信息。

对于 Windows 用户,请将用作多行分隔符的 \ 改为 ^,并在这些代码示例中使用双引号 "。 另外,Windows 用户必须在标题行中至少使用一个空格字符的缩进。

为方便说明,此过程中的某些代码示例已放在 json 文件中,以使命令更容易阅读和使用。

过程

要更改现有已部署模型的 Python 版本,请执行以下操作:

  1. 创建 Decision Optimization 模型的修订版

    所有 API 请求都需要 version 参数,该参数接受格式为 version=YYYY-MM-DD 的日期。 此代码示例发布使用文件 update_model.json的模型。 根据您为 Machine Learning 服务选择的区域/位置,该 URL 会有变化。

    curl --location --request POST \
      "https://us-south.ml.cloud.ibm.com/ml/v4/models/MODEL-ID-HERE/revisions?version=2021-12-01" \
      -H "Authorization: bearer TOKEN-HERE" \
      -H "Content-Type: application/json" \
      -d @revise_model.json
    revise_model.json 文件包含以下代码:
    {
      "commit_message": "Save current model",
      "space_id": "SPACE-ID-HERE"
    }
    请注意输出中提供的模型修订版号 "rev" ,以供下一步使用。
  2. 更新现有部署,以使当前作业不受影响:
    curl --location --request PATCH \
      "https://us-south.ml.cloud.ibm.com/ml/v4/deployments/DEPLOYMENT-ID-HERE?version=2021-12-01&space_id=SPACE-ID-HERE" \
      -H "Authorization: bearer TOKEN-HERE" \
      -H "Content-Type: application/json" \
      -d @revise_deploy.json
    revise_deploy.json 文件包含以下代码:
    [
      {
      "op": "add",
      "path": "/asset",
      "value": {
        "id":"MODEL-ID-HERE",
        "rev":"MODEL-REVISION-NUMBER-HERE"
       }
      }
    ]
  3. 为现有模型添加补丁,以明确指定 Python 版本 3.11
    curl --location --request PATCH \
      "https://us-south.ml.cloud.ibm.com/ml/v4/models/MODEL-ID-HERE?rev=MODEL-REVISION-NUMBER-HERE&version=2021-12-01&space_id=SPACE-ID-HERE" \
      -H "Authorization: bearer TOKEN-HERE" \
      -H "Content-Type: application/json" \
      -d @update_model.json
    update_model.json 文件 (其中显式声明了缺省 Python 版本 ) 包含以下代码:
    [
     {
     "op": "add",
     "path": "/custom",
     "value": {
       "decision_optimization":{
          "oaas.docplex.python": "3.11"
         }
       }
     }
    ]
    或者,要除去 Python 版本的任何显式提及,以便始终使用缺省版本:
    [
     {
     "op": "remove",
     "path": "/custom/decision_optimization"
     }
    ]
  4. 对部署打补丁,使用为 Python 创建的模型,以使用版本 3.11
    curl --location --request PATCH \
      "https://us-south.ml.cloud.ibm.com/ml/v4/deployments/DEPLOYMENT-ID-HERE?version=2021-12-01&space_id=SPACE-ID-HERE" \
      -H "Authorization: bearer TOKEN-HERE" \
      -H "Content-Type: application/json" \
      -d @update_deploy.json
    update_deploy.json 文件包含以下代码:
    [
     {
       "op": "add",
       "path": "/asset",
       "value": { "id":"MODEL-ID-HERE"}
     }
    ]

结果

您可使用部署标识来发布新作业,不必重新部署模型。

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more