本页面介绍了如何使用 Vertex AI API 将模型部署到端点。
简介
您必须先将模型部署到端点,然后该模型才能用于执行在线预测;部署模型会将物理资源与模型关联,从而以低延迟执行在线预测。未部署的模型可以执行批量预测,批量预测对低延时的要求没有那么高。
您可以将多个模型部署到一个端点,也可以将一个模型部署到多个端点。如需详细了解部署模型的选项和使用场景,请参阅部署模型简介。
您无法将视频模型部署到端点。视频模型不执行在线预测。
如需使用 Google Cloud 控制台部署模型方面的帮助,请参阅使用 Google Cloud 控制台部署模型。
部署模型
使用 Vertex AI API 部署模型时,请完成以下步骤:
- 根据需要创建端点。
- 获取端点 ID。
- 将模型部署到端点。
创建端点
如果要将模型部署到现有端点,您可以跳过此步骤。
gcloud
以下示例使用 gcloud ai endpoints create
命令:
gcloud ai endpoints create \
--region=LOCATION \
--display-name=ENDPOINT_NAME
请替换以下内容:
- LOCATION:您在其中使用 Vertex AI 的区域。
- ENDPOINT_NAME:端点的显示名。
Google Cloud CLI 工具可能需要几秒钟才能创建端点。
REST 和命令行
在使用任何请求数据之前,请先进行以下替换:
- LOCATION:您的区域。
- PROJECT:您的项目 ID。
- ENDPOINT_NAME:端点的显示名。
- PROJECT_NUMBER:您的项目编号
HTTP 方法和网址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints
请求 JSON 正文:
{ "display_name": "ENDPOINT_NAME" }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateEndpointOperationMetadata", "genericMetadata": { "createTime": "2020-11-05T17:45:42.812656Z", "updateTime": "2020-11-05T17:45:42.812656Z" } } }
"done": true
。Java
如需了解如何安装和使用 Vertex AI 客户端库,请参阅 Vertex AI 客户端库。如需了解详情,请参阅 Vertex AI Java API 参考文档。
Node.js
如需了解如何安装和使用 Vertex AI 客户端库,请参阅 Vertex AI 客户端库。如需了解详情,请参阅 Vertex AI Node.js API 参考文档。
Python
如需了解如何安装和使用 Vertex AI 客户端库,请参阅 Vertex AI 客户端库。如需了解详情,请参阅 Vertex AI Python API 参考文档。
检索端点 ID
您需要端点 ID 才能部署模型。
gcloud
以下示例使用 gcloud ai endpoints list
命令:
gcloud ai endpoints list \
--region=LOCATION \
--filter=display_name=ENDPOINT_NAME
请替换以下内容:
- LOCATION:您在其中使用 Vertex AI 的区域。
- ENDPOINT_NAME:端点的显示名。
请注意 ENDPOINT_ID
列中显示的数字。请在以下步骤中使用此 ID。
REST 和命令行
在使用任何请求数据之前,请先进行以下替换:
- LOCATION:您的区域。
- PROJECT:您的项目 ID。
- ENDPOINT_NAME:端点的显示名。
- PROJECT_NUMBER:您的项目编号
HTTP 方法和网址:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints?filter=display_name=ENDPOINT_NAME
如需发送您的请求,请展开以下选项之一:
您应会收到如下所示的 JSON 响应:
{ "endpoints": [ { "name": "projects/PROJECT_NUMBER/locations/us-central1/endpoints/ENDPOINT_ID", "displayName": "ENDPOINT_NAME", "etag": "AMEw9yPz5pf4PwBHbRWOGh0PcAxUdjbdX2Jm3QO_amguy3DbZGP5Oi_YUKRywIE-BtLx", "createTime": "2020-04-17T18:31:11.585169Z", "updateTime": "2020-04-17T18:35:08.568959Z" } ] }
部署模型
请在下面选择您的模型类型:
自定义训练
在下面选择您的语言或环境对应的标签页:
gcloud
以下示例使用 gcloud ai endpoints deploy-model
命令。
以下示例将 Model
部署到 Endpoint
,但不使用 GPU 来加快预测服务速度,而且未在多个 DeployedModel
资源之间拆分流量:
在使用下面的命令数据之前,请先进行以下替换:
- ENDPOINT_ID:端点的 ID。
- LOCATION:您在其中使用 Vertex AI 的区域。
- MODEL_ID:要部署的模型的 ID。
-
DEPLOYED_MODEL_NAME:
DeployedModel
的名称。您还可以将Model
的显示名用于DeployedModel
。 -
MACHINE_TYPE:可选。要用于此部署的每个节点的机器资源;默认为
n1-standard-2
。详细了解机器类型。 -
MIN_REPLICA_COUNT:此部署的最小节点数。节点数可根据预测负载增加或减少,不得超过节点数上限,但始终不会低于此数量。
此值必须大于或等于 1。 如果省略
--min-replica-count
标志,则该值默认为 1。 -
MAX_REPLICA_COUNT:此部署的节点数上限。节点数可根据预测负载增加或减少,但始终不会超出此上限。如果您省略
--max-replica-count
标志,则节点数上限将设置为--min-replica-count
的值。
执行 gcloud ai endpoints deploy-model 命令:
Linux、macOS 或 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
拆分流量
上述示例中的 --traffic-split=0=100
标志会将 Endpoint
接收的 100% 预测流量发送到新 DeployedModel
(使用临时 ID 0
表示)。如果您的 Endpoint
已有其他 DeployedModel
资源,那么您可以在新 DeployedModel
和旧资源之间拆分流量。例如,如需将 20% 的流量发送到新 DeployedModel
,将 80% 发送到旧版本,请运行以下命令。
在使用下面的命令数据之前,请先进行以下替换:
- OLD_DEPLOYED_MODEL_ID:现有
DeployedModel
的 ID。
执行 gcloud ai endpoints deploy-model 命令:
Linux、macOS 或 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
指定 GPU
您可以根据需要在 DeployedModel
的每个节点上使用 GPU,以加速预测服务速度。但是,GPU 仅适用于某些类型的机器学习模型。了解何时使用 GPU 以及每种机器类型适用的 GPU 配置。
使用 --accelerator
标志可指定要使用的 GPU 类型,以及每个副本要使用的 GPU 数量。例如,如需在每个节点上使用 2 个 NVIDIA Tesla T4 GPU,请运行以下命令:
执行 gcloud ai endpoints deploy-model 命令:
Linux、macOS 或 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --accelerator=count=2,type=nvidia-tesla-t4 \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --machine-type=MACHINE_TYPE ` --accelerator=count=2,type=nvidia-tesla-t4 ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --machine-type=MACHINE_TYPE ^ --accelerator=count=2,type=nvidia-tesla-t4 ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
如果您使用 GPU,则 DeployedModel
不会根据预测流量自动扩缩。而是始终使用 --min-replica-count
标志指定的节点数运行。
REST 和命令行
部署模型。
在使用任何请求数据之前,请先进行以下替换:
- LOCATION:您在其中使用 Vertex AI 的区域。
- PROJECT:您的项目 ID。
- ENDPOINT_ID:端点的 ID。
- MODEL_ID:要部署的模型的 ID。
-
DEPLOYED_MODEL_NAME:
DeployedModel
的名称。您还可以将Model
的显示名用于DeployedModel
。 -
MACHINE_TYPE:可选。要用于此部署的每个节点的机器资源;默认为
n1-standard-2
。详细了解机器类型。 - ACCELERATOR_TYPE:要挂接到机器的加速器类型。如果未指定 ACCELERATOR_COUNT 或为零,则可选。建议不要用于使用非 GPU 映像的 AutoML 模型或自定义训练模型。了解详情。
- ACCELERATOR_COUNT:每个副本要使用的加速器数量。可选。对于使用非 GPU 映像的 AutoML 模型或自定义模型,应该为零或未指定。
- MIN_REPLICA_COUNT:此部署的最小节点数。节点数可根据预测负载增加或减少,不得超过节点数上限,但始终不会低于此数量。 此值必须大于或等于 1。
- MAX_REPLICA_COUNT:此部署的节点数上限。节点数可根据预测负载增加或减少,但始终不会超出此上限。
- TRAFFIC_SPLIT_THIS_MODEL:流向此端点的要路由到使用此操作部署的模型的预测流量百分比。默认值为 100。所有流量百分比之和必须为 100。详细了解流量拆分。
- DEPLOYED_MODEL_ID_N:可选。如果将其他模型部署到此端点,您必须更新其流量拆分百分比,以便所有百分比之和等于 100。
- TRAFFIC_SPLIT_MODEL_N:已部署模型 ID 密钥的流量拆分百分比值。
- PROJECT_NUMBER:您的项目编号
HTTP 方法和网址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
请求 JSON 正文:
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "dedicatedResources": { "machineSpec": { "machineType": "MACHINE_TYPE", "acceleratorType": "ACCELERATOR_TYPE", "acceleratorCount": "ACCELERATOR_COUNT" }, "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT }, }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
如需了解如何安装和使用 Vertex AI 客户端库,请参阅 Vertex AI 客户端库。如需了解详情,请参阅 Vertex AI Java API 参考文档。
Python
如需了解如何安装和使用 Vertex AI 客户端库,请参阅 Vertex AI 客户端库。如需了解详情,请参阅 Vertex AI Python API 参考文档。
了解如何更改预测日志记录的默认设置。
AutoML Image
在下面选择您的语言或环境对应的标签页:
gcloud
以下示例使用 gcloud ai endpoints deploy-model
命令。
以下示例将 Model
部署到 Endpoint
,但没有在多个 DeployedModel
资源之间拆分流量:
在使用下面的命令数据之前,请先进行以下替换:
- ENDPOINT_ID:端点的 ID。
- LOCATION:您在其中使用 Vertex AI 的区域。
- MODEL_ID:要部署的模型的 ID。
-
DEPLOYED_MODEL_NAME:
DeployedModel
的名称。您还可以将Model
的显示名用于DeployedModel
。 - MIN_REPLICA_COUNT:此部署的最小节点数。节点数可根据预测负载增加或减少,不得超过节点数上限,但始终不会低于此数量。
-
MAX_REPLICA_COUNT:此部署的节点数上限。节点数可根据预测负载增加或减少,但始终不会超出此上限。如果您省略
--max-replica-count
标志,则节点数上限将设置为--min-replica-count
的值。
执行 gcloud ai endpoints deploy-model 命令:
Linux、macOS 或 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
拆分流量
上述示例中的 --traffic-split=0=100
标志会将 Endpoint
接收的 100% 预测流量发送到新 DeployedModel
(使用临时 ID 0
表示)。如果您的 Endpoint
已有其他 DeployedModel
资源,那么您可以在新 DeployedModel
和旧资源之间拆分流量。例如,如需将 20% 的流量发送到新 DeployedModel
,将 80% 发送到旧版本,请运行以下命令。
在使用下面的命令数据之前,请先进行以下替换:
- OLD_DEPLOYED_MODEL_ID:现有
DeployedModel
的 ID。
执行 gcloud ai endpoints deploy-model 命令:
Linux、macOS 或 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
REST 和命令行
部署模型。
在使用任何请求数据之前,请先进行以下替换:
- LOCATION:您在其中使用 Vertex AI 的区域。
- PROJECT:您的项目 ID。
- ENDPOINT_ID:端点的 ID。
- MODEL_ID:要部署的模型的 ID。
-
DEPLOYED_MODEL_NAME:
DeployedModel
的名称。您还可以将Model
的显示名用于DeployedModel
。 - MIN_REPLICA_COUNT:此部署的最小节点数。节点数可根据预测负载增加或减少,不得超过节点数上限,但始终不会低于此数量。
- MAX_REPLICA_COUNT:此部署的节点数上限。节点数可根据预测负载增加或减少,但始终不会超出此上限。
- TRAFFIC_SPLIT_THIS_MODEL:流向此端点的要路由到使用此操作部署的模型的预测流量百分比。默认值为 100。所有流量百分比之和必须为 100。详细了解流量拆分。
- DEPLOYED_MODEL_ID_N:可选。如果将其他模型部署到此端点,您必须更新其流量拆分百分比,以便所有百分比之和等于 100。
- TRAFFIC_SPLIT_MODEL_N:已部署模型 ID 密钥的流量拆分百分比值。
- PROJECT_NUMBER:您的项目编号
HTTP 方法和网址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
请求 JSON 正文:
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "automaticResources": { "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT } }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
如需了解如何安装和使用 Vertex AI 客户端库,请参阅 Vertex AI 客户端库。如需了解详情,请参阅 Vertex AI Java API 参考文档。
Node.js
如需了解如何安装和使用 Vertex AI 客户端库,请参阅 Vertex AI 客户端库。如需了解详情,请参阅 Vertex AI Node.js API 参考文档。
Python
如需了解如何安装和使用 Vertex AI 客户端库,请参阅 Vertex AI 客户端库。如需了解详情,请参阅 Vertex AI Python API 参考文档。
了解如何更改预测日志记录的默认设置。
AutoML Tabular
在下面选择您的语言或环境对应的标签页:
gcloud
以下示例使用 gcloud ai endpoints deploy-model
命令。
以下示例将 Model
部署到 Endpoint
,但不使用 GPU 来加快预测服务速度,而且未在多个 DeployedModel
资源之间拆分流量:
在使用下面的命令数据之前,请先进行以下替换:
- ENDPOINT_ID:端点的 ID。
- LOCATION:您在其中使用 Vertex AI 的区域。
- MODEL_ID:要部署的模型的 ID。
-
DEPLOYED_MODEL_NAME:
DeployedModel
的名称。您还可以将Model
的显示名用于DeployedModel
。 -
MACHINE_TYPE:可选。要用于此部署的每个节点的机器资源;默认为
n1-standard-2
。详细了解机器类型。 -
MIN_REPLICA_COUNT:此部署的最小节点数。节点数可根据预测负载增加或减少,不得超过节点数上限,但始终不会低于此数量。
此值必须大于或等于 1。 如果省略
--min-replica-count
标志,则该值默认为 1。 -
MAX_REPLICA_COUNT:此部署的节点数上限。节点数可根据预测负载增加或减少,但始终不会超出此上限。如果您省略
--max-replica-count
标志,则节点数上限将设置为--min-replica-count
的值。
执行 gcloud ai endpoints deploy-model 命令:
Linux、macOS 或 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
拆分流量
上述示例中的 --traffic-split=0=100
标志会将 Endpoint
接收的 100% 预测流量发送到新 DeployedModel
(使用临时 ID 0
表示)。如果您的 Endpoint
已有其他 DeployedModel
资源,那么您可以在新 DeployedModel
和旧资源之间拆分流量。例如,如需将 20% 的流量发送到新 DeployedModel
,将 80% 发送到旧版本,请运行以下命令。
在使用下面的命令数据之前,请先进行以下替换:
- OLD_DEPLOYED_MODEL_ID:现有
DeployedModel
的 ID。
执行 gcloud ai endpoints deploy-model 命令:
Linux、macOS 或 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
REST 和命令行
部署模型。
在使用任何请求数据之前,请先进行以下替换:
- LOCATION:您在其中使用 Vertex AI 的区域。
- PROJECT:您的项目 ID。
- ENDPOINT_ID:端点的 ID。
- MODEL_ID:要部署的模型的 ID。
-
DEPLOYED_MODEL_NAME:
DeployedModel
的名称。您还可以将Model
的显示名用于DeployedModel
。 -
MACHINE_TYPE:可选。要用于此部署的每个节点的机器资源;默认为
n1-standard-2
。详细了解机器类型。 - ACCELERATOR_TYPE:要挂接到机器的加速器类型。如果未指定 ACCELERATOR_COUNT 或为零,则可选。建议不要用于使用非 GPU 映像的 AutoML 模型或自定义训练模型。了解详情。
- ACCELERATOR_COUNT:每个副本要使用的加速器数量。可选。对于使用非 GPU 映像的 AutoML 模型或自定义模型,应该为零或未指定。
- MIN_REPLICA_COUNT:此部署的最小节点数。节点数可根据预测负载增加或减少,不得超过节点数上限,但始终不会低于此数量。 此值必须大于或等于 1。
- MAX_REPLICA_COUNT:此部署的节点数上限。节点数可根据预测负载增加或减少,但始终不会超出此上限。
- TRAFFIC_SPLIT_THIS_MODEL:流向此端点的要路由到使用此操作部署的模型的预测流量百分比。默认值为 100。所有流量百分比之和必须为 100。详细了解流量拆分。
- DEPLOYED_MODEL_ID_N:可选。如果将其他模型部署到此端点,您必须更新其流量拆分百分比,以便所有百分比之和等于 100。
- TRAFFIC_SPLIT_MODEL_N:已部署模型 ID 密钥的流量拆分百分比值。
- PROJECT_NUMBER:您的项目编号
HTTP 方法和网址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
请求 JSON 正文:
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "dedicatedResources": { "machineSpec": { "machineType": "MACHINE_TYPE", "acceleratorType": "ACCELERATOR_TYPE", "acceleratorCount": "ACCELERATOR_COUNT" }, "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT }, }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
如需了解如何安装和使用 Vertex AI 客户端库,请参阅 Vertex AI 客户端库。如需了解详情,请参阅 Vertex AI Java API 参考文档。
Python
如需了解如何安装和使用 Vertex AI 客户端库,请参阅 Vertex AI 客户端库。如需了解详情,请参阅 Vertex AI Python API 参考文档。
了解如何更改预测日志记录的默认设置。
AutoML Text
在下面选择您的语言或环境对应的标签页:
gcloud
以下示例使用 gcloud ai endpoints deploy-model
命令。
以下示例将 Model
部署到 Endpoint
,但没有在多个 DeployedModel
资源之间拆分流量:
在使用下面的命令数据之前,请先进行以下替换:
- ENDPOINT_ID:端点的 ID。
- LOCATION:您在其中使用 Vertex AI 的区域。
- MODEL_ID:要部署的模型的 ID。
-
DEPLOYED_MODEL_NAME:
DeployedModel
的名称。您还可以将Model
的显示名用于DeployedModel
。 - MIN_REPLICA_COUNT:此部署的最小节点数。节点数可根据预测负载增加或减少,不得超过节点数上限,但始终不会低于此数量。
-
MAX_REPLICA_COUNT:此部署的节点数上限。节点数可根据预测负载增加或减少,但始终不会超出此上限。如果您省略
--max-replica-count
标志,则节点数上限将设置为--min-replica-count
的值。
执行 gcloud ai endpoints deploy-model 命令:
Linux、macOS 或 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --traffic-split=0=100
拆分流量
上述示例中的 --traffic-split=0=100
标志会将 Endpoint
接收的 100% 预测流量发送到新 DeployedModel
(使用临时 ID 0
表示)。如果您的 Endpoint
已有其他 DeployedModel
资源,那么您可以在新 DeployedModel
和旧资源之间拆分流量。例如,如需将 20% 的流量发送到新 DeployedModel
,将 80% 发送到旧版本,请运行以下命令。
在使用下面的命令数据之前,请先进行以下替换:
- OLD_DEPLOYED_MODEL_ID:现有
DeployedModel
的 ID。
执行 gcloud ai endpoints deploy-model 命令:
Linux、macOS 或 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
REST 和命令行
部署模型。
在使用任何请求数据之前,请先进行以下替换:
- LOCATION:您在其中使用 Vertex AI 的区域。
- PROJECT:您的项目 ID。
- ENDPOINT_ID:端点的 ID。
- MODEL_ID:要部署的模型的 ID。
-
DEPLOYED_MODEL_NAME:
DeployedModel
的名称。您还可以将Model
的显示名用于DeployedModel
。 - TRAFFIC_SPLIT_THIS_MODEL:流向此端点的要路由到使用此操作部署的模型的预测流量百分比。默认值为 100。所有流量百分比之和必须为 100。详细了解流量拆分。
- DEPLOYED_MODEL_ID_N:可选。如果将其他模型部署到此端点,您必须更新其流量拆分百分比,以便所有百分比之和等于 100。
- TRAFFIC_SPLIT_MODEL_N:已部署模型 ID 密钥的流量拆分百分比值。
- PROJECT_NUMBER:您的项目编号
HTTP 方法和网址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
请求 JSON 正文:
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "automaticResources": { } }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
如需了解如何安装和使用 Vertex AI 客户端库,请参阅 Vertex AI 客户端库。如需了解详情,请参阅 Vertex AI Java API 参考文档。
Node.js
如需了解如何安装和使用 Vertex AI 客户端库,请参阅 Vertex AI 客户端库。如需了解详情,请参阅 Vertex AI Node.js API 参考文档。
Python
如需了解如何安装和使用 Vertex AI 客户端库,请参阅 Vertex AI 客户端库。如需了解详情,请参阅 Vertex AI Python API 参考文档。
获取操作状态
某些请求会启动需要一些时间才能完成的长时间运行的操作。这些请求会返回操作名称,您可以使用该名称查看操作状态或取消操作。Vertex AI 提供辅助方法来调用长时间运行的操作。如需了解详情,请参阅使用长时间运行的操作。
后续步骤
- 使用 API 向 AutoML 模型请求在线预测。
视频不支持在线预测。