Para implantar um modelo usando a CLI gcloud ou a API Gemini Enterprise, primeiro crie um endpoint público.
Se você já tiver um endpoint público, pule esta etapa e vá para Implantar um modelo usando a CLI gcloud ou a API Gemini Enterprise.
Este documento descreve o processo de criação de um novo endpoint público.
Criar um endpoint público dedicado (recomendado)
O tempo limite padrão de solicitação para um endpoint público dedicado é de 10 minutos.
Na API Gemini Enterprise e no SDK da Agent Platform para Python, é possível especificar um tempo limite de solicitação diferente adicionando um objeto clientConnectionConfig que contenha um novo valor inferenceTimeout, conforme mostrado no exemplo a seguir. O valor máximo do tempo limite é de 3.600 segundos (1 hora).
Console doGoogle Cloud
-
No Google Cloud console, na seção Agent Platform, acesse
a página Previsão on-line.
Acessar a página "Previsão on-line" - Clique em Criar.
- No painel Novo endpoint:
- Insira o Nome do endpoint.
- Selecione Padrão para o tipo de acesso.
- Marque a caixa de seleção Ativar DNS dedicado.
- Clique em Continuar.
- Clique em Concluído.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION_ID: sua região.
- PROJECT_ID: o ID do projeto.
- ENDPOINT_NAME: o nome de exibição do endpoint.
- INFERENCE_TIMEOUT_SECS: (opcional) número de segundos no campo opcional
inferenceTimeout.
Método HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints
Corpo JSON da solicitação:
{
"display_name": "ENDPOINT_NAME",
"dedicatedEndpointEnabled": true,
"clientConnectionConfig": {
"inferenceTimeout": "INFERENCE_TIMEOUT_SECSs"
}
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"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 testar este exemplo, siga as instruções de configuração do Python no Guia de início rápido do Agent Platform: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python do Agent Platform.
Para autenticar no Agent Platform, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Substitua:
- PROJECT_ID: o ID do projeto.
- LOCATION_ID: A região em que você está usando o Agent Platform.
- ENDPOINT_NAME: o nome de exibição do endpoint.
- INFERENCE_TIMEOUT_SECS: (opcional) número de segundos no valor opcional
inference_timeout.
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 de tempo limite de inferência
A duração padrão do tempo limite para solicitações de inferência é de 600 segundos (10 minutos). Esse tempo limite será aplicado se um tempo limite de inferência explícito não for especificado durante a criação do endpoint. O valor máximo permitido é de uma hora.
Para configurar o tempo limite de inferência durante a criação do endpoint, use o parâmetro
inference_timeout, conforme demonstrado no snippet de código a seguir:
timeout_endpoint = aiplatform.Endpoint.create(
display_name="dedicated-endpoint-with-timeout",
dedicated_endpoint_enabled=True,
inference_timeout=1800, # Unit: Seconds
)
As modificações na configuração de tempo limite de inferência após a criação do endpoint podem ser
realizadas usando o método EndpointService.UpdateEndpointLongRunning. O método
EndpointService.UpdateEndpoint não é compatível com essa modificação.
Geração de registros de solicitação/resposta
O recurso de geração de registros de solicitação/resposta captura interações de API. No entanto, para obedecer às limitações do BigQuery, os payloads com mais de 10 MB serão excluídos dos registros.
Para ativar e configurar o registro em registros de solicitação-resposta durante a criação do endpoint, use os seguintes parâmetros, conforme ilustrado no snippet de código a seguir:
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 nas configurações de geração de registros de solicitação/resposta após a criação do endpoint podem ser feitas usando o método EndpointService.UpdateEndpointLongRunning. O método EndpointService.UpdateEndpoint não aceita essa modificação.
Criar um endpoint público compartilhado
Console doGoogle Cloud
-
No Google Cloud console, na seção Agent Platform, acesse
a página Previsão on-line.
Acessar a página "Previsão on-line" - Clique em Criar.
- No painel Novo endpoint:
- Insira o Nome do endpoint.
- Selecione Padrão para o tipo de acesso.
- Clique em Continuar.
- Clique em Concluído.
gcloud
O exemplo a seguir usa o comando
gcloud ai endpoints create:
gcloud ai endpoints create \
--region=LOCATION_ID \
--display-name=ENDPOINT_NAME
Substitua:
- LOCATION_ID: A região em que você está usando o Agent Platform.
- ENDPOINT_NAME: o nome de exibição do endpoint.
A ferramenta CLI do Google Cloud pode levar alguns segundos para criar o endpoint.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION_ID: sua região.
- PROJECT_ID: o ID do projeto. .
- ENDPOINT_NAME: o nome de exibição do endpoint.
Método HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints
Corpo JSON da solicitação:
{
"display_name": "ENDPOINT_NAME"
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"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 a seguir usa o recurso google_vertex_ai_endpoint do Terraform para criar um endpoint.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Java
Antes de testar este exemplo, siga as instruções de configuração do Java no Guia de início rápido do Agent Platform: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java do Agent Platform.
Para autenticar no Agent Platform, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar este exemplo, siga as instruções de configuração do Node.js no Guia de início rápido do Agent Platform: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js do Agent Platform.
Para autenticar no Agent Platform, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
A seguir
- Implante um modelo usando a CLI gcloud ou a API Gemini Enterprise.
- Saiba como receber uma inferência on-line.