Para desplegar un modelo mediante la CLI de gcloud o la API de Vertex AI, primero debes crear un endpoint público.
Si ya tienes un endpoint público, puedes omitir este paso y desplegar un modelo con la CLI de gcloud o la API de Vertex AI.
En este documento se describe el proceso para crear un nuevo endpoint público.
Crear un endpoint público específico (opción recomendada)
El tiempo de espera predeterminado de las solicitudes de un endpoint público dedicado es de 10 minutos.
En la API Vertex AI y en el SDK de Vertex AI para Python, puedes especificar de forma opcional un tiempo de espera de solicitud diferente añadiendo un objeto clientConnectionConfig
que contenga un nuevo valor inferenceTimeout
, como se muestra en el siguiente ejemplo. El valor de tiempo de espera máximo es de 3600 segundos (1 hora).
Google Cloud consola
-
En la Google Cloud consola, en la sección Vertex AI, ve a la página Predicción online.
Ve a la página Predicción online. - Haz clic en Crear.
- En el panel Nuevo endpoint:
- Escribe el nombre del endpoint.
- Seleccione Estándar como tipo de acceso.
- Seleccione la casilla Habilitar DNS dedicado.
- Haz clic en Continuar.
- Haz clic en Listo.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION_ID: tu región.
- PROJECT_ID: tu ID de proyecto.
- ENDPOINT_NAME: el nombre visible del endpoint.
- INFERENCE_TIMEOUT_SECS: (Opcional) Número de segundos del campo opcional
inferenceTimeout
.
Método HTTP y URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints
Cuerpo JSON de la solicitud:
{ "display_name": "ENDPOINT_NAME" "dedicatedEndpointEnabled": true, "clientConnectionConfig": { "inferenceTimeout": { "seconds": INFERENCE_TIMEOUT_SECS } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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 probar este ejemplo, sigue las Python instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Haz los cambios siguientes:
- PROJECT_ID: tu ID de proyecto.
- LOCATION_ID: la región en la que usas Vertex AI.
- ENDPOINT_NAME: el nombre visible del endpoint.
- INFERENCE_TIMEOUT_SECS: (Opcional) Número de segundos del 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,
)
Configuración del tiempo de espera de las inferencias
La duración predeterminada del tiempo de espera de las solicitudes de inferencia es de 600 segundos (10 minutos). Este tiempo de espera se aplicará si no se especifica un tiempo de espera de inferencia explícito durante la creación del endpoint. El valor de tiempo de espera máximo permitido es de una hora.
Para configurar el tiempo de espera de la inferencia durante la creación del endpoint, usa el parámetro inference_timeout
, tal como se muestra en el siguiente fragmento de código:
timeout_endpoint = aiplatform.Endpoint.create(
display_name="dedicated-endpoint-with-timeout",
dedicated_endpoint_enabled=True,
inference_timeout=1800, # Unit: Seconds
)
Las modificaciones en el ajuste de tiempo de espera de inferencia después de crear el endpoint se pueden realizar con el método EndpointService.UpdateEndpointLongRunning
. El método EndpointService.UpdateEndpoint
no admite esta modificación.
Registro de solicitudes y respuestas
La función de registro de solicitudes y respuestas captura las interacciones con la API. Sin embargo, para cumplir las limitaciones de BigQuery, las cargas útiles que superen los 10 MB no se incluirán en los registros.
Para habilitar y configurar el registro de solicitudes y respuestas durante la creación de un endpoint, usa los siguientes parámetros, tal como se muestra en el fragmento de código siguiente:
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
)
Las modificaciones en los ajustes de registro de solicitudes y respuestas después de crear el endpoint se pueden realizar mediante el método EndpointService.UpdateEndpointLongRunning
. El método EndpointService.UpdateEndpoint
no admite esta modificación.
Crear un endpoint público compartido
Google Cloud consola
-
En la Google Cloud consola, en la sección Vertex AI, ve a la página Predicción online.
Ve a la página Predicción online. - Haz clic en Crear.
- En el panel Nuevo endpoint:
- Escribe el nombre del endpoint.
- Seleccione Estándar como tipo de acceso.
- Haz clic en Continuar.
- Haz clic en Listo.
gcloud
En el siguiente ejemplo se usa el comando gcloud ai endpoints create
:
gcloud ai endpoints create \
--region=LOCATION_ID \
--display-name=ENDPOINT_NAME
Haz los cambios siguientes:
- LOCATION_ID: la región en la que usas Vertex AI.
- ENDPOINT_NAME: el nombre visible del endpoint.
La herramienta de Google Cloud CLI puede tardar unos segundos en crear el endpoint.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION_ID: tu región.
- PROJECT_ID: tu ID de proyecto.
- ENDPOINT_NAME: el nombre visible del endpoint.
Método HTTP y URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints
Cuerpo JSON de la solicitud:
{ "display_name": "ENDPOINT_NAME" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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
En el siguiente ejemplo se usa el recurso de Terraform google_vertex_ai_endpoint
para crear un endpoint.
Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Siguientes pasos
- Despliega un modelo con la CLI de gcloud o la API de Vertex AI.
- Consulta cómo obtener una inferencia online.