Para implantar um modelo usando a CLI gcloud ou a API Gemini Enterprise, você primeiro precisa criar um endpoint público.
Se você já tiver um endpoint público, pule esta etapa e acesse 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 de solicitação padrã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
inferenceTimeout
valor, conforme mostrado no exemplo a seguir. O valor máximo de tempo limite é de 3.600 segundos (1 hora).
Google Cloud Console do
-
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](/resource-manager/docs/creating-managing-projects#identifiers). .
- 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": {
"seconds": INFERENCE_TIMEOUT_SECS
}
}
}
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 esta amostra, siga as instruções de configuração Python no Guia de início rápido do Agent Platform: como usar bibliotecas de cliente.
Para autenticar no Agent Platform, configure o Application Default Credentials. Se quiser 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 de tempo limite 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 oferece suporte a 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 da API. No entanto, para obedecer às limitações do BigQuery, os payloads que excederem 10 MB de tamanho serão excluídos dos registros.
Para ativar e configurar a geração de registros de solicitação/resposta durante a criação do endpoint, use os parâmetros a seguir, conforme ilustrado no snippet 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 nas configurações de geração de registros de solicitação/resposta após a criação do endpoint podem ser realizadas usando o método EndpointService.UpdateEndpointLongRunning. O método EndpointService.UpdateEndpoint não oferece suporte a essa modificação.
Criar um endpoint público compartilhado
Google Cloud Console do
-
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 gcloud ai endpoints create
comando:
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](/resource-manager/docs/creating-managing-projects#identifiers). .
- 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 google_vertex_ai_endpoint recurso 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 esta amostra, siga as instruções de configuração do Java no Guia de início rápido da Agent Platform: como usar bibliotecas de cliente.
Para autenticar no Agent Platform, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar esta amostra, siga as instruções de configuração Node.js no Guia de início rápido do Agent Platform: como usar bibliotecas de cliente.
Para autenticar no Agent Platform, configure o Application Default Credentials. Se quiser 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 Python documentação de referência da API.
A seguir
- Implantar um modelo usando a CLI gcloud ou a API Gemini Enterprise.
- Saiba como receber uma inferência on-line.