Para implementar um modelo através da CLI gcloud ou da API Vertex AI, tem de criar primeiro um ponto final público.
Se já tiver um ponto final público existente, pode ignorar este passo e prosseguir para Implementar um modelo através da CLI gcloud ou da API Vertex AI.
Este documento descreve o processo de criação de um novo ponto final público.
Crie um ponto final público dedicado (recomendado)
O limite de tempo predefinido do pedido para um ponto final público dedicado é de 10 minutos.
Na API Vertex AI e no SDK Vertex AI para Python, pode, opcionalmente,
especificar um limite de tempo de pedido diferente
adicionando um objeto clientConnectionConfig
que contenha um novo valor
inferenceTimeout
, conforme mostrado no exemplo seguinte. O valor de tempo limite máximo é de 3600 segundos (1 hora).
Google Cloud consola
-
Na Google Cloud consola, na secção Vertex AI, aceda
à página Previsão online.
Aceda à página Previsão online - Clique em Criar.
- No painel Novo ponto final:
- Introduza o Nome do ponto final.
- Selecione Padrão para o tipo de acesso.
- Selecione a caixa de verificação Ativar DNS dedicado.
- Clique em Continuar.
- Clique em Concluído.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: a sua região.
- PROJECT_ID: o seu ID do projeto.
- ENDPOINT_NAME: o nome a apresentar do ponto final.
- INFERENCE_TIMEOUT_SECS: (Opcional) Número de segundos no campo
inferenceTimeout
opcional.
Método HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints
Corpo JSON do pedido:
{ "display_name": "ENDPOINT_NAME" "dedicatedEndpointEnabled": true, "clientConnectionConfig": { "inferenceTimeout": { "seconds": INFERENCE_TIMEOUT_SECS } } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/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
.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Substitua o seguinte:
- PROJECT_ID: o ID do seu projeto.
- LOCATION_ID: a região onde está a usar o Vertex AI.
- ENDPOINT_NAME: o nome a apresentar do ponto final.
- INFERENCE_TIMEOUT_SECS: (Opcional) Número de segundos no valor
inference_timeout
opcional.
from google.cloud import aiplatform
PROJECT_ID = "PROJECT_ID"
LOCATION = "LOCATION_ID"
ENDPOINT_NAME = "ENDPOINT_NAME"
INFERENCE_TIMEOUT_SECS = "INFERENCE_TIMEOUT_SECS"
aiplatform.init(
project=PROJECT_ID,
location=LOCATION,
api_endpoint=ENDPOINT_NAME,
)
dedicated_endpoint = aiplatform.Endpoint.create(
display_name=DISPLAY_NAME,
dedicated_endpoint_enabled=True,
sync=True,
inference_timeout=INFERENCE_TIMEOUT_SECS,
)
Configuração do limite de tempo de inferência
A duração do limite de tempo predefinido para pedidos de inferência é de 600 segundos (10 minutos). Este limite de tempo é aplicado se não for especificado um limite de tempo de inferência explícito durante a criação do ponto final. O valor de tempo limite máximo permitido é de uma hora.
Para configurar o limite de tempo de inferência durante a criação do ponto final, use o parâmetro inference_timeout
, conforme demonstrado no seguinte fragmento do código:
timeout_endpoint = aiplatform.Endpoint.create(
display_name="dedicated-endpoint-with-timeout",
dedicated_endpoint_enabled=True,
inference_timeout=1800, # Unit: Seconds
)
As modificações à definição de tempo limite de inferência após a criação do ponto final podem ser
realizadas através do método EndpointService.UpdateEndpointLongRunning
. O método EndpointService.UpdateEndpoint
não é compatível com esta modificação.
Registo de pedidos-respostas
A funcionalidade de registo de pedidos/respostas captura as interações da API. No entanto, para agir em conformidade com as limitações do BigQuery, as cargas úteis com mais de 10 MB são excluídas dos registos.
Para ativar e configurar o registo de pedidos e respostas durante a criação do ponto final, use os seguintes parâmetros, conforme ilustrado no fragmento de código subsequente:
logging_endpoint = aiplatform.Endpoint.create(
display_name="dedicated-endpoint-with-logging",
dedicated_endpoint_enabled=True,
enable_request_response_logging=True,
request_response_logging_sampling_rate=1.0, # Default: 0.0
request_response_logging_bq_destination_table="bq://test_logging",
# If not set, a new BigQuery table will be created with the name:
# bq://{project_id}.logging_{endpoint_display_name}_{endpoint_id}.request_response_logging
)
As modificações às definições de registo de pedidos e respostas após a criação do ponto final podem ser feitas através do método EndpointService.UpdateEndpointLongRunning
. O método EndpointService.UpdateEndpoint
não suporta esta modificação.
Crie um ponto final público partilhado
Google Cloud consola
-
Na Google Cloud consola, na secção Vertex AI, aceda
à página Previsão online.
Aceda à página Previsão online - Clique em Criar.
- No painel Novo ponto final:
- Introduza o Nome do ponto final.
- Selecione Padrão para o tipo de acesso.
- Clique em Continuar.
- Clique em Concluído.
gcloud
O exemplo seguinte usa o comando gcloud ai endpoints create
:
gcloud ai endpoints create \
--region=LOCATION_ID \
--display-name=ENDPOINT_NAME
Substitua o seguinte:
- LOCATION_ID: a região onde está a usar o Vertex AI.
- ENDPOINT_NAME: o nome a apresentar do ponto final.
A ferramenta Google Cloud CLI pode demorar alguns segundos a criar o ponto final.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: a sua região.
- PROJECT_ID: o seu ID do projeto.
- ENDPOINT_NAME: o nome a apresentar do ponto final.
Método HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints
Corpo JSON do pedido:
{ "display_name": "ENDPOINT_NAME" }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/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
.
Terraform
O exemplo seguinte usa o recurso do Terraform google_vertex_ai_endpoint
para criar um ponto final.
Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.
O que se segue?
- Implemente um modelo através da CLI gcloud ou da API Vertex AI.
- Saiba como obter uma inferência online.