0 / 0
資料の 英語版 に戻る
REST API の例
最終更新: 2024年12月05日
Decision Optimization REST API デプロイメント

watsonx.aiRuntime REST API を使用して、Decision Optimizationモデルのデプロイ、ジョブの作成と監視、ソリューションの取得を行うことができます。

開始前に

IBM Cloudアカウント。が必要です。 https://www.ibm.com/cloud/を参照してください。
  1. IBM Cloud にログインします。
  2. API キーを作成します。 APIキーが正常に作成されたオープンウィンドウからコピーまたはダウンロードします(このウィンドウを閉じると、再度アクセスすることはできません)。

  3. オプション:watsonx.aiRuntimeサービスを作成する。
  4. IBM CloudResource リストビューAI/MachineMachine Learningサービスの リストからwatsonx.aiRuntimeインスタンスを選択します。

    watsonx.aiランタイムインスタンスの情報ペインから、名前GUIDCRNをコピーします。 (情報ペインを開くには、watsonx.aiRuntimeサービス名の横の行のどこかをクリックします。 情報ペインが同じウィンドウで開きます)

  5. オプション:Cloud Object Storageを作成する。
  6. IBM CloudResource リスト・ビューのStorageリソース・リストからCloud Object Storageインスタンスを選択します。

    ストレージインスタンスの情報ペインから名前CRNをコピーします。

  7. オプション:https://dataplatform.cloud.ibm.comユーザ インタフェースから配置スペースを作成します。 REST API を使用してデプロイメントスペースを作成することもできます。 REST APIを使用してデプロイメントスペースを作成する。参照。
  8. 配置の一覧から配置スペースを選択します。

    管理>全般タブからスペースGUIDをコピーする。 詳しくは、Deployment spaces を参照してください。

このタスクについて

以下のステップでは、watsonx.aiRuntime REST API を使用してDecision Optimizationモデルをデプロイする方法を説明します。 REST API の例では、URL 構文を使用してデータを転送するためのコマンド・ライン・ツールおよびライブラリーである curl を使用します。 curlのダウンロードや詳細はhttp://curl.haxx.se Decision Optimizationに関連する REST API について詳しくは、以下のセクションを参照してください。

Windows ユーザーは、これらのコードの例の全体を通して複数行の区切り文字として ¥ ではなく ^ を使用するとともに、二重引用符 " を使用してください。 Windows ユーザーの場合は、ヘッダー行で、少なくとも 1 文字分のスペースによるインデントを使用する必要があります。

分かりやすくするために、この手順のいくつかのコード例は、コマンドを読みやすく使いやすくするために json ファイルに配置されています。

REST API を使用して配置を作成したら、https://dataplatform.cloud.ibm.comユーザー インタフェースの[Deployments] > [Spaces]ページから、その配置を表示したり、その配置にジョブを送信したりすることもできます。

