0 / 0
Go back to the English version of the documentation
部署多源 SPSS Modeler 流程
Last updated: 2024年12月19日
部署多源 SPSS Modeler 流程

您可以为使用多个输入流向模型提供数据的 SPSS Modeler 流程创建在线部署。

过程概述

使用多个输入流创建 SPSS Modeler 流程时,可以为模型创建在线部署。

下图显示了使用两个输入流的 SPSS Modeler 流程。 该流程处理数据并创建机器学习模型。 您可以保存此模型并创建在线部署。 部署模型后,您可以使用端点为应用程序评分。

具有多个输入源的 SPSS Modeler 流程

部署多源 SPSS Modeler 流程的任务

您可以通过用户界面或 watsonx.ai REST API 创建和部署多源 SPSS Modeler 流程。

从用户界面创建和部署模型

请按照以下步骤从用户界面创建和部署多源 SPSS Modeler 流程:

  1. 创建 SPSS Modeler 流程 :您可以通过创建 SPSS Modeler 流程在项目中创建多源模型。
  2. 推广模型资产 :创建模型后,将模型资产从项目推广到部署空间。
  3. 部署模型 :创建在线部署,使用端点进行评分。
  4. 测试已部署的模型 :根据部署的模型评分。

从 REST API 创建和部署模型

请按照以下步骤从 watsonx.ai REST API 创建和部署多源 SPSS Modeler 流程:

  1. 创建模式 :您可以通过提供模式来创建多源模型。
  2. 上传模型内容 :创建模型后,您必须在 watsonx.ai Runtime 的资源库资产中上传模型内容。
  3. 部署模型 :创建在线部署,使用端点进行评分。
  4. 测试已部署的模型 :根据部署的模型评分。

从用户界面创建和部署多源模型

请按照以下步骤在 SPSS Modeler 中创建多源模型,并从用户界面部署模型。

任务 1:在 SPSS Modeler 中创建多源模型

您可以通过创建 SPSS Modeler 流程来创建多源模型。 有关详细信息,请参阅创建 SPSS Modeler 流程

任务 2:推广示范资产

要部署模式,必须将使用 SPSS Modeler 创建的模式资产推广到部署空间。 有关详细信息,请参阅将资产提升到部署空间

任务 3:部署多源模型

请按照以下步骤为在 SPSS Modeler 中使用多个输入源创建的机器学习模型创建在线部署:

先决条件

您必须为部署人工智能服务设置任务凭证。 有关更多信息,请参阅管理任务凭证

  1. 在部署空间中,转到 " 资产 "选项卡。

  2. 对于机器学习模型,单击菜单图标并选择 " 部署 "。

    截图显示了机器学习模型的部署情况

  3. 选择在线作为部署类型。

    为模型创建在线部署的截图

  4. 输入部署的名称,并可选择输入服务名称、描述和标记。

  5. 单击创建

任务 4:测试已部署的模型

您可以通过提供文本或 JSON 格式的输入对部署的模型进行评分。

请按照以下步骤为您部署的模型评分:

  1. 在部署空间或项目中,打开 " 部署 "选项卡并单击部署名称。
  2. 单击 " 测试 "选项卡输入提示文本,并从部署的资产中获取响应。
  3. 以文本或 JSON 格式输入测试数据以生成输出。

使用 REST API 创建和部署多源 SPSS Modeler 流程

请按照以下步骤在 SPSS Modeler 中创建多源模型,并从 watsonx.ai REST API 部署模型。

任务 1:使用 SPSS Modeler 创建多源模型

您可以使用 SPSS Modeler 创建具有多个输入源的模型。

对 JSON 格式模型模式的要求

创建 JSON 格式的多输入模型模式时,模式必须满足以下要求:

输入 JSON 对象的主要要求
组件 描述
结构 每个对象必须包含 idfieldsvalues
标识 必须是字符串。
字段 必须是字符串数组。
必须是一个数组的数组。
价值项目 values 中的每个项目都必须是数组。

下面的代码展示了如何创建带模式的模型:

curl -H "Authorization: Bearer <TOKEN>" \
-H "content-type: application/json" \
--request POST '<HOSTURL>/ml/v4/models?version=2020-06-12' \
--data-raw '{
     "name": "spss-multi-source-user-input-table-output",
     "space_id": "<SPACE ID>",
     "description": "This is my first resource.",
     "software_spec": {
      "id": "687eddc9-028a-4117-b9dd-e57b36f1efa5",
      "name": "spss-modeler_18.2"
    },
    "type": "spss-modeler_18.2",
    "schemas": {
      "input": [{
        "fields": [{
          "metadata": {   

          },
          "name": "customerID",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "gender",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "SeniorCitizen",
          "nullable": true,
          "type": "integer"
        }, {
          "metadata": {   
          },
          "name": "Partner",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "Dependents",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "tenure",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "PhoneService",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "MultipleLines",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "InternetService",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "OnlineSecurity",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "OnlineBackup",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "DeviceProtection",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "TechSupport",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "StreamingTV",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "StreamingMovies",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "Contract",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "PaperlessBilling",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "PaymentMethod",
          "nullable": true,
          "type": "string"
        }],
        "id": "id5B2XR2L3LS6",
        "name": "uinode1",
        "type": "struct"
      }, {
        "fields": [{
          "metadata": {   
          },
          "name": "MonthlyCharges",
          "nullable": true,
          "type": "double"
        }, {
          "metadata": {   
          },
          "name": "TotalCharges",
          "nullable": true,
          "type": "double"
        }, {
          "metadata": {   
          },
          "name": "Churn",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "SampleWeight",
          "nullable": true,
          "type": "double"
        }],
        "id": "id3YXBN73TTS",
        "name": "uinode2",
        "type": "struct"
      }],
      "output": [{
        "fields": [{
          "metadata": {   
          },
          "name": "Churn",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "customerID",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "Predicted Churn",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "Probability of Churn",
          "nullable": true,
          "type": "double"
        }],
        "id": "id6BPTTYFV44A",
        "name": "Output data",
        "type": "struct"
      }]
    }
}'

任务 2:上传模型内容

您必须上传模型内容,才能在 watsonx.ai Runtime 中创建资源库资产。

以下代码展示了如何上传模型内容以创建模型资产:

curl -vk -X PUT "<HOSTURL>/ml/v4/models/<MODELID OBTAINED FROM STEP1 RESPONSE>/content?version=2020-08-08&content_format=native&space_id=<SPACEID>" -H "Authorization: Bearer    <TOKEN>" --data-binary @/PATH/WHERE/ZIP/IS/AVAILABLE/exsistingmultipleuserinputtableoutput.zip

任务 3:部署模型

您可以使用 /ml/v4/deployments 端点为使用 SPSS Modeler flow 创建的多输入模型创建在线部署。

先决条件

您必须拥有现有的 IBM Cloud API 密钥或生成新的 API 密钥。

下面的代码示例展示了如何使用 watsonx.ai REST API 创建在线多输入模型:

curl --request POST \
  --url '<HOST>/ml/v4/deployments?version=2023-03-10' \
  --header 'Authorization: Bearer <TOKEN>' \
  --header 'Content-Type: application/json' \
  --data '{
	"asset": {
		"id": "<MODEL ID FROM FIRST STEP>"
	},
	"description": "Multi Source Online Deployment",
	"name": "spss_multi_source_online_deployment",
	"space_id": "<SPACE ID>",
	"online": {
	  "parameters": {
		"serving_name": "spssmultisource"
	  }
	}
}'

任务 4:测试已部署的模型

您可以通过输入与模型模式相匹配的 JSON 格式输入数据,对已部署的模型进行评分。

下面的代码示例展示了如何以 JSON 格式传递输入数据,并使用 REST API 根据部署的模型进行评分:

curl -H "Authorization: Bearer <TOKEN>" \
-H "content-type: application/json" \
--request POST '<HOST>/ml/v4/deployments/<DEPLOYMENT_ID RECEIVED FROM STEP 3>/predictions?version=2020-06-12' \
--data-raw '{
     "input_data": [
    {
      "id": "uinode1",
      "fields": ["customerID","gender","SeniorCitizen","Partner","Dependents","tenure","PhoneService","MultipleLines","InternetService","OnlineSecurity","OnlineBackup","DeviceProtection","TechSupport","StreamingTV","StreamingMovies","Contract","PaperlessBilling","PaymentMethod"],
       "values":[["3638-WEABW","Female",0,"Yes","No","58","Yes","Yes","DSL","No","Yes","No","Yes","No","No","Two year","Yes","Credit card (automatic)"]]
    },
    {
      "id": "uinode2",
      "fields": ["MonthlyCharges","TotalCharges","Churn","SampleWeight"],
      "values":[[59.9,3505.1,"No",2.768]]
    }
  ]
}'

输出

{"predictions": {"fields":["Churn","customerID","Predicted Churn","Probability of Churn"],"values":[["No","3638-WEABW","No",0.0526309571556145]]} ]}

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