Déployer et gérer des points de terminaison d'index dans un réseau VPC

Le déploiement d'un index sur un point de terminaison comprend les trois tâches suivantes :

  1. Créer un IndexEndpoint si nécessaire ou réutiliser un IndexEndpoint existant
  2. Obtenir l'ID de l'IndexEndpoint
  3. Déployer l'index sur l'IndexEndpoint

Créer un IndexEndpoint dans votre réseau VPC

Si vous déployez un Index sur un IndexEndpoint existant, vous pouvez ignorer cette étape.

Avant d'utiliser un index pour livrer des requêtes en ligne de correspondances vectorielles, vous devez déployer un Index sur un IndexEndpoint de votre réseau d'appairage de réseaux VPC. La première étape consiste à créer un IndexEndpoint. Vous pouvez déployer plusieurs index sur un IndexEndpoint qui partage le même réseau VPC.

gcloud

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

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.
  • VPC_NETWORK_NAME : nom du réseau Google Compute Engine auquel le point de terminaison d'index doit être appairé.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : 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 \
    --network=VPC_NETWORK_NAME \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai index-endpoints create `
    --display-name=INDEX_ENDPOINT_NAME `
    --network=VPC_NETWORK_NAME `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai index-endpoints create ^
    --display-name=INDEX_ENDPOINT_NAME ^
    --network=VPC_NETWORK_NAME ^
    --region=LOCATION ^
    --project=PROJECT_ID

Vous devriez obtenir un résultat semblable à celui-ci :

The Google Cloud CLI tool might take a few minutes to create the IndexEndpoint.

REST

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

  • INDEX_ENDPOINT_NAME : nom à afficher du point de terminaison de l'index.
  • VPC_NETWORK_NAME : nom du réseau Google Compute Engine auquel le point de terminaison d'index doit être appairé.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : 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 https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints

Corps JSON de la requête :

{
  "display_name": "INDEX_ENDPOINT_NAME",
  "network": "VPC_NETWORK_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.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.

Terraform

L'exemple suivant utilise la ressource Terraform vertex_ai_index_endpoint pour créer un point de terminaison d'index.

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.

resource "google_vertex_ai_index_endpoint" "default" {
  display_name = "sample-endpoint"
  description  = "A sample index endpoint within a VPC network"
  region       = "us-central1"
  network      = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
  depends_on = [
    google_service_networking_connection.default
  ]
}

resource "google_service_networking_connection" "default" {
  network                 = google_compute_network.default.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.default.name]
  # Workaround to allow `terraform destroy`, see https://github.com/hashicorp/terraform-provider-google/issues/18729
  deletion_policy = "ABANDON"
}

resource "google_compute_global_address" "default" {
  name          = "sample-address"
  purpose       = "VPC_PEERING"
  address_type  = "INTERNAL"
  prefix_length = 16
  network       = google_compute_network.default.id
}

resource "google_compute_network" "default" {
  name = "sample-network"
}

data "google_project" "project" {}

# Cloud Storage bucket name must be unique
resource "random_id" "default" {
  byte_length = 8
}

# Create a Cloud Storage bucket
resource "google_storage_bucket" "bucket" {
  name                        = "vertex-ai-index-bucket-${random_id.default.hex}"
  location                    = "us-central1"
  uniform_bucket_level_access = true
}

# Create index content
resource "google_storage_bucket_object" "data" {
  name    = "contents/data.json"
  bucket  = google_storage_bucket.bucket.name
  content = <<EOF
{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
EOF
}

resource "google_vertex_ai_index" "default" {
  region       = "us-central1"
  display_name = "sample-index-batch-update"
  description  = "A sample index for batch update"
  labels = {
    foo = "bar"
  }

  metadata {
    contents_delta_uri = "gs://${google_storage_bucket.bucket.name}/contents"
    config {
      dimensions                  = 2
      approximate_neighbors_count = 150
      distance_measure_type       = "DOT_PRODUCT_DISTANCE"
      algorithm_config {
        tree_ah_config {
          leaf_node_embedding_count    = 500
          leaf_nodes_to_search_percent = 7
        }
      }
    }
  }
  index_update_method = "BATCH_UPDATE"

  timeouts {
    create = "2h"
    update = "1h"
  }
}

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_vpc(
    project: str, location: str, display_name: str, network: str
) -> aiplatform.MatchingEngineIndexEndpoint:
    """Create a vector search index endpoint within a VPC network.

    Args:
        project (str): Required. Project ID
        location (str): Required. The region name
        display_name (str): Required. The index endpoint display name
        network(str): Required. The VPC network name, in the format of
            projects/{project number}/global/networks/{network name}.

    Returns:
        aiplatform.MatchingEngineIndexEndpoint - The created index endpoint.
    """
    # Initialize the Vertex AI client
    aiplatform.init(project=project, location=location)

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

    return index_endpoint

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 d'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 le menu déroulant.
  7. Dans le champ Accès, sélectionnez Privé.
  8. Saisissez les détails de votre réseau VPC appairé. Saisissez le nom complet du réseau Compute Engine auquel le job doit être appairé. Le format doit être projects/{project_num}/global/networks/{network_id}.
  9. Cliquez sur Créer.

Déployer un index

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 et des traits de soulignement. Consultez 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 : 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

Vous devriez obtenir un résultat semblable à celui-ci :

The Google Cloud CLI tool might take a few minutes to create the IndexEndpoint.

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 et des traits de soulignement. Consultez 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 : 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 https://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"
 }
}