手順

  1. IAMトークンの生成は、あなたの'IBM CloudAPIキー次のようにする。
    curl "https://iam.cloud.ibm.com/identity/token" \
      -d "apikey=YOUR_API_KEY_HERE&grant_type=urn%3Aibm%3Aparams%3Aoauth%3Agrant-type%3Aapikey" \
      -H "Content-Type: application/x-www-form-urlencoded" \
      -H "Authorization: Basic Yng6Yng="
    出力例:
    {
       "access_token": "****** obtained IAM token ******************************",
       "refresh_token": "**************************************",
       "token_type": "Bearer",
       "expires_in": 3600,
       "expiration": 1554117649,
       "scope": "ibm openid"
    }

    すべての API 呼び出しで、取得したトークン (access_token 値) の前にワード Bearer を付加したものを Authorization ヘッダーで使用し、 watsonx.ai Runtime service GUIDML-Instance-ID ヘッダーで使用します。

  2. オプション: 前述のようにユーザー・インターフェースから SPACE-ID を取得していない場合は、以下のように REST API を使用してスペースを作成できます。 すべての API 呼び出しで、前に取得したトークンの前に bearer という語を付加したものを Authorization ヘッダーで使用します。
    curl --location --request POST \
      "https://api.dataplatform.cloud.ibm.com/v2/spaces" \
      -H "Authorization: Bearer TOKEN-HERE" \
      -H "ML-Instance-ID: MACHINE-LEARNING-SERVICE-GUID-HERE" \
      -H "Content-Type: application/json" \
      --data-raw "{
      "name": "SPACE-NAME-HERE",
      "description": "optional description here",
      "storage": {
          "resource_crn": "COS-CRN-ID-HERE"
      },
      "compute": [{
        "name": "MACHINE-LEARNING-SERVICE-NAME-HERE",
        "crn": "MACHINE-LEARNING-SERVICE-CRN-ID-HERE"
      }]
    }"
    Windows の場合 ユーザーの場合は、以下のように --data-raw コマンドを 1 行に入力し、このコマンド内のすべての "\" に置き換えます。
    curl --location --request POST ^
      "https://api.dataplatform.cloud.ibm.com/v2/spaces" ^
      -H "Authorization: Bearer TOKEN-HERE" ^
      -H "ML-Instance-ID: MACHINE-LEARNING-SERVICE-GUID-HERE" ^
      -H "Content-Type: application/json" ^
      --data-raw "{\"name\": "SPACE-NAME-HERE",\"description\": \"optional description here\",\"storage\": {\"resource_crn\": \"COS-CRN-ID-HERE\"  },\"compute\": [{\"name\": "MACHINE-LEARNING-SERVICE-NAME-HERE\",\"crn\": \"MACHINE-LEARNING-SERVICE-CRN-ID-HERE\"  }]}"
    あるいは、データを別個のファイルに保管します。
    metadata セクションの id フィールドに スペース ID が返されます。

    出力例:

    {
      "entity": {
        "compute": [
          {
            "crn": "MACHINE-LEARNING-SERVICE-CRN",
            "guid": "MACHINE-LEARNING-SERVICE-GUID",
            "name": "MACHINE-LEARNING-SERVICE-NAME",
            "type": "machine_learning"
          }
        ],
        "description": "string",
        "members": [
          {
            "id": "XXXXXXX",
            "role": "admin",
            "state": "active",
            "type": "user"
          }
        ],
        "name": "name",
        "scope": {
          "bss_account_id": "account_id"
        },
        "status": {
          "state": "active"
        }
      },
      "metadata": {
        "created_at": "2020-07-17T08:36:57.611Z",
        "creator_id": "XXXXXXX",
        "id": "SPACE-ID",
        "url": "/v2/spaces/SPACE-ID"
      }
    }

    続行する前に、デプロイメント・スペースの状況が "active" になるまで待機する必要があります。 以下のように、ポーリングによってこれを確認できます。

    curl --location --request GET "https://api.dataplatform.cloud.ibm.com/v2/spaces/SPACE-ID-HERE" \
      -H "Authorization: bearer TOKEN-HERE" \
      -H "Content-Type: application/json"
  3. 新規 Decision Optimization モデルの作成

    すべての API 要求には、 version=YYYY-MM-DD形式の日付を取るバージョン・パラメーターが必要です。 このコード例は、ファイル create_model.jsonを使用するモデルをポストします。 URL は、watsonx.aiRuntimeサービスで選択した地域/場所によって異なります。 エンドポイントURL」を参照。

    curl --location --request POST \
      "https://us-south.ml.cloud.ibm.com/ml/v4/models?version=2020-08-01" \
      -H "Authorization: bearer TOKEN-HERE" \
      -H "Content-Type: application/json" \
      -d @create_model.json
    create_model.json ファイルには、以下のコードが含まれています。
    {
      "name": "ModelName",
      "description": "ModelDescription",
      "type": "do-docplex_22.1",
      "software_spec": {
        "name": "do_22.1"
      },
      "custom": {
          "decision_optimization": {
            "oaas.docplex.python": "3.11"
          }
      },
      "space_id": "SPACE-ID-HERE"
    }

    Python バージョン は、ここでは custom ブロック内で明示的に記述されます。 これはオプションです。 これがないと、モデルはデフォルトのバージョンを使うことになり、現在のバージョンは Python 3.11 です。 デフォルト・バージョンは時間の経過とともに進化するため、 Python バージョンを明示的に指定すると、後で簡単に変更したり、デフォルト・バージョンが更新されたときにサポートされている古いバージョンを引き続き使用したりすることができます。 現在サポートされているバージョンは 3.11 と 3.10 (非推奨) です。

    REST API を使用してこのモデルのジョブを実行できるだけではなく、ユーザー・インターフェースからも 実行できるようにする場合は、入力データと出力データのスキーマを定義する必要があります。 モデルを作成したときにスキーマを定義しなかった場合は、REST API を使用してジョブを実行できるだけで、ユーザー・インターフェースからは実行できません。

    最適化モデルの入出力に指定されたスキーマを使用することもできます。

    {
      "name": "Diet-Model-schema",
      "description": "Diet",
      "type": "do-docplex_22.1",
      "schemas": {
        "input": [
          {
            "id": "diet_food_nutrients",
            "fields": [
              { "name": "Food",  "type": "string" },
              { "name": "Calories", "type": "double" },
              { "name": "Calcium", "type": "double" },
              { "name": "Iron", "type": "double" },
              { "name": "Vit_A", "type": "double" },
              { "name": "Dietary_Fiber", "type": "double" },
              { "name": "Carbohydrates", "type": "double" },
              { "name": "Protein", "type": "double" }
            ]
          },
          {
            "id": "diet_food",
            "fields": [
              { "name": "name", "type": "string" },
              { "name": "unit_cost", "type": "double" },
              { "name": "qmin", "type": "double" },
              { "name": "qmax", "type": "double" }
            ]
          },
          {
            "id": "diet_nutrients",
            "fields": [
              { "name": "name", "type": "string" },
              { "name": "qmin", "type": "double" },
              { "name": "qmax", "type": "double" }
            ]
          }
        ],
        "output": [
          {
            "id": "solution",
            "fields": [
              { "name": "name", "type": "string" },
              { "name": "value", "type": "double" }
            ]
          }
        ]
      },
      "software_spec": {
        "name": "do_22.1"
      },
      "space_id": "SPACE-ID-HERE"
    }
    
    モデルを送信するときは、そのモデル・タイプおよび使用するソフトウェア仕様に関する情報を指定してください。
    モデル・タイプには、例えば以下のものがあります。
    • do-opl_22.1 (OPL モデルの場合)
    • do-cplex_22.1 (CPLEX モデルの場合)
    • do-cpo_22.1 (CP モデルの場合)
    • do-docplex_22.1 ( Python モデルの場合)

    バージョン 20.1 は、これらのモデル・タイプにも使用できます。

    ソフトウェア仕様の場合、名前 do_22.1 または do_20.1を使用してデフォルト仕様を使用できます。 ソフトウェア仕様の拡張ノートブック も参照してください。ここには、 Decision Optimization ソフトウェア仕様 (DOcplex モデル用の追加の Python ライブラリーを使用するランタイム) を拡張する方法が示されています。

    metadataid フィールドに MODEL-ID が返されます。

    出力例:
    {
      "entity": {
        "software_spec": {
          "id": "SOFTWARE-SPEC-ID"
        },
        "type": "do-docplex_20.1"
      },
      "metadata": {
        "created_at": "2020-07-17T08:37:22.992Z",
        "description": "ModelDescription",
        "id": "MODEL-ID",
        "modified_at": "2020-07-17T08:37:22.992Z",
        "name": "ModelName",
        "owner": "***********",
        "space_id": "SPACE-ID"
      }
    }
  4. デプロイメントの準備ができた Decision Optimization モデル設計 をアップロードします。
    まず'モデルを圧縮するtar.gz, .zip or .jar)ファイルにしてアップロードし、'watsonx.aiランタイムサービスでデプロイする。
    次のコードの例では、Python モデルが入っていてマスター・データは入っていない diet.zip というモデルをアップロードします。
    curl --location --request PUT \
      "https://us-south.ml.cloud.ibm.com/ml/v4/models/MODEL-ID-HERE/content?version=2020-08-01&space_id=SPACE-ID-HERE&content_format=native" \
      -H "Authorization: bearer TOKEN-HERE" \
      -H "Content-Type: application/gzip" \
      --data-binary "@diet.zip"
    この例と他のモデルはDO-samplesからダウンロードできます。 該当する製品およびバージョンのサブフォルダーを選択します。
  5. モデルのデプロイ
    モデルへの参照を作成します。 SPACE-ID、デプロイメントの準備ができたモデルを作成したときに取得した MODEL-ID、およびハードウェア仕様を使用します。 例:
    curl --location --request POST "https://us-south.ml.cloud.ibm.com/ml/v4/deployments?version=2020-08-01" \
      -H "Authorization: bearer TOKEN-HERE" \
      -H "Content-Type: application/json" \
      -d @deploy_model.json
    The deploy_model.json file contains the following code:
    {
      "name": "Test-Diet-deploy",
      "space_id": "SPACE-ID-HERE",
      "asset": {
        "id": "MODEL-ID-HERE"
      },
      "hardware_spec": {
        "name": "S"
      },
      "batch": {}
    }
    デプロイメント ID は、 metadataid フィールドに返されます。 出力例:
    {
      "entity": {
        "asset": {
          "id": "MODEL-ID"
        },
        "custom": {},
        "description": "",
        "hardware_spec": {
          "id": "HARDWARE-SPEC-ID",
          "name": "S",
          "num_nodes": 1
        },
        "name": "Test-Diet-deploy",
        "space_id": "SPACE-ID",
        "status": {
          "state": "ready"
        }
      },
      "metadata": {
        "created_at": "2020-07-17T09:10:50.661Z",
        "description": "",
        "id": "DEPLOYMENT-ID",
        "modified_at": "2020-07-17T09:10:50.661Z",
        "name": "test-Diet-deploy",
        "owner": "**************",
        "space_id": "SPACE-ID"
      }
    }
  6. デプロイすると、 モデルのデプロイメント状態をモニターできます。 DEPLOYMENT-ID を使用します。
    例:
    curl --location --request GET "https://us-south.ml.cloud.ibm.com/ml/v4/deployments/DEPLOYMENT-ID-HERE?version=2020-08-01&space_id=SPACE-ID-HERE" \
      -H "Authorization: bearer TOKEN-HERE" \
      -H "Content-Type: application/json"

    出力例:

  7. その後、入力データと出力 (最適化求解の結果) およびログ・ファイルを定義するデプロイ済みモデルの 「ジョブの実行依頼」 を行うことができます。
    例えば、 myjob.jsonというファイルの内容を以下に示します。 このファイルには、(インライン) 入力データといくつかの解決パラメーターが含まれており、出力が .csv ファイルになることが指定されています。 詳細については、Decision Optimizationのバッチ展開とモデルの実行を参照してください。
    {
    	"name":"test-job-diet",
    	"space_id": "SPACE-ID-HERE",
    	"deployment": {
    		"id": "DEPLOYMENT-ID-HERE"
    	},
    	"decision_optimization" : {
    		"solve_parameters" : {
    			"oaas.logAttachmentName":"log.txt",
    			"oaas.logTailEnabled":"true"
    		},
    		"input_data": [
    			{
    				"id":"diet_food.csv",
    				"fields" : ["name","unit_cost","qmin","qmax"],
    				"values" : [
    					["Roasted Chicken", 0.84, 0, 10],
    					["Spaghetti W/ Sauce", 0.78, 0, 10],
    					["Tomato,Red,Ripe,Raw", 0.27, 0, 10],
    					["Apple,Raw,W/Skin", 0.24, 0, 10],
    					["Grapes", 0.32, 0, 10],
    					["Chocolate Chip Cookies", 0.03, 0, 10],
    					["Lowfat Milk", 0.23, 0, 10],
    					["Raisin Brn", 0.34, 0, 10],
    					["Hotdog", 0.31, 0, 10]
    				]
    			},
    			{
    				"id":"diet_food_nutrients.csv",
    				"fields" : ["Food","Calories","Calcium","Iron","Vit_A","Dietary_Fiber","Carbohydrates","Protein"],
    				"values" : [
    					["Spaghetti W/ Sauce", 358.2, 80.2, 2.3, 3055.2, 11.6, 58.3, 8.2],
    					["Roasted Chicken", 277.4, 21.9, 1.8, 77.4, 0, 0, 42.2],
    					["Tomato,Red,Ripe,Raw", 25.8, 6.2, 0.6, 766.3, 1.4, 5.7, 1],
    					["Apple,Raw,W/Skin", 81.4, 9.7, 0.2, 73.1, 3.7, 21, 0.3],
    					["Grapes", 15.1, 3.4, 0.1, 24, 0.2, 4.1, 0.2],
    					["Chocolate Chip Cookies", 78.1, 6.2, 0.4, 101.8, 0, 9.3, 0.9],
    					["Lowfat Milk", 121.2, 296.7, 0.1, 500.2, 0, 11.7, 8.1],
    					["Raisin Brn", 115.1, 12.9, 16.8, 1250.2, 4, 27.9, 4],
    					["Hotdog", 242.1, 23.5, 2.3, 0, 0, 18, 10.4]
    				]
    			},
    			{
    				"id":"diet_nutrients.csv",
    				"fields" : ["name","qmin","qmax"],
    				"values" : [
    					["Calories", 2000, 2500],
    					["Calcium", 800, 1600],
    					["Iron", 10, 30],
    					["Vit_A", 5000, 50000],
    					["Dietary_Fiber", 25, 100],
    					["Carbohydrates", 0, 300],
    					["Protein", 50, 100]
    				]
    			}
    		],
    		"output_data": [
    			{
    				"id":".*\\.csv"
    			}
    		]
    	}
    }
    このコード例は、このファイル myjob.jsonを使用するジョブをポストします。
    curl --location --request POST "https://us-south.ml.cloud.ibm.com/ml/v4/deployment_jobs?version=2020-08-01&space_id=SPACE-ID-HERE" \
      -H "Authorization: bearer TOKEN-HERE" \
      -H "Content-Type: application/json" \
      -H "cache-control: no-cache" \
      -d @myjob.json
    
    JOB-ID が返されます。 出力例: (ジョブはキューに入れられています)
    {
      "entity": {
        "decision_optimization": {
          "input_data": [{
            "id": "diet_food.csv",
            "fields": ["name", "unit_cost", "qmin", "qmax"],
            "values": [["Roasted Chicken", 0.84, 0, 10], ["Spaghetti W/ Sauce", 0.78, 0, 10], ["Tomato,Red,Ripe,Raw", 0.27, 0, 10], ["Apple,Raw,W/Skin", 0.24, 0, 10], ["Grapes", 0.32, 0, 10], ["Chocolate Chip Cookies", 0.03, 0, 10], ["Lowfat Milk", 0.23, 0, 10], ["Raisin Brn", 0.34, 0, 10], ["Hotdog", 0.31, 0, 10]]
          }, {
            "id": "diet_food_nutrients.csv",
            "fields": ["Food", "Calories", "Calcium", "Iron", "Vit_A", "Dietary_Fiber", "Carbohydrates", "Protein"],
            "values": [["Spaghetti W/ Sauce", 358.2, 80.2, 2.3, 3055.2, 11.6, 58.3, 8.2], ["Roasted Chicken", 277.4, 21.9, 1.8, 77.4, 0, 0, 42.2], ["Tomato,Red,Ripe,Raw", 25.8, 6.2, 0.6, 766.3, 1.4, 5.7, 1], ["Apple,Raw,W/Skin", 81.4, 9.7, 0.2, 73.1, 3.7, 21, 0.3], ["Grapes", 15.1, 3.4, 0.1, 24, 0.2, 4.1, 0.2], ["Chocolate Chip Cookies", 78.1, 6.2, 0.4, 101.8, 0, 9.3, 0.9], ["Lowfat Milk", 121.2, 296.7, 0.1, 500.2, 0, 11.7, 8.1], ["Raisin Brn", 115.1, 12.9, 16.8, 1250.2, 4, 27.9, 4], ["Hotdog", 242.1, 23.5, 2.3, 0, 0, 18, 10.4]]
          }, {
            "id": "diet_nutrients.csv",
            "fields": ["name", "qmin", "qmax"],
            "values": [["Calories", 2000, 2500], ["Calcium", 800, 1600], ["Iron", 10, 30], ["Vit_A", 5000, 50000], ["Dietary_Fiber", 25, 100], ["Carbohydrates", 0, 300], ["Protein", 50, 100]]
          }],
          "output_data": [
            {
              "id": ".*\\.csv"
            }
          ],
          "solve_parameters": {
            "oaas.logAttachmentName": "log.txt",
            "oaas.logTailEnabled": "true"
          },
          "status": {
            "state": "queued"
          }
        },
        "deployment": {
          "id": "DEPLOYMENT-ID"
        },
        "platform_job": {
          "job_id": "",
          "run_id": ""
        }
      },
      "metadata": {
        "created_at": "2020-07-17T10:42:42.783Z",
        "id": "JOB-ID",
        "name": "test-job-diet",
        "space_id": "SPACE-ID"
      }
    }
    
  8. また、 ジョブの状態をモニターすることもできます。 ジョブ ID を使用します。
    例:
    curl --location --request GET \
      "https://us-south.ml.cloud.ibm.com/ml/v4/deployment_jobs/JOB-ID-HERE?version=2020-08-01&space_id=SPACE-ID-HERE" \
      -H "Authorization: bearer TOKEN-HERE" \
      -H "Content-Type: application/json"
    出力例: (ジョブは完了しました)
    {
      "entity": {
        "decision_optimization": {
          "input_data": [{
            "id": "diet_food.csv",
            "fields": ["name", "unit_cost", "qmin", "qmax"],
            "values": [["Roasted Chicken", 0.84, 0, 10], ["Spaghetti W/ Sauce", 0.78, 0, 10], ["Tomato,Red,Ripe,Raw", 0.27, 0, 10], ["Apple,Raw,W/Skin", 0.24, 0, 10], ["Grapes", 0.32, 0, 10], ["Chocolate Chip Cookies", 0.03, 0, 10], ["Lowfat Milk", 0.23, 0, 10], ["Raisin Brn", 0.34, 0, 10], ["Hotdog", 0.31, 0, 10]]
          }, {
            "id": "diet_food_nutrients.csv",
            "fields": ["Food", "Calories", "Calcium", "Iron", "Vit_A", "Dietary_Fiber", "Carbohydrates", "Protein"],
            "values": [["Spaghetti W/ Sauce", 358.2, 80.2, 2.3, 3055.2, 11.6, 58.3, 8.2], ["Roasted Chicken", 277.4, 21.9, 1.8, 77.4, 0, 0, 42.2], ["Tomato,Red,Ripe,Raw", 25.8, 6.2, 0.6, 766.3, 1.4, 5.7, 1], ["Apple,Raw,W/Skin", 81.4, 9.7, 0.2, 73.1, 3.7, 21, 0.3], ["Grapes", 15.1, 3.4, 0.1, 24, 0.2, 4.1, 0.2], ["Chocolate Chip Cookies", 78.1, 6.2, 0.4, 101.8, 0, 9.3, 0.9], ["Lowfat Milk", 121.2, 296.7, 0.1, 500.2, 0, 11.7, 8.1], ["Raisin Brn", 115.1, 12.9, 16.8, 1250.2, 4, 27.9, 4], ["Hotdog", 242.1, 23.5, 2.3, 0, 0, 18, 10.4]]
          }, {
            "id": "diet_nutrients.csv",
            "fields": ["name", "qmin", "qmax"],
            "values": [["Calories", 2000, 2500], ["Calcium", 800, 1600], ["Iron", 10, 30], ["Vit_A", 5000, 50000], ["Dietary_Fiber", 25, 100], ["Carbohydrates", 0, 300], ["Protein", 50, 100]]
          }],
          "output_data": [{
            "fields": ["Name", "Value"],
            "id": "kpis.csv",
            "values": [["Total Calories", 2000], ["Total Calcium", 800.0000000000001], ["Total Iron", 11.278317739831891], ["Total Vit_A", 8518.432542485823], ["Total Dietary_Fiber", 25], ["Total Carbohydrates", 256.80576358904455], ["Total Protein", 51.17372234135308], ["Minimal cost", 2.690409171696264]]
          }, {
            "fields": ["name", "value"],
            "id": "solution.csv",
            "values": [["Spaghetti W/ Sauce", 2.1551724137931036], ["Chocolate Chip Cookies", 10], ["Lowfat Milk", 1.8311671008899097], ["Hotdog", 0.9296975991385925]]
          }],
          "output_data_references": [],
          "solve_parameters": {
            "oaas.logAttachmentName": "log.txt",
            "oaas.logTailEnabled": "true"
          },
          "solve_state": {
            "details": {
              "KPI.Minimal cost": "2.690409171696264",
              "KPI.Total Calcium": "800.0000000000001",
              "KPI.Total Calories": "2000.0",
              "KPI.Total Carbohydrates": "256.80576358904455",
              "KPI.Total Dietary_Fiber": "25.0",
              "KPI.Total Iron": "11.278317739831891",
              "KPI.Total Protein": "51.17372234135308",
              "KPI.Total Vit_A": "8518.432542485823",
              "MODEL_DETAIL_BOOLEAN_VARS": "0",
              "MODEL_DETAIL_CONSTRAINTS": "7",
              "MODEL_DETAIL_CONTINUOUS_VARS": "9",
              "MODEL_DETAIL_INTEGER_VARS": "0",
              "MODEL_DETAIL_KPIS": "[\"Total Calories\", \"Total Calcium\", \"Total Iron\", \"Total Vit_A\", \"Total Dietary_Fiber\", \"Total Carbohydrates\", \"Total Protein\", \"Minimal cost\"]",
              "MODEL_DETAIL_NONZEROS": "57",
              "MODEL_DETAIL_TYPE": "LP",
              "PROGRESS_CURRENT_OBJECTIVE": "2.6904091716962637"
            },
            "latest_engine_activity": [
              "[2020-07-21T16:37:36Z, INFO] Model: diet",
              "[2020-07-21T16:37:36Z, INFO]  - number of variables: 9",
              "[2020-07-21T16:37:36Z, INFO]    - binary=0, integer=0, continuous=9",
              "[2020-07-21T16:37:36Z, INFO]  - number of constraints: 7",
              "[2020-07-21T16:37:36Z, INFO]    - linear=7",
              "[2020-07-21T16:37:36Z, INFO]  - parameters: defaults",
              "[2020-07-21T16:37:36Z, INFO]  - problem type is: LP",
              "[2020-07-21T16:37:36Z, INFO] Warning: Model: \"diet\" is not a MIP problem, progress listeners are disabled",
              "[2020-07-21T16:37:36Z, INFO] objective: 2.690",
              "[2020-07-21T16:37:36Z, INFO]   \"Spaghetti W/ Sauce\"=2.155",
              "[2020-07-21T16:37:36Z, INFO]   \"Chocolate Chip Cookies\"=10.000",
              "[2020-07-21T16:37:36Z, INFO]   \"Lowfat Milk\"=1.831",
              "[2020-07-21T16:37:36Z, INFO]   \"Hotdog\"=0.930",
              "[2020-07-21T16:37:36Z, INFO] solution.csv"
            ],
            "solve_status": "optimal_solution"
          },
          "status": {
            "completed_at": "2020-07-21T16:37:36.989Z",
            "running_at": "2020-07-21T16:37:35.622Z",
            "state": "completed"
          }
        },
        "deployment": {
          "id": "DEPLOYMENT-ID"
        }
      },
      "metadata": {
        "created_at": "2020-07-21T16:37:09.130Z",
        "id": "JOB-ID",
        "modified_at": "2020-07-21T16:37:37.268Z",
        "name": "test-job-diet",
        "space_id": "SPACE-ID"
      }
    }
    
  9. オプション: 以下のようにして ジョブを削除 できます。
    curl --location --request DELETE "https://us-south.ml.cloud.ibm.com/ml/v4/deployment_jobs/JOB-ID-HERE?version=2020-08-01&space_id=SPACE-ID-HERE&hard_delete=true" \
      -H "Authorization: bearer TOKEN-HERE" 
    API を使用して、ジョブを削除した場合、そのジョブは、ユーザー・インターフェースに引き続き表示されます。
  10. オプション: 以下のようにして、 デプロイメントを削除 できます。
    API を使用して、ジョブを含むデプロイメントを削除した場合、それらのジョブは、ユーザー・インターフェースのデプロイメント・スペースに引き続き表示されます。

結果

モデルがデプロイされてジョブが実行されると、ソリューションの結果が、インラインで、または (例えば S3 参照を使用して) 指定したファイルと場所に提供されます。 モデルを再デプロイすることなく、deployment-ID を使用して新規ジョブをポストできます。

生成 AI の検索と回答
これらの回答は、製品資料の内容に基づいて、 watsonx.ai のラージ言語モデルによって生成されます。 詳細