Pour déployer un modèle à l'aide de la gcloud CLI ou de l'API Vertex AI, vous devez d'abord créer un point de terminaison public.
Si vous l'avez déjà fait, vous pouvez ignorer cette étape et passer à la section Déployer un modèle à l'aide de la gcloud CLI ou de l'API Vertex AI.
Ce document décrit comment créer un point de terminaison public.
Créer un point de terminaison public dédié (recommandé)
Le délai avant expiration par défaut des requêtes pour un point de terminaison public dédié est de 10 minutes.
Dans l'API Vertex AI et le SDK Vertex AI pour Python, vous avez la possibilité de spécifier un autre délai avant expiration en ajoutant un objet clientConnectionConfig
contenant une nouvelle valeur inferenceTimeout
, comme illustré dans l'exemple suivant. La valeur maximale du délai avant expiration est de 3 600 secondes (1 heure).
ConsoleGoogle Cloud
-
Dans la section Vertex AI de la console Google Cloud , accédez à la page Prédiction en ligne.
Accéder à la page "Prédiction en ligne" - Cliquez sur Créer.
- Dans le volet Nouveau point de terminaison :
- Saisissez le nom du point de terminaison.
- Sélectionnez Standard pour le type d'accès.
- Cochez la case Activer le DNS dédié.
- Cliquez sur Continuer.
- Cliquez sur OK.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- LOCATION_ID : votre région.
- PROJECT_ID : ID de votre projet.
- ENDPOINT_NAME : nom à afficher pour le point de terminaison.
- INFERENCE_TIMEOUT_SECS (facultatif) : nombre de secondes dans le champ
inferenceTimeout
facultatif.
Méthode HTTP et URL :
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints
Corps JSON de la requête :
{ "display_name": "ENDPOINT_NAME" "dedicatedEndpointEnabled": true, "clientConnectionConfig": { "inferenceTimeout": { "seconds": INFERENCE_TIMEOUT_SECS } } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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
Avant d'essayer cet exemple, suivez les instructions de configuration pour Python décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Python.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre projet.
- LOCATION_ID : région dans laquelle vous utilisez Vertex AI.
- ENDPOINT_NAME : nom à afficher pour le point de terminaison.
- INFERENCE_TIMEOUT_SECS (facultatif) : nombre de secondes dans le champ
inference_timeout
facultatif.
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,
)
Configuration du délai avant expiration de l'inférence
Le délai avant expiration par défaut pour les requêtes d'inférence est de 600 secondes (10 minutes). Ce délai est appliqué si aucun délai d'expiration de l'inférence n'est explicitement spécifié lors de la création du point de terminaison. La valeur maximale autorisée est d'une heure.
Pour configurer le délai avant expiration de l'inférence lors de la création d'un point de terminaison, utilisez le paramètre inference_timeout
, comme illustré dans l'extrait de code suivant :
timeout_endpoint = aiplatform.Endpoint.create(
display_name="dedicated-endpoint-with-timeout",
dedicated_endpoint_enabled=True,
inference_timeout=1800, # Unit: Seconds
)
Vous pouvez modifier le paramètre de délai avant expiration de l'inférence après la création du point de terminaison à l'aide de la méthode EndpointService.UpdateEndpointLongRunning
. La méthode EndpointService.UpdateEndpoint
n'est pas compatible avec cette modification.
Journalisation des requêtes et réponses
La fonctionnalité de journalisation des requêtes et réponses capture les interactions avec l'API. Toutefois, pour respecter les limites de BigQuery, les charges utiles de plus de 10 Mo seront exclues des journaux.
Pour activer et configurer la journalisation des requêtes et des réponses lors de la création d'un point de terminaison, utilisez les paramètres suivants, comme illustré dans l'extrait de code suivant :
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
)
Vous pouvez modifier les paramètres de journalisation des requêtes et réponses après la création du point de terminaison à l'aide de la méthode EndpointService.UpdateEndpointLongRunning
. La méthode EndpointService.UpdateEndpoint
n'est pas compatible avec cette modification.
Créer un point de terminaison public partagé
ConsoleGoogle Cloud
-
Dans la section Vertex AI de la console Google Cloud , accédez à la page Prédiction en ligne.
Accéder à la page "Prédiction en ligne" - Cliquez sur Créer.
- Dans le volet Nouveau point de terminaison :
- Saisissez le nom du point de terminaison.
- Sélectionnez Standard pour le type d'accès.
- Cliquez sur Continuer.
- Cliquez sur OK.
gcloud
L'exemple suivant utilise la commande gcloud ai endpoints create
:
gcloud ai endpoints create \
--region=LOCATION_ID \
--display-name=ENDPOINT_NAME
Remplacez les éléments suivants :
- LOCATION_ID : région dans laquelle vous utilisez Vertex AI.
- ENDPOINT_NAME : nom à afficher pour le point de terminaison.
La création du point de terminaison par l'outil Google Cloud CLI peut prendre quelques secondes.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- LOCATION_ID : votre région.
- PROJECT_ID : ID de votre projet.
- ENDPOINT_NAME : nom à afficher pour le point de terminaison.
Méthode HTTP et URL :
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints
Corps JSON de la requête :
{ "display_name": "ENDPOINT_NAME" }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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
L'exemple suivant utilise la ressource Terraform google_vertex_ai_endpoint
pour créer un point de terminaison.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le guide de démarrage rapide de Vertex AI sur l'utilisation des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI sur l'utilisation des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Étapes suivantes
- Découvrez comment déployer un modèle à l'aide de la gcloud CLI ou de l'API Vertex AI.
- Découvrez comment obtenir une inférence en ligne.