为机器学习模型, Decision Optimization 解决方案或 Python 函数创建联机部署,以实时生成预测或结果。 例如,为分类模型创建联机部署,该模型经过训练以预测银行客户是否在促销中注册。 将新客户数据提交到部署端点会实时返回预测。
用于联机部署的可部署资产类型
您可以为以下类型的资产创建联机部署:
- Functions
- 模型
- AutoAI 模型
- Decision Optimization 模型
- 联合学习模型
- 从文件导入 的模型
- 使用 支持的框架 创建的模型
- SPSS Modeler 模型
您不能在 Cloud Pak for Data as a Service 上部署 R Shiny 应用程序资产。
创建联机部署的方法
您可以通过下列其中一种方式创建联机部署:
- 使用无代码方法来 从部署空间创建联机部署 。
- 使用代码 使用 Notebook 以编程方式创建联机部署 。
创建联机部署后,将生成端点 URL。 您可以使用端点 URL 来测试部署或将部署包含在应用程序中。
准备工作
您必须通过生成 API 密钥来设置任务凭证。 有关更多信息,请参阅管理任务凭证。
从部署空间创建联机部署
执行以下步骤以从部署空间创建联机部署:
提升或添加要部署到空间的资产。 有关更多信息,请参阅 部署空间中的资产。
从 "资产" 页面中,单击操作菜单中的 部署 。
在 "部署详细信息" 页面中,单击 新建部署。
选择联机作为部署类型。
提供部署的名称和可选描述。
使用 服务名称 字段来指定部署的名称,而不是部署标识。
注:- 服务名称在名称空间中必须与众不同。
- 服务名称必须仅包含以下字符: [a-z,0-9, _] ,并且最大长度必须为 36 个字符。
- 服务名称仅作为预测 URL 的一部分工作。 有时,您可能必须使用部署标识。
可选: 如果要部署 Python 函数, Tensorflow 模型或具有 定制软件规范的模型,请选择 硬件规范 。 例如,如果要 缩放部署,那么可能要增加硬件资源。
限制:不能从部署空间中的用户界面创建或选择定制硬件规范。 要了解有关如何创建和选择硬件规范的更多信息,请参阅 管理部署的硬件规范。
可选: 选择与资产兼容的 软件规范 。 只能为功能选择软件规范。
单击创建以创建部署。
测试联机部署
执行以下步骤以测试联机部署:
- 从空间的 部署 选项卡中,单击部署名称。
- 单击 测试 选项卡以输入数据并从部署资产获取预测或其他响应。
为联机部署提供测试数据的方式取决于您部署的资产类型。 对于大多数资产,您可以直接将测试数据输入到表单中,上载包含测试数据的文件,或者将测试数据粘贴为 JSON 代码。 例如,以下是分类模型的测试接口:
要提供测试数据,请执行以下操作:
- 如果已部署的模型具有已定义的模式,那么测试数据必须使用相同的模式。 例如,对于分类模型,请使用相同的列输入测试数据,而不使用预测列。
用于测试部署的样本 JSON 代码
当您提交 JSON 代码作为部署的有效内容或输入数据时,输入数据必须与部署资产的需求相匹配。
例如,对于具有模式的模型, fields
必须与数据的列标题匹配,并且 values
必须包含数据 (按相同顺序)。 使用以下格式:
{"input_data":[{
"fields": [<field1>, <field2>, ...],
"values": [[<value1>, <value2>, ...]]
}]}
请参阅以下示例:
{"input_data":[{
"fields": ["PassengerId","Pclass","Name","Sex","Age","SibSp","Parch","Ticket","Fare","Cabin","Embarked"],
"values": [[1,3,"Braund, Mr. Owen Harris",0,22,1,0,"A/5 21171",7.25,null,"S"]]
}]}
对于格式化 JSON 输入:
- 所有字符串都用双引号括起来。 字典的 Python 表示法看起来相似,但 JSON 数据中不接受单引号中的 Python 字符串。
- 使用
null
指示缺失值。
检索联机部署的端点
执行以下步骤以检索联机部署的端点 URL ,以便您可以从应用程序访问部署:
- 从空间的 部署 选项卡中,单击部署名称。
- 在 API 参考 选项卡中,查找专用和公共端点链接。 您还可以使用各种编程语言 (例如, Python和 Java 等) 来查找代码片段,以在应用程序中包含端点详细信息。
如果在创建联机部署时添加了 服务名称 ,那么会看到两个端点 URL。 第一个 URL 包含部署标识,第二个 URL 包含服务名称。 您可以在部署中使用这些 URL 之一。
访问联机部署详细信息
执行以下步骤以查看或更新部署详细信息:
- 从空间的 部署 选项卡中,单击部署名称。
- 单击 部署详细信息 选项卡以访问与联机部署相关的信息。
使用 Notebook 以编程方式创建联机部署
您可以使用以下命令以编程方式创建联机部署:
- watsonx.ai Runtime REST API。
- watsonx Python 客户机库。
要访问演示如何使用watsonx.aiRuntimePython客户端创建和管理部署的示例笔记本,请参阅机器学习示例和示例。
以编程方式测试联机部署
要以编程方式测试联机部署,必须准备与已部署资产的现有模型需求的模式相匹配的有效内容。 例如,分类模型的输入数据 (有效内容) 必须与已部署模型的模式相匹配。 分类模型的以下样本提供了具有与模型模式完全匹配的列和值的测试数据:
model_details = client.repository.get_details("<model_id>") # retrieves details and includes schema
columns_in_schema = []
for i in range(0, len(model_details['entity']['schemas']['input'][0].get('fields'))):
columns_in_schema.append(model_details['entity']['schemas']['input'][0].get('fields')[i]['name'])
X = X[columns_in_schema] # where X is a pandas dataframe that contains values to be scored
#(...)
scoring_values = X.values.tolist()
array_of_input_fields = X.columns.tolist()
payload_scoring = {"input_data": [{"fields": [array_of_input_fields],"values": scoring_values}]}
以编程方式检索联机部署的端点
要从 Notebook 检索联机部署的端点 URL ,请执行以下操作:
- 通过调用Python客户端方法"
client.deployments.list()
列出部署。 - 查找包含您的部署的行。 部署端点 URL 列示在
url
列中。
了解更多信息
要了解如何创建批处理部署,请参阅 创建批处理部署。
要了解如何管理部署作业以及更新,缩放或删除联机部署,请参阅 管理资产。
要了解有关部署端点的更多信息,请参阅端点 URL。
父主题: 管理预测性部署