Terraform

L'exemple suivant utilise la ressource Terraform vertex_ai_index_endpoint_deployed_index pour créer un point de terminaison d'index déployé.

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.

provider "google" {
  region = "us-central1"
}

resource "google_vertex_ai_index_endpoint_deployed_index" "default" {
  depends_on        = [google_vertex_ai_index_endpoint.default]
  index_endpoint    = google_vertex_ai_index_endpoint.default.id
  index             = google_vertex_ai_index.default.id
  deployed_index_id = "deployed_index_for_vpc"
}

resource "google_vertex_ai_index_endpoint" "default" {
  display_name = "sample-endpoint"
  description  = "A sample index endpoint within a VPC network"
  region       = "us-central1"
  network      = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
  depends_on = [
    google_service_networking_connection.default
  ]
}

resource "google_service_networking_connection" "default" {
  network                 = google_compute_network.default.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.default.name]
  # Workaround to allow `terraform destroy`, see https://github.com/hashicorp/terraform-provider-google/issues/18729
  deletion_policy = "ABANDON"
}

resource "google_compute_global_address" "default" {
  name          = "sample-address"
  purpose       = "VPC_PEERING"
  address_type  = "INTERNAL"
  prefix_length = 16
  network       = google_compute_network.default.id
}

resource "google_compute_network" "default" {
  name = "sample-network"
}

data "google_project" "project" {}

# Cloud Storage bucket name must be unique
resource "random_id" "default" {
  byte_length = 8
}

# Create a Cloud Storage bucket
resource "google_storage_bucket" "bucket" {
  name                        = "vertex-ai-index-bucket-${random_id.default.hex}"
  location                    = "us-central1"
  uniform_bucket_level_access = true
}

# Create index content
resource "google_storage_bucket_object" "data" {
  name    = "contents/data.json"
  bucket  = google_storage_bucket.bucket.name
  content = <<EOF
{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
EOF
}

resource "google_vertex_ai_index" "default" {
  region       = "us-central1"
  display_name = "sample-index-batch-update"
  description  = "A sample index for batch update"
  labels = {
    foo = "bar"
  }

  metadata {
    contents_delta_uri = "gs://${google_storage_bucket.bucket.name}/contents"
    config {
      dimensions                  = 2
      approximate_neighbors_count = 150
      distance_measure_type       = "DOT_PRODUCT_DISTANCE"
      algorithm_config {
        tree_ah_config {
          leaf_node_embedding_count    = 500
          leaf_nodes_to_search_percent = 7
        }
      }
    }
  }
  index_update_method = "BATCH_UPDATE"

  timeouts {
    create = "2h"
    update = "1h"
  }
}

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 d'informations de l'index s'affiche.
  4. Sur la page d'informations de l'index, cliquez sur Déployer sur un point de terminaison. Le panneau de déploiement d'index s'ouvre.
  5. Entrez un nom à afficher. Il sert d'identifiant et ne peut pas être modifié par la suite.
  6. Dans le menu déroulant 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.

Activer l'autoscaling

Vector Search est compatible avec 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, des 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 répliqué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 et des traits de soulignement. Consultez 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 répliquées de 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 répliquées de machines sur lesquelles l'index déployé peut être déployé.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : 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 et des traits de soulignement. Consultez 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 répliquées de 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 répliquées de machines sur lesquelles l'index déployé peut être déployé.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : 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 https://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"
 }
}

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_autoscaling_index(
    project: str,
    location: str,
    index_name: str,
    index_endpoint_name: str,
    deployed_index_id: str,
    min_replica_count: int,
    max_replica_count: int,
) -> 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.
        min_replica_count (int): Required. The minimum number of replicas to
          deploy.
        max_replica_count (int): Required. The maximum number of replicas to
          deploy.
    """
    # 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. Specifying min and max replica counts will
    # enable autoscaling.
    index_endpoint.deploy_index(
        index=index,
        deployed_index_id=deployed_index_id,
        min_replica_count=min_replica_count,
        max_replica_count=max_replica_count,
    )

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 d'informations de l'index s'affiche.
  4. Sur la page d'informations de l'index, cliquez sur Déployer sur un point de terminaison. Le panneau de déploiement d'index s'ouvre.
  5. Entrez un nom à afficher. Il sert d'identifiant et ne peut pas être modifié par la suite.
  6. Dans le menu déroulant 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 continuera d'utiliser la valeur de 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 et des traits de soulignement. Consultez DeployedIndex.id pour connaître les consignes de format.
  • MIN_REPLICA_COUNT : nombre minimal d'instances répliquées de 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 répliquées de machines sur lesquelles l'index déployé peut être déployé.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : 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 et des traits de soulignement. Consultez DeployedIndex.id pour connaître les consignes de format.
  • MIN_REPLICA_COUNT : nombre minimal d'instances répliquées de 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 répliquées de machines sur lesquelles l'index déployé peut être déployé.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : 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 https://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",
    "min_replica_count": "MIN_REPLICA_COUNT",
    "max_replica_count": "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": "2020-10-19T17:53:16.502088Z",
    "updateTime": "2020-10-19T17:53:16.502088Z"
  },
  "deployedIndexId": "DEPLOYED_INDEX_ID"
}
}

Terraform

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base. Pour en savoir plus, lisez la documentation de référence du fournisseur Terraform.

provider "google" {
  region = "us-central1"
}

resource "google_vertex_ai_index_endpoint_deployed_index" "default" {
  depends_on        = [google_vertex_ai_index_endpoint.default]
  index_endpoint    = google_vertex_ai_index_endpoint.default.id
  index             = google_vertex_ai_index.default.id
  deployed_index_id = "deployed_index_for_mutate_vpc"
  # This example assumes the deployed index endpoint's resources configuration
  # differs from the values specified below. Terraform will mutate the deployed
  # index endpoint's resource configuration to match.
  automatic_resources {
    min_replica_count = 3
    max_replica_count = 5
  }
}

resource "google_vertex_ai_index_endpoint" "default" {
  display_name = "sample-endpoint"
  description  = "A sample index endpoint within a VPC network"
  region       = "us-central1"
  network      = "projects/${data.google_project.project.number}/global/networks/${google_compute_network.default.name}"
  depends_on = [
    google_service_networking_connection.default
  ]
}

resource "google_service_networking_connection" "default" {
  network                 = google_compute_network.default.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.default.name]
  # Workaround to allow `terraform destroy`, see https://github.com/hashicorp/terraform-provider-google/issues/18729
  deletion_policy = "ABANDON"
}

resource "google_compute_global_address" "default" {
  name          = "sample-address"
  purpose       = "VPC_PEERING"
  address_type  = "INTERNAL"
  prefix_length = 16
  network       = google_compute_network.default.id
}

resource "google_compute_network" "default" {
  name = "sample-network"
}

data "google_project" "project" {}

# Cloud Storage bucket name must be unique
resource "random_id" "default" {
  byte_length = 8
}

# Create a Cloud Storage bucket
resource "google_storage_bucket" "bucket" {
  name                        = "vertex-ai-index-bucket-${random_id.default.hex}"
  location                    = "us-central1"
  uniform_bucket_level_access = true
}

# Create index content
resource "google_storage_bucket_object" "data" {
  name    = "contents/data.json"
  bucket  = google_storage_bucket.bucket.name
  content = <<EOF
{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
EOF
}

resource "google_vertex_ai_index" "default" {
  region       = "us-central1"
  display_name = "sample-index-batch-update"
  description  = "A sample index for batch update"
  labels = {
    foo = "bar"
  }

  metadata {
    contents_delta_uri = "gs://${google_storage_bucket.bucket.name}/contents"
    config {
      dimensions                  = 2
      approximate_neighbors_count = 150
      distance_measure_type       = "DOT_PRODUCT_DISTANCE"
      algorithm_config {
        tree_ah_config {
          leaf_node_embedding_count    = 500
          leaf_nodes_to_search_percent = 7
        }
      }
    }
  }
  index_update_method = "BATCH_UPDATE"

  timeouts {
    create = "2h"
    update = "1h"
  }
}

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_mutate_deployed_index(
    project: str,
    location: str,
    index_endpoint_name: str,
    deployed_index_id: str,
    min_replica_count: int,
    max_replica_count: int,
) -> None:
    """Mutate the deployment resources of an already deployed index.

    Args:
        project (str): Required. Project ID
        location (str): Required. The region name
        index_endpoint_name (str): Required. Index endpoint to run the query
          against.
        deployed_index_id (str): Required. The ID of the DeployedIndex to run
          the queries against.
        min_replica_count (int): Required. The minimum number of replicas to
          deploy.
        max_replica_count (int): Required. The maximum number of replicas to
          deploy.
    """
    # Initialize the Vertex AI client
    aiplatform.init(project=project, location=location)

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

    # Mutate the deployed index
    index_endpoint.mutate_deployed_index(
        deployed_index_id=deployed_index_id,
        min_replica_count=min_replica_count,
        max_replica_count=max_replica_count,
    )

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. Ces conseils s'appliquent à 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 du matériel est intrinsèquement liée à 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 connaître le matériel disponible et les tarifs. En général, les performances augmentent dans l'ordre suivant :

  • E2 standard
  • E2 mémoire élevée
  • N1 standard
  • N2D standard
Nombre minimal d'instances répliquées

minReplicaCount réserve une capacité minimale de disponibilité et de latence pour assurer 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 passent à des niveaux bas, puis augmentent rapidement vers des niveaux plus élevés, envisagez de définir minReplicaCount sur une valeur pouvant gérer les pics de trafic initiaux.

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

Lister les IndexEndpoints

Pour lister 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 : 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 : 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 https://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"
   }
 ]
}

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_list_index_endpoint(
    project: str, location: str
) -> List[aiplatform.MatchingEngineIndexEndpoint]:
    """List vector search index endpoints.

    Args:
        project (str): Required. Project ID
        location (str): Required. The region name

    Returns:
        List of aiplatform.MatchingEngineIndexEndpoint
    """
    # Initialize the Vertex AI client
    aiplatform.init(project=project, location=location)

    # List Index Endpoints
    return aiplatform.MatchingEngineIndexEndpoint.list()

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 de l'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, 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 et des traits de soulignement. Consultez DeployedIndex.id pour connaître les consignes de format.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : 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 et des traits de soulignement. Consultez DeployedIndex.id pour connaître les consignes de format.
  • LOCATION : région dans laquelle vous utilisez Vertex AI.
  • PROJECT_ID : 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 https://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"
   }
 }
}

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_undeploy_index(
    project: str,
    location: str,
    index_endpoint_name: str,
    deployed_index_id: str,
) -> None:
    """Mutate the deployment resources of an already deployed index.

    Args:
        project (str): Required. Project ID
        location (str): Required. The region name
        index_endpoint_name (str): Required. Index endpoint to run the query
          against.
        deployed_index_id (str): Required. The ID of the DeployedIndex to run
          the queries against.
    """
    # Initialize the Vertex AI client
    aiplatform.init(project=project, location=location)

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

    # Undeploy the index
    index_endpoint.undeploy_index(
        deployed_index_id=deployed_index_id,
    )

Console

Suivez ces instructions pour annuler le déploiement d'un 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 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 le point de terminaison de l'index dont vous souhaitez annuler le déploiement.
  5. Cliquez sur le menu d'options qui se trouve sur la même ligne que le point de terminaison de 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 : 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 : 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 https://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"
 }
}

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_delete_index_endpoint(
    project: str, location: str, index_endpoint_name: str, force: bool = False
) -> None:
    """Delete a vector search index endpoint.

    Args:
        project (str): Required. Project ID
        location (str): Required. The region name
        index_endpoint_name (str): Required. Index endpoint to run the query
          against.
        force (bool): Required. If true, undeploy any deployed indexes on this
          endpoint before deletion.
    """
    # Initialize the Vertex AI client
    aiplatform.init(project=project, location=location)

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

    # Delete the index endpoint
    index_endpoint.delete(force=force)

Console

Suivez ces instructions pour supprimer 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 à "Recherche vectorielle"

  2. En haut de la page, sélectionnez l'onglet Points 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 le point de terminaison de 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é.