Webservice 类
定义基本功能,以用于将模型部署为 Azure 机器学习中的 Web 服务终结点。
Webservice 构造函数用于检索与提供的工作区关联的 Webservice 对象的云表示形式。 返回与检索到的特定类型的 Webservice 对象对应的子类实例。 使用 Webservice 类可以从 Model 或 Image 对象部署机器学习模型。
有关使用这些 Webservice 的详细信息,请参阅使用 Azure 机器学习部署模型。
初始化 Webservice 实例。
Webservice 构造函数检索与提供的工作区关联的 Webservice 对象的云表示形式。 它将返回与检索到的 Webservice 对象的特定类型对应的子类的实例。
- 继承
-
Webservice
构造函数
Webservice(workspace, name)
参数
注解
以下示例展示的是推荐的部署模式,其中首先使用 Webservice 的子类(在本例中为 AksWebservice)的 deploy_configuration
方法创建配置对象,然后将配置与 Model 类的 deploy
方法结合使用。
# Set the web service configuration (using default here)
aks_config = AksWebservice.deploy_configuration()
# # Enable token auth and disable (key) auth on the webservice
# aks_config = AksWebservice.deploy_configuration(token_auth_enabled=True, auth_enabled=False)
下面的示例演示如何在工作区中查找现有 AciWebservice,并将其删除(如果存在),以便可以重复使用该名称。
from azureml.core.model import InferenceConfig
from azureml.core.webservice import AciWebservice
service_name = 'my-custom-env-service'
inference_config = InferenceConfig(entry_script='score.py', environment=environment)
aci_config = AciWebservice.deploy_configuration(cpu_cores=1, memory_gb=1)
service = Model.deploy(workspace=ws,
name=service_name,
models=[model],
inference_config=inference_config,
deployment_config=aci_config,
overwrite=True)
service.wait_for_deployment(show_output=True)
有多种方法可以将模型部署为 webservice,包括:
已在工作区中注册的模型的 Model 的
deploy
方法。已从模型创建的映像的 Webservice 的
deploy_from_image
方法。已在工作区中注册的模型的 Webservice 的
deploy_from_model
方法。 此方法将创建映像。Webservice 的
deploy
方法,它将注册模型并创建映像。
有关使用 webservice 的信息,请参阅
变量部分列出云 Webservice 对象的本地表示形式的属性。 应将这些变量视为只读。 这些变量值的更改将不会反映在对应的云对象中。
变量
- auth_enabled
- bool
Webservice 是否已启用身份验证。
- compute_type
- str
Webservice 部署到的计算类型。
- created_time
- datetime
Webservice 的创建时间。
- azureml.core.Webservice.description
Webservice 对象的说明。
- azureml.core.Webservice.tags
Webservice 对象的标记字典。
- azureml.core.Webservice.name
Webservice 的名称。
- azureml.core.Webservice.properties
Webservice 的键值属性字典。 这些属性在部署后无法更改,但是可以添加新的键值对。
- created_by
- str
创建 Webservice 的用户。
- error
- str
如果 Webservice 部署失败,这将包含能表明失败原因的错误消息。
- azureml.core.Webservice.state
Webservice 的当前状态。
- updated_time
- datetime
上次更新 Webservice 的时间。
- azureml.core.Webservice.workspace
包含此 Webservice 的 Azure 机器学习工作区。
- token_auth_enabled
- bool
Webservice 是否已启用令牌身份验证。
方法
check_for_existing_webservice |
检查 webservice 是否存在。 |
delete |
从关联的工作区中删除此 Webservice。 此函数调用不是异步的。 调用将一直运行,直到删除该资源。 如果从模型管理服务中删除模型时出现问题,则会引发 WebserviceException。 |
deploy |
从零个或多个 Model 对象部署 Web 服务。 此函数将注册提供的任何模型文件,并在此进程中创建一个映像,所有这些文件都与指定的 Workspace 相关联。 具有要部署的模型目录(以前尚未注册)时,请使用此函数。 生成的 Web 服务是可用于推理请求实时终结点。 有关详细信息,请参阅使用部署为 Web 服务的模型。 |
deploy_from_image |
从 Image 对象部署 Webservice。 如果已有为模型创建的 Image 对象,请使用此函数。 生成的 Web 服务是可用于推理请求实时终结点。 有关详细信息,请参阅使用部署为 Web 服务的模型。 |
deploy_from_model |
从零个或多个 Model 对象部署 Web 服务。 此函数类似于 deploy,但不注册模型。 如果具有已注册的模型对象,请使用此函数。 这会在进程中创建一个与指定工作区关联的映像。 生成的 Web 服务是可用于推理请求实时终结点。 有关详细信息,请参阅使用部署为 Web 服务的模型。 |
deploy_local_from_model |
生成并部署用于测试的 LocalWebservice。 需要安装和配置 Docker。 |
deserialize |
将模型管理响应 JSON 对象转换为 Webservice 对象。 如果提供的工作区不是注册 Webservice 的工作区,则此方法将失败。 |
get_keys |
检索此 Webservice 的身份验证密钥。 |
get_logs |
检索此 Webservice 的日志。 |
get_token |
检索此 Webservice 的身份验证令牌,范围为当前用户。 |
list |
列出与相应 Workspace 关联的 Webservice。 可以使用参数筛选返回的结果。 |
regen_key |
重新生成 Webservice 的密钥之一(主要密钥或辅助密钥)。 如果未指定 |
run |
使用提供的输入调用此 Web 服务。 由 Webservice 的子类实现的抽象方法。 |
serialize |
将此 Webservice 对象转换为 JSON 序列化字典。 使用 deserialize 转换回 Webservice 对象。 |
update |
更新 Webservice 参数。 这是由 Webservice 的子类实现的抽象方法。 可能要更新的参数因 Webservice 子类型而异。 例如,对于 Azure 容器实例 Web 服务,请参阅 update 以了解具体参数。 |
update_deployment_state |
刷新内存中对象的当前状态。 根据对象的相应云对象的当前状态,对对象属性执行就地更新。 主要用于创建状态的手动轮询。 |
wait_for_deployment |
自动轮询正在运行的 Webservice 部署。 等待 Webservice 进入终端状态。 如果达到非成功的终端状态或超过给定的超时值,将引发 WebserviceException。 |
check_for_existing_webservice
检查 webservice 是否存在。
static check_for_existing_webservice(workspace, name, overwrite=False, request_func=None, check_func=None)
参数
- workspace
- Workspace
- name
- str
- overwrite
- bool
- request_func
- <xref:function>
用于请求服务以检查服务名称是否存在的函数
- check_func
- <xref:function>
用于检查 request_func 响应内容的函数
例外
delete
从关联的工作区中删除此 Webservice。
此函数调用不是异步的。 调用将一直运行,直到删除该资源。 如果从模型管理服务中删除模型时出现问题,则会引发 WebserviceException。
delete()
例外
deploy
从零个或多个 Model 对象部署 Web 服务。
此函数将注册提供的任何模型文件,并在此进程中创建一个映像,所有这些文件都与指定的 Workspace 相关联。 具有要部署的模型目录(以前尚未注册)时,请使用此函数。
生成的 Web 服务是可用于推理请求实时终结点。 有关详细信息,请参阅使用部署为 Web 服务的模型。
static deploy(workspace, name, model_paths, image_config, deployment_config=None, deployment_target=None, overwrite=False)
参数
- deployment_config
- WebserviceDeploymentConfiguration
用于配置 webservice 的 WebserviceDeploymentConfiguration。 如果未提供,将基于所需目标使用空配置对象。
- deployment_target
- ComputeTarget
要将 Web 服务部署到的 ComputeTarget。 由于 Azure 容器实例没有关联的 ComputeTarget,因此将此参数保留为“无”以部署到Azure 容器实例。
返回
对应于已部署的 Web 服务的 Web 服务对象。
返回类型
例外
deploy_from_image
从 Image 对象部署 Webservice。
如果已有为模型创建的 Image 对象,请使用此函数。
生成的 Web 服务是可用于推理请求实时终结点。 有关详细信息,请参阅使用部署为 Web 服务的模型。
static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)
参数
- deployment_config
- WebserviceDeploymentConfiguration
用于配置 webservice 的 WebserviceDeploymentConfiguration。 如果未提供,将基于所需目标使用空配置对象。
- deployment_target
- ComputeTarget
要将 Web 服务部署到的 ComputeTarget。 由于 Azure 容器实例没有关联的 ComputeTarget,因此将此参数保留为“无”以部署到Azure 容器实例。
返回
对应于已部署的 Web 服务的 Web 服务对象。
返回类型
例外
deploy_from_model
从零个或多个 Model 对象部署 Web 服务。
此函数类似于 deploy,但不注册模型。 如果具有已注册的模型对象,请使用此函数。 这会在进程中创建一个与指定工作区关联的映像。
生成的 Web 服务是可用于推理请求实时终结点。 有关详细信息,请参阅使用部署为 Web 服务的模型。
static deploy_from_model(workspace, name, models, image_config, deployment_config=None, deployment_target=None, overwrite=False)
参数
- deployment_config
- WebserviceDeploymentConfiguration
用于配置 webservice 的 WebserviceDeploymentConfiguration。 如果未提供,将基于所需目标使用空配置对象。
- deployment_target
- ComputeTarget
要将 Web 服务部署到的 ComputeTarget。 由于 ACI 没有关联 ComputeTarget,因此将此参数保留为 None 以部署到 ACI。
返回
对应于已部署的 Web 服务的 Web 服务对象。
返回类型
例外
deploy_local_from_model
生成并部署用于测试的 LocalWebservice。
需要安装和配置 Docker。
static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)
参数
- deployment_config
- LocalWebserviceDeploymentConfiguration
用于配置 webservice 的 LocalWebserviceDeploymentConfiguration。 如果未提供,则使用空配置对象。
返回类型
例外
deserialize
将模型管理响应 JSON 对象转换为 Webservice 对象。
如果提供的工作区不是注册 Webservice 的工作区,则此方法将失败。
deserialize(workspace, webservice_payload)
参数
- cls
指示这是一个类方法。
返回
所提供的 JSON 对象的 Webservice 表示形式。
返回类型
例外
get_keys
get_logs
检索此 Webservice 的日志。
get_logs(num_lines=5000, init=False)
参数
返回
此 Webservice 的日志。
返回类型
例外
get_token
检索此 Webservice 的身份验证令牌,范围为当前用户。
get_token()
返回
此 Webservice 的身份验证令牌,以及应该刷新此令牌的时间。
返回类型
例外
list
列出与相应 Workspace 关联的 Webservice。
可以使用参数筛选返回的结果。
static list(workspace, compute_type=None, image_name=None, image_id=None, model_name=None, model_id=None, tags=None, properties=None, image_digest=None)
参数
返回
提供的 Workspace 中已筛选的 Webservice 列表。
返回类型
例外
regen_key
重新生成 Webservice 的密钥之一(主要密钥或辅助密钥)。
如果未指定 key
或其不是“Primary”或“Secondary”,则会引发 WebserviceException。
regen_key(key, set_key=None)
参数
例外
run
使用提供的输入调用此 Web 服务。
由 Webservice 的子类实现的抽象方法。
abstract run(input)
参数
- input
- <xref:varies>
用于调用 Webservice 的输入数据。 这是机器学习模型在运行预测时需要输入的数据。
返回
调用 Web 服务的结果。 这将返回机器学习模型运行的预测结果。
返回类型
例外
serialize
将此 Webservice 对象转换为 JSON 序列化字典。
使用 deserialize 转换回 Webservice 对象。
serialize()
返回
此 Webservice 的 JSON 表示形式。
返回类型
例外
update
更新 Webservice 参数。
这是由 Webservice 的子类实现的抽象方法。 可能要更新的参数因 Webservice 子类型而异。 例如,对于 Azure 容器实例 Web 服务,请参阅 update 以了解具体参数。
abstract update(*args)
参数
- args
- <xref:varies>
要更新的值。
例外
update_deployment_state
刷新内存中对象的当前状态。
根据对象的相应云对象的当前状态,对对象属性执行就地更新。 主要用于创建状态的手动轮询。
update_deployment_state()
例外
wait_for_deployment
自动轮询正在运行的 Webservice 部署。
等待 Webservice 进入终端状态。 如果达到非成功的终端状态或超过给定的超时值,将引发 WebserviceException。
wait_for_deployment(show_output=False, timeout_sec=None)
参数
例外
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