Déployer et gérer des points de terminaison d'index publics

Avant d'interroger un index, vous devez effectuer les étapes suivantes :

  1. Créez une ressource IndexEndpoint si nécessaire, ou réutilisez un IndexEndpoint existant.
  2. Obtenez l'ID de IndexEndpoint.
  3. Déployez l'index sur le IndexEndpoint.

Créer un IndexEndpoint

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • INDEX_ENDPOINT_NAME : nom à afficher du point de terminaison de l'index.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : L'ID de votre projet Google Cloud.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud ai index-endpoints create \
    --display-name=INDEX_ENDPOINT_NAME \
    --public-endpoint-enabled \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai index-endpoints create `
    --display-name=INDEX_ENDPOINT_NAME `
    --public-endpoint-enabled `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai index-endpoints create ^
    --display-name=INDEX_ENDPOINT_NAME ^
    --public-endpoint-enabled ^
    --region=LOCATION ^
    --project=PROJECT_ID

REST

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • INDEX_ENDPOINT_NAME : nom à afficher du point de terminaison de l'index.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : L'ID de votre projet Google Cloud.
  • PROJECT_NUMBER : numéro de projet généré automatiquement pour votre projet.

Méthode HTTP et URL :

POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints

Corps JSON de la requête :

{
 "display_name": "INDEX_ENDPOINT_NAME",
 "publicEndpointEnabled": "true"
}

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/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateIndexEndpointOperationMetadata",
    "genericMetadata": {
      "createTime": "2022-01-13T04:09:56.641107Z",
      "updateTime": "2022-01-13T04:09:56.641107Z"
    }
  }
}
Vous pouvez interroger l'état de l'opération jusqu'à ce que la réponse indique "done": true.

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.

def vector_search_create_index_endpoint(
    project: str, location: str, display_name: str
) -> None:
    """Create a vector search index endpoint.

    Args:
        project (str): Required. Project ID
        location (str): Required. The region name
        display_name (str): Required. The index endpoint display name
    """
    # Initialize the Vertex AI client
    aiplatform.init(project=project, location=location)

    # Create Index Endpoint
    index_endpoint = aiplatform.MatchingEngineIndexEndpoint.create(
        display_name=display_name,
        public_endpoint_enabled=True,
        description="Matching Engine Index Endpoint",
    )

    print(index_endpoint.name)

Console

Suivez ces instructions pour créer un point de terminaison de l'index.

  1. Dans la section "Vertex AI" de la console Google Cloud, accédez à la section Déployer et utiliser. Sélectionnez Vector Search.

    Accéder à Vector Search

  2. La liste de vos index actifs s'affiche.
  3. En haut de la page, sélectionnez l'onglet Points de terminaison de l'index. Les points de terminaison de votre index s'affichent.
  4. Cliquez sur Créer un point de terminaison d'index. Le panneau "Créer un point de terminaison d'index" s'ouvre.
  5. Saisissez un nom à afficher pour le point de terminaison d'index.
  6. Dans le champ Région, sélectionnez une région dans la liste déroulante.
  7. Dans le champ Accès, sélectionnez Standard.
  8. Cliquez sur Créer.

Déployer un index sur un point de terminaison

gcloud

Cet exemple utilise la commande gcloud ai index-endpoints deploy-index.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • INDEX_ENDPOINT_ID : ID du point de terminaison de l'index.
  • DEPLOYED_INDEX_ID : chaîne spécifiée par l'utilisateur pour identifier de manière unique l'index déployé. Ce nom doit commencer par une lettre et ne peut contenir que des lettres, des chiffres ou des traits de soulignement. Consultez la page DeployedIndex.id pour connaître les consignes de format.
  • DEPLOYED_INDEX_ENDPOINT_NAME : nom à afficher du point de terminaison de l'index déployé.
  • INDEX_ID : ID de l'index.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : L'ID de votre projet Google Cloud.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID \
    --deployed-index-id=DEPLOYED_INDEX_ID \
    --display-name=DEPLOYED_INDEX_ENDPOINT_NAME \
    --index=INDEX_ID \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID `
    --deployed-index-id=DEPLOYED_INDEX_ID `
    --display-name=DEPLOYED_INDEX_ENDPOINT_NAME `
    --index=INDEX_ID `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID ^
    --deployed-index-id=DEPLOYED_INDEX_ID ^
    --display-name=DEPLOYED_INDEX_ENDPOINT_NAME ^
    --index=INDEX_ID ^
    --region=LOCATION ^
    --project=PROJECT_ID

REST

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • INDEX_ENDPOINT_ID : ID du point de terminaison de l'index.
  • DEPLOYED_INDEX_ID : chaîne spécifiée par l'utilisateur pour identifier de manière unique l'index déployé. Ce nom doit commencer par une lettre et ne peut contenir que des lettres, des chiffres ou des traits de soulignement. Consultez la page DeployedIndex.id pour connaître les consignes de format.
  • DEPLOYED_INDEX_ENDPOINT_NAME : nom à afficher du point de terminaison de l'index déployé.
  • INDEX_ID : ID de l'index.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : L'ID de votre projet Google Cloud.
  • PROJECT_NUMBER : numéro de projet généré automatiquement pour votre projet.

Méthode HTTP et URL :

POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex

Corps JSON de la requête :

{
 "deployedIndex": {
   "id": "DEPLOYED_INDEX_ID",
   "index": "projects/PROJECT_ID/locations/LOCATION/indexes/INDEX_ID",
   "displayName": "DEPLOYED_INDEX_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/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
 "metadata": {
   "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployIndexOperationMetadata",
   "genericMetadata": {
     "createTime": "2022-10-19T17:53:16.502088Z",
     "updateTime": "2022-10-19T17:53:16.502088Z"
   },
   "deployedIndexId": "DEPLOYED_INDEX_ID"
 }
}

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.

def vector_search_deploy_index(
    project: str,
    location: str,
    index_name: str,
    index_endpoint_name: str,
    deployed_index_id: str,
) -> None:
    """Deploy a vector search index to a vector search index endpoint.

    Args:
        project (str): Required. Project ID
        location (str): Required. The region name
        index_name (str): Required. The index to update. A fully-qualified index
          resource name or a index ID.  Example:
          "projects/123/locations/us-central1/indexes/my_index_id" or
          "my_index_id".
        index_endpoint_name (str): Required. Index endpoint to deploy the index to.
        deployed_index_id (str): Required. The user specified ID of the DeployedIndex.
    """
    # Initialize the Vertex AI client
    aiplatform.init(project=project, location=location)

    # Create the index instance from an existing index
    index = aiplatform.MatchingEngineIndex(index_name=index_name)

    # Create the index endpoint instance from an existing endpoint.
    index_endpoint = aiplatform.MatchingEngineIndexEndpoint(
        index_endpoint_name=index_endpoint_name
    )

    # Deploy Index to Endpoint
    index_endpoint = index_endpoint.deploy_index(
        index=index, deployed_index_id=deployed_index_id
    )

    print(index_endpoint.deployed_indexes)

Console

Suivez ces instructions pour déployer votre index sur un point de terminaison.

  1. Dans la section "Vertex AI" de la console Google Cloud, accédez à la section Déployer et utiliser. Sélectionnez Vector Search.

    Accéder à Vector Search

  2. La liste de vos index actifs s'affiche.
  3. Sélectionnez le nom de l'index que vous souhaitez déployer. La page des détails de l'index s'affiche.
  4. Sur la page des détails de l'index, cliquez sur Déploiement sur le point de terminaison. Le panneau de déploiement d'index s'ouvre.
  5. Saisissez un nom à afficher. Il sert d'identifiant et ne peut pas être mis à jour.
  6. Dans la liste déroulante Point de terminaison, sélectionnez le point de terminaison sur lequel vous souhaitez déployer cet index. Remarque : Le point de terminaison n'est pas disponible si l'index y est déjà déployé.
  7. Facultatif : dans le champ Type de machine, sélectionnez une mémoire standard ou élevée.
  8. Facultatif. Sélectionnez Activer l'autoscaling pour redimensionner automatiquement le nombre de nœuds en fonction des demandes de vos charges de travail. Le nombre d'instances répliquées par défaut est de 2 si l'autoscaling est désactivé.
  9. Cliquez sur Déployer pour déployer votre index sur le point de terminaison. Remarque : Le déploiement prend environ 30 minutes.

Obtenir le nom de domaine de l'index

Une fois l'index déployé, vous devez obtenir le nom du domaine afin de pouvoir l'utiliser pour une requête en ligne. La valeur est disponible sous publicEndpointDomainName.

curl -H "Content-Type: application/json" -H "Authorization: Bearer `gcloud auth print-access-token`"  ${ENDPOINT}/v1/projects/${PROJECT_ID}/locations/${REGION}/indexEndpoints/${INDEX_ENDPOINT_ID}

Exemple de réponse

{
  "name": "projects/181224308459/locations/us-central1/indexEndpoints/3370566089086861312",
  "displayName": "public-endpoint-test1",
  "deployedIndexes": [
    {
      "id": "test_index_public1",
      "index": "projects/181224308459/locations/us-central1/indexes/7733428228102029312",
      "displayName": "test_index_public1",
      "createTime": "2023-02-08T23:19:58.026843Z",
      "indexSyncTime": "2023-02-09T05:26:19.309417Z",
      "automaticResources": {
        "minReplicaCount": 2,
        "maxReplicaCount": 2
      },
      "deploymentGroup": "default"
    }
  ],
  "etag": "AMEw9yNkXQcSke8iqW9SYxfhj_hT9GCwPt1XlxVwJRSCxiXOYnG4CKrZM_X0oH-XN8tR",
  "createTime": "2023-02-08T22:44:20.285382Z",
  "updateTime": "2023-02-08T22:44:26.515162Z",
  "publicEndpointDomainName": "1957880287.us-central1-181224308459.vdb.vertexai.goog"
}

Enable autoscaling

Vector Search accepte l'autoscaling, qui peut redimensionner automatiquement le nombre de nœuds en fonction des demandes de vos charges de travail. Lorsque la demande est élevée, les nœuds sont ajoutés au pool de nœuds, sans dépasser la taille maximale que vous avez définie. Lorsque la demande est faible, le pool de nœuds se redimensionne à la taille minimale que vous avez définie. Vous pouvez vérifier les nœuds réels utilisés et les modifications en surveillant les instances dupliquées actuelles.

Pour activer l'autoscaling, spécifiez les paramètres maxReplicaCount et minReplicaCount lorsque vous déployez l'index :

gcloud

L'exemple suivant utilise la commande gcloud ai index-endpoints deploy-index :

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • INDEX_ENDPOINT_ID : ID du point de terminaison de l'index.
  • DEPLOYED_INDEX_ID : chaîne spécifiée par l'utilisateur pour identifier de manière unique l'index déployé. Ce nom doit commencer par une lettre et ne peut contenir que des lettres, des chiffres ou des traits de soulignement. Consultez la page DeployedIndex.id pour connaître les consignes de format.
  • DEPLOYED_INDEX_NAME : nom à afficher de l'index déployé.
  • INDEX_ID : ID de l'index.
  • MIN_REPLICA_COUNT : nombre minimal d'instances dupliquées pour les machines sur lesquelles l'index déployé sera toujours déployé. Si elle est spécifiée, la valeur doit être supérieure ou égale à 1.
  • MAX_REPLICA_COUNT : nombre maximal d'instances dupliquées pour les machines sur lesquelles l'index déployé peut être déployé.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : L'ID de votre projet Google Cloud.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID \
    --deployed-index-id=DEPLOYED_INDEX_ID \
    --display-name=DEPLOYED_INDEX_NAME \
    --index=INDEX_ID \
    --min-replica-count=MIN_REPLICA_COUNT \
    --max-replica-count=MAX_REPLICA_COUNT \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID `
    --deployed-index-id=DEPLOYED_INDEX_ID `
    --display-name=DEPLOYED_INDEX_NAME `
    --index=INDEX_ID `
    --min-replica-count=MIN_REPLICA_COUNT `
    --max-replica-count=MAX_REPLICA_COUNT `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID ^
    --deployed-index-id=DEPLOYED_INDEX_ID ^
    --display-name=DEPLOYED_INDEX_NAME ^
    --index=INDEX_ID ^
    --min-replica-count=MIN_REPLICA_COUNT ^
    --max-replica-count=MAX_REPLICA_COUNT ^
    --region=LOCATION ^
    --project=PROJECT_ID

REST

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • INDEX_ENDPOINT_ID : ID du point de terminaison de l'index.
  • DEPLOYED_INDEX_ID : chaîne spécifiée par l'utilisateur pour identifier de manière unique l'index déployé. Ce nom doit commencer par une lettre et ne peut contenir que des lettres, des chiffres ou des traits de soulignement. Consultez la page DeployedIndex.id pour connaître les consignes de format.
  • DEPLOYED_INDEX_NAME : nom à afficher de l'index déployé.
  • INDEX_ID : ID de l'index.
  • MIN_REPLICA_COUNT : nombre minimal d'instances dupliquées pour les machines sur lesquelles l'index déployé sera toujours déployé. Si elle est spécifiée, la valeur doit être supérieure ou égale à 1.
  • MAX_REPLICA_COUNT : nombre maximal d'instances dupliquées pour les machines sur lesquelles l'index déployé peut être déployé.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : L'ID de votre projet Google Cloud.
  • PROJECT_NUMBER : numéro de projet généré automatiquement pour votre projet.

Méthode HTTP et URL :

POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex

Corps JSON de la requête :

{
 "deployedIndex": {
   "id": "DEPLOYED_INDEX_ID",
   "index": "projects/PROJECT_NUMBER/locations/LOCATION/indexes/INDEX_ID",
   "displayName": "DEPLOYED_INDEX_NAME",
   "automaticResources": {
     "minReplicaCount": MIN_REPLICA_COUNT,
     "maxReplicaCount": MAX_REPLICA_COUNT
   }
 }
}

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/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
 "metadata": {
   "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployIndexOperationMetadata",
   "genericMetadata": {
     "createTime": "2023-10-19T17:53:16.502088Z",
     "updateTime": "2023-10-19T17:53:16.502088Z"
   },
   "deployedIndexId": "DEPLOYED_INDEX_ID"
 }
}

Console

Vous ne pouvez activer l'autoscaling depuis la console que lors du déploiement de l'index.

  1. Dans la section "Vertex AI" de la console Google Cloud, accédez à la section Déployer et utiliser. Sélectionnez Vector Search.

    Accéder à Vector Search

  2. La liste de vos index actifs s'affiche.
  3. Sélectionnez le nom de l'index que vous souhaitez déployer. La page des détails de l'index s'affiche.
  4. Sur la page des détails de l'index, cliquez sur Déploiement sur le point de terminaison. Le panneau de déploiement d'index s'ouvre.
  5. Saisissez un nom à afficher. Il sert d'identifiant et ne peut pas être mis à jour.
  6. Dans la liste déroulante Point de terminaison, sélectionnez le point de terminaison sur lequel vous souhaitez déployer cet index. Remarque : Le point de terminaison n'est pas disponible si l'index y est déjà déployé.
  7. Facultatif : dans le champ Type de machine, sélectionnez une mémoire standard ou élevée.
  8. Facultatif. Sélectionnez Activer l'autoscaling pour redimensionner automatiquement le nombre de nœuds en fonction des demandes de vos charges de travail. Le nombre d'instances répliquées par défaut est de 2 si l'autoscaling est désactivé.
  • Si minReplicaCount et maxReplicaCount ne sont pas définis, ils sont définis sur 2 par défaut.
  • Si seul maxReplicaCount est défini, minReplicaCount est défini sur 2 par défaut.
  • Si seul minReplicaCount est défini, maxReplicaCount est défini sur la même valeur que minReplicaCount.

Modifier un DeployedIndex

Vous pouvez utiliser l'API MutateDeployedIndex pour mettre à jour les ressources de déploiement (par exemple, minReplicaCount et maxReplicaCount) d'un index déjà déployé.

  • Les utilisateurs ne sont pas autorisés à modifier le machineType après le déploiement de l'index.
  • Si maxReplicaCount n'est pas spécifié dans la requête, DeployedIndex continue d'utiliser la valeur maxReplicaCount existante.

gcloud

L'exemple suivant utilise la commande gcloud ai index-endpoints mutate-deployed-index :

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • INDEX_ENDPOINT_ID : ID du point de terminaison de l'index.
  • DEPLOYED_INDEX_ID : chaîne spécifiée par l'utilisateur pour identifier de manière unique l'index déployé. Ce nom doit commencer par une lettre et ne peut contenir que des lettres, des chiffres ou des traits de soulignement. Consultez la page DeployedIndex.id pour connaître les consignes de format.
  • MIN_REPLICA_COUNT : nombre minimal d'instances dupliquées pour les machines sur lesquelles l'index déployé sera toujours déployé. Si elle est spécifiée, la valeur doit être supérieure ou égale à 1.
  • MAX_REPLICA_COUNT : nombre maximal d'instances dupliquées pour les machines sur lesquelles l'index déployé peut être déployé.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : L'ID de votre projet Google Cloud.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud ai index-endpoints mutate-deployed-index INDEX_ENDPOINT_ID \
    --deployed-index-id=DEPLOYED_INDEX_ID \
    --min-replica-count=MIN_REPLICA_COUNT \
    --max-replica-count=MAX_REPLICA_COUNT \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai index-endpoints mutate-deployed-index INDEX_ENDPOINT_ID `
    --deployed-index-id=DEPLOYED_INDEX_ID `
    --min-replica-count=MIN_REPLICA_COUNT `
    --max-replica-count=MAX_REPLICA_COUNT `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai index-endpoints mutate-deployed-index INDEX_ENDPOINT_ID ^
    --deployed-index-id=DEPLOYED_INDEX_ID ^
    --min-replica-count=MIN_REPLICA_COUNT ^
    --max-replica-count=MAX_REPLICA_COUNT ^
    --region=LOCATION ^
    --project=PROJECT_ID

REST

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • INDEX_ENDPOINT_ID : ID du point de terminaison de l'index.
  • DEPLOYED_INDEX_ID : chaîne spécifiée par l'utilisateur pour identifier de manière unique l'index déployé. Ce nom doit commencer par une lettre et ne peut contenir que des lettres, des chiffres ou des traits de soulignement. Consultez la page DeployedIndex.id pour connaître les consignes de format.
  • MIN_REPLICA_COUNT : nombre minimal d'instances dupliquées pour les machines sur lesquelles l'index déployé sera toujours déployé. Si elle est spécifiée, la valeur doit être supérieure ou égale à 1.
  • MAX_REPLICA_COUNT : nombre maximal d'instances dupliquées pour les machines sur lesquelles l'index déployé peut être déployé.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : L'ID de votre projet Google Cloud.
  • PROJECT_NUMBER : numéro de projet généré automatiquement pour votre projet.

Méthode HTTP et URL :

POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID:mutateDeployedIndex

Corps JSON de la requête :

{
"deployedIndex": {
  "id": "DEPLOYED_INDEX_ID",
  "index": "projects/PROJECT_ID/locations/LOCATION/indexes/INDEX_ID",
  "displayName": "DEPLOYED_INDEX_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/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
"metadata": {
  "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployIndexOperationMetadata",
  "genericMetadata": {
    "createTime": "2020-10-19T17:53:16.502088Z",
    "updateTime": "2020-10-19T17:53:16.502088Z"
  },
  "deployedIndexId": "DEPLOYED_INDEX_ID"
}
}

Paramètres de déploiement ayant un impact sur les performances

Les paramètres de déploiement suivants peuvent affecter la latence, la disponibilité et les coûts lors de l'utilisation de Vector Search. Cette recommandation s'applique à la plupart des cas. Toutefois, testez toujours vos configurations pour vous assurer qu'elles fonctionnent bien pour votre cas d'utilisation.

Paramètre Impact sur la performance
Type de machine

La sélection matérielle a une interaction directe avec la taille de segment sélectionnée. En fonction des choix de segmentation que vous avez spécifiés lors de la création de l'index, chaque type de machine offre un compromis entre performances et coût.

Consultez la page des tarifs pour déterminer le matériel disponible et son prix. En général, les performances augmentent dans l'ordre suivant :

  • E2 standard
  • E2 highmem
  • N1 standard
  • N2D standard
Nombre minimal d'instances répliquées

minReplicaCount réserve une capacité minimale de disponibilité et de latence pour garantir que le système ne rencontre pas de problèmes de démarrage à froid lorsque le trafic augmente rapidement à partir de niveaux bas.

Si vos charges de travail tombent à des niveaux bas, puis montent rapidement à des niveaux supérieurs, envisagez de définir minReplicaCount sur un nombre pouvant gérer les pics de trafic initiaux.

Nombre maximal d'instances répliquées maxReplicaCount vous permet principalement de contrôler les coûts d'utilisation. Vous pouvez choisir d'éviter d'augmenter les coûts au-delà d'un certain seuil, avec le compromis d'augmenter la latence et de réduire la disponibilité.

Répertorier IndexEndpoints

Pour répertorier vos ressources IndexEndpoint et afficher les informations de toutes les instances DeployedIndex associées, exécutez le code suivant :

gcloud

L'exemple suivant utilise la commande gcloud ai index-endpoints list.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : L'ID de votre projet Google Cloud.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud ai index-endpoints list \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai index-endpoints list `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai index-endpoints list ^
    --region=LOCATION ^
    --project=PROJECT_ID

REST

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : L'ID de votre projet Google Cloud.
  • PROJECT_NUMBER : numéro de projet généré automatiquement pour votre projet.

Méthode HTTP et URL :

GET http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
 "indexEndpoints": [
   {
     "name": "projects/PROJECT_NUMBER/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID",
     "displayName": "INDEX_ENDPOINT_DISPLAY_NAME",
     "deployedIndexes": [
       {
         "id": "DEPLOYED_INDEX_ID",
         "index": "projects/PROJECT_NUMBER/locations/LOCATION/indexes/INDEX_ID",
         "displayName": "DEPLOYED_INDEX_DISPLAY_NAME",
         "createTime": "2021-06-04T02:23:40.178286Z",
         "privateEndpoints": {
           "matchGrpcAddress": "GRPC_ADDRESS"
         },
         "indexSyncTime": "2022-01-13T04:22:00.151916Z",
         "automaticResources": {
           "minReplicaCount": 2,
           "maxReplicaCount": 10
         }
       }
     ],
     "etag": "AMEw9yP367UitPkLo-khZ1OQvqIK8Q0vLAzZVF7QjdZ5O3l7Zow-mzBo2l6xmiuuMljV",
     "createTime": "2021-03-17T04:47:28.460373Z",
     "updateTime": "2021-06-04T02:23:40.930513Z",
     "network": "VPC_NETWORK_NAME"
   }
 ]
}

Console

Suivez ces instructions pour afficher la liste de vos points de terminaison d'index.

  1. Dans la section "Vertex AI" de la console Google Cloud, accédez à la section Déployer et utiliser. Sélectionnez Vector Search.

    Accéder à Vector Search

  2. En haut de la page, sélectionnez l'onglet Point de terminaison d'index.
  3. Tous les points de terminaison d'index existants s'affichent.

Pour en savoir plus, consultez la documentation de référence sur IndexEndpoint.

Annuler le déploiement d'un index

Pour annuler le déploiement d'un index sur le point de terminaison, exécutez le code suivant :

gcloud

L'exemple suivant utilise la commande gcloud ai index-endpoints undeploy-index.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • INDEX_ENDPOINT_ID : ID du point de terminaison de l'index.
  • DEPLOYED_INDEX_ID : chaîne spécifiée par l'utilisateur pour identifier de manière unique l'index déployé. Ce nom doit commencer par une lettre et ne peut contenir que des lettres, des chiffres ou des traits de soulignement. Consultez la page DeployedIndex.id pour connaître les consignes de format.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : L'ID de votre projet Google Cloud.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud ai index-endpoints undeploy-index INDEX_ENDPOINT_ID \
    --deployed-index-id=DEPLOYED_INDEX_ID \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai index-endpoints undeploy-index INDEX_ENDPOINT_ID `
    --deployed-index-id=DEPLOYED_INDEX_ID `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai index-endpoints undeploy-index INDEX_ENDPOINT_ID ^
    --deployed-index-id=DEPLOYED_INDEX_ID ^
    --region=LOCATION ^
    --project=PROJECT_ID

REST

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • INDEX_ENDPOINT_ID : ID du point de terminaison de l'index.
  • DEPLOYED_INDEX_ID : chaîne spécifiée par l'utilisateur pour identifier de manière unique l'index déployé. Ce nom doit commencer par une lettre et ne peut contenir que des lettres, des chiffres ou des traits de soulignement. Consultez la page DeployedIndex.id pour connaître les consignes de format.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : L'ID de votre projet Google Cloud.
  • PROJECT_NUMBER : numéro de projet généré automatiquement pour votre projet.

Méthode HTTP et URL :

POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID:undeployIndex

Corps JSON de la requête :

{
 "deployed_index_id": "DEPLOYED_INDEX_ID"
}

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/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
 "metadata": {
   "@type": "type.googleapis.com/google.cloud.aiplatform.v1.UndeployIndexOperationMetadata",
   "genericMetadata": {
     "createTime": "2022-01-13T04:09:56.641107Z",
     "updateTime": "2022-01-13T04:09:56.641107Z"
   }
 }
}

Console

Suivez ces instructions pour annuler le déploiement d'un index sur un point de terminaison.

  1. Dans la section "Vertex AI" de la console Google Cloud, accédez à la section Déployer et utiliser. Sélectionnez Vector Search.

    Accéder à Vector Search

  2. La liste de vos index actifs s'affiche.
  3. Sélectionnez l'index dont vous souhaitez annuler le déploiement. La page des détails de l'index s'affiche.
  4. Dans la section Index déployés, identifiez la version d'index dont vous souhaitez annuler le déploiement.
  5. Cliquez sur le menu d'options qui se trouve sur la même ligne que l'index, puis sélectionnez Annuler le déploiement.
  6. Un écran de confirmation s'affiche. Cliquez sur Annuler le déploiement. Remarque : L'annulation du déploiement peut prendre jusqu'à 30 minutes.

Supprimer un IndexEndpoint

Avant de supprimer un IndexEndpoint, vous devez annuler le déploiement de tous les index déployés sur le point de terminaison.

gcloud

L'exemple suivant utilise la commande gcloud ai index-endpoints delete.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • INDEX_ENDPOINT_ID : ID du point de terminaison de l'index.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : L'ID de votre projet Google Cloud.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud ai index-endpoints delete INDEX_ENDPOINT_ID \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai index-endpoints delete INDEX_ENDPOINT_ID `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai index-endpoints delete INDEX_ENDPOINT_ID ^
    --region=LOCATION ^
    --project=PROJECT_ID

REST

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • INDEX_ENDPOINT_ID : ID du point de terminaison de l'index.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : L'ID de votre projet Google Cloud.
  • PROJECT_NUMBER : numéro de projet généré automatiquement pour votre projet.

Méthode HTTP et URL :

DELETE http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID

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/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
 "metadata": {
   "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeleteOperationMetadata",
   "genericMetadata": {
     "createTime": "2022-01-13T04:36:19.142203Z",
     "updateTime": "2022-01-13T04:36:19.142203Z"
   }
 },
 "done": true,
 "response": {
   "@type": "type.googleapis.com/google.protobuf.Empty"
 }
}

Console

Suivez ces instructions pour supprimer un point de terminaison d'index.

  1. Dans la section "Vertex AI" de la console Google Cloud, accédez à la section Déployer et utiliser. Sélectionnez Vector Search.

    Accéder à Vector Search

  2. En haut de la page, sélectionnez l'onglet Point de terminaison d'index.
  3. Tous les points de terminaison d'index existants s'affichent.
  4. Cliquez sur le menu d'options qui se trouve sur la même ligne que l'index que vous souhaitez supprimer, puis sélectionnez Supprimer.
  5. Un écran de confirmation s'affiche. Cliquez sur Supprimer. Votre point de terminaison d'index est maintenant supprimé.