Administra índices

En las siguientes secciones, se describe cómo configurar, crear, enumerar y borrar tus índices.

Descripción general del índice

Un índice es un archivo o archivos que constan de tus vectores de incorporación. Estos vectores se crean a partir de grandes cantidades de datos que deseas implementar y consultar con la búsqueda de vectores. Con Vector Search, puedes crear dos tipos de índices, según cómo planees actualizarlos con tus datos. Puedes crear un índice diseñado para las actualizaciones por lotes o un índice diseñado para la transmisión de tus actualizaciones.

Un índice por lotes es para cuando quieres actualizar tu índice en un lote, con datos que se almacenaron durante un período determinado, como los sistemas que se procesan de forma semanal o mensual. Un índice de transmisión es cuando deseas que los datos de índice se actualicen a medida que se agregan datos nuevos a tu almacén de datos, por ejemplo, si tienes una librería y quieres mostrar un inventario nuevo en línea lo antes posible. El tipo que elijas es importante, ya que la configuración y los requisitos son diferentes.

Configura parámetros de índice

Antes de crear un índice, configura los parámetros para tu índice.

Por ejemplo, crea un archivo llamado index_metadata.json:

{
  "contentsDeltaUri": "gs://BUCKET_NAME/path",
  "config": {
    "dimensions": 100,
    "approximateNeighborsCount": 150,
    "distanceMeasureType": "DOT_PRODUCT_DISTANCE",
    "shardSize": "SHARD_SIZE_MEDIUM",
    "algorithm_config": {
      "treeAhConfig": {
        "leafNodeEmbeddingCount": 5000,
        "leafNodesToSearchPercent": 3
      }
    }
  }
}

Puedes encontrar la definición de cada uno de estos campos en Parámetros de configuración de índices.

Crea un índice

Tamaño del índice

Los datos de índice se dividen en partes iguales denominadas fragmentos con el objetivo de ser procesados. Cuando creas un índice, debes especificar el tamaño de los fragmentos que se usarán. Los tamaños admitidos son los siguientes:

  • SHARD_SIZE_SMALL: 2 GiB por fragmento.
  • SHARD_SIZE_MEDIUM: 20 GiB por fragmento.
  • SHARD_SIZE_LARGE: 50 GiB por fragmento.

Los tipos de máquinas que puedes usar para implementar tu índice (con extremos públicos o con extremos de VPC) dependen del tamaño de fragmento del índice. En esta tabla, se muestran los tamaños de fragmentos que admite cada tipo de máquina:

Tipo de máquina SHARD_SIZE_SMALL SHARD_SIZE_MEDIUM SHARD_SIZE_LARGE
n1-standard-16
n1-standard-32
e2-standard-2 (predeterminado)
e2-standard-16 (predeterminado)
e2-highmem-16 (predeterminado)
n2d-standard-32

Para obtener información sobre cómo el tamaño de fragmento y el tipo de máquina afectan los precios, consulta la página de precios de Vertex AI.

Crea un índice para la actualización por lotes

Usa estas instrucciones para crear y, luego, implementar tu índice. Si aún no tienes listas tus incorporaciones, puedes pasar a la sección Crea un índice por lotes vacío. Con esta opción, no se requieren datos de incorporaciones en el momento de la creación del índice.

Para crear un índice, sigue estos pasos:

gcloud

Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

  • LOCAL_PATH_TO_METADATA_FILE: La ruta de acceso local al archivo de metadatos.
  • INDEX_NAME: El nombre visible del índice
  • LOCATION: la región en la que usas Vertex AI.
  • PROJECT_ID: El ID del proyecto de Google Cloud.

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud ai indexes create \
    --metadata-file=LOCAL_PATH_TO_METADATA_FILE \
    --display-name=INDEX_NAME \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai indexes create `
    --metadata-file=LOCAL_PATH_TO_METADATA_FILE `
    --display-name=INDEX_NAME `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai indexes create ^
    --metadata-file=LOCAL_PATH_TO_METADATA_FILE ^
    --display-name=INDEX_NAME ^
    --region=LOCATION ^
    --project=PROJECT_ID

Deberías recibir una respuesta similar a la que figura a continuación:

You can poll for the status of the operation for the response
to include "done": true. Use the following example to poll the status.

  $ gcloud ai operations describe 1234567890123456789 --project=my-test-project --region=us-central1

Consulta gcloud ai operations para obtener más información sobre el comando describe.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • INPUT_DIR: Es la ruta de acceso del directorio de Cloud Storage del contenido del índice.
  • INDEX_NAME: El nombre visible del índice
  • LOCATION: la región en la que usas Vertex AI.
  • PROJECT_ID: El ID del proyecto de Google Cloud.
  • PROJECT_NUMBER: el número de proyecto de tu proyecto generado de forma automática.

HTTP method and URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexes

Cuerpo JSON de la solicitud:

{
  "display_name": "INDEX_NAME",
  "metadata": {
    "contentsDeltaUri": "INPUT_DIR",
    "config": {
      "dimensions": 100,
      "approximateNeighborsCount": 150,
      "distanceMeasureType": "DOT_PRODUCT_DISTANCE",
      "algorithm_config": {
        "treeAhConfig": {
          "leafNodeEmbeddingCount": 500,
          "leafNodesToSearchPercent": 7
        }
      }
    }
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/indexes/INDEX_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateIndexOperationMetadata",
    "genericMetadata": {
      "createTime": "2022-01-08T01:21:10.147035Z",
      "updateTime": "2022-01-08T01:21:10.147035Z"
    }
  }
}

Terraform

En el siguiente ejemplo, se usa el recurso google_vertex_ai_index de Terraform a fin de crear un índice para las actualizaciones por lotes.

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.

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

# Create a Cloud Storage bucket
resource "google_storage_bucket" "bucket" {
  name                        = "vertex-ai-index-bucket-${random_id.bucket_name_suffix.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

Si deseas obtener información para instalar o actualizar el SDK de Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.

def vector_search_create_index(
    project: str, location: str, display_name: str, gcs_uri: Optional[str] = None
) -> None:
    """Create a vector search index.

    Args:
        project (str): Required. Project ID
        location (str): Required. The region name
        display_name (str): Required. The index display name
        gcs_uri (str): Optional. The Google Cloud Storage uri for index content
    """
    # Initialize the Vertex AI client
    aiplatform.init(project=project, location=location, staging_bucket=gcs_uri)

    # Create Index
    index = aiplatform.MatchingEngineIndex.create_tree_ah_index(
        display_name=display_name,
        description="Matching Engine Index",
        dimensions=100,
        approximate_neighbors_count=150,
        leaf_node_embedding_count=500,
        leaf_nodes_to_search_percent=7,
        index_update_method="batch_update",  # Options: stream_update, batch_update
        distance_measure_type=aiplatform.matching_engine.matching_engine_index_config.DistanceMeasureType.DOT_PRODUCT_DISTANCE,
    )

    print(index.name)

Console

Usa estas instrucciones para crear un índice para las actualizaciones por lotes.

  1. En la sección de Vertex AI de Google Cloud Console, ve a la sección Implementación y uso. Elige Vector Search

    Ir a Vector Search

  2. Haz clic en Crear índice nuevo para abrir el panel Índice. Aparecerá el panel Crear un índice nuevo.
  3. En el campo Nombre visible, proporciona un nombre para identificar de forma única tu índice.
  4. En el campo Descripción, proporciona una descripción del propósito de este.
  5. En el campo Región, elige una región del menú desplegable.
  6. En el campo Cloud Storage, busca y elige la carpeta de Cloud Storage en la que se almacenan tus datos vectoriales.
  7. En el menú desplegable Tipo de algoritmo, selecciona el tipo de algoritmo que usa la Búsqueda de vectores para lograr una búsqueda eficiente. Si eliges el algoritmo de treeAh, ingresa el recuento aproximado de vecinos.
  8. En el campo Dimensiones, ingresa la cantidad de dimensiones de tus vectores de entrada.
  9. En el campo Método de actualización, elige Por lotes.
  10. En el campo Tamaño del fragmento, elige del menú desplegable el tamaño del fragmento que deseas.
  11. Haz clic en Crear. Tu índice nuevo aparecerá en tu lista de índices una vez que esté listo. Nota: El tiempo de compilación puede tomar hasta una hora en completarse.

Crea un índice por lotes vacío

Para crear e implementar tu índice de inmediato, puedes crear un índice por lotes vacío. Con esta opción, no se requieren datos de incorporaciones en el momento de la creación del índice.

Para crear un índice vacío, la solicitud es casi idéntica a la creación de un índice para actualizaciones por lotes. La diferencia es que quitas el campo contentsDeltaUri, ya que no estás vinculando una ubicación de datos. Este es un ejemplo de índice por lotes vacío:

Ejemplo de solicitud de índice vacía

{
  "display_name": INDEX_NAME,
  "indexUpdateMethod": "BATCH_UPDATE",
  "metadata": {
    "config": {
      "dimensions": 100,
      "approximateNeighborsCount": 150,
      "distanceMeasureType": "DOT_PRODUCT_DISTANCE",
      "algorithm_config": {
        "treeAhConfig": {
          "leafNodeEmbeddingCount": 500,
          "leafNodesToSearchPercent": 7
        }
      }
    }
  }
}
  

Crea un índice para las actualizaciones de transmisión

Usa estas instrucciones para crear y, luego, implementar tu índice de transmisión. Si aún no tienes listas tus incorporaciones, ve a Crea un índice vacío para las actualizaciones de transmisión. Con esta opción, no se requieren datos de incorporaciones en el momento de la creación del índice.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • INDEX_NAME: El nombre visible del índice
  • DESCRIPTION: una descripción del índice.
  • INPUT_DIR: Es la ruta de acceso del directorio de Cloud Storage del contenido del índice.
  • DIMENSIONS: cantidad de dimensiones del vector de incorporación.
  • PROJECT_ID: El ID del proyecto de Google Cloud.
  • PROJECT_NUMBER: el número de proyecto de tu proyecto generado de forma automática.
  • LOCATION: la región en la que usas Vertex AI.

HTTP method and URL:

POST https://ENDPOINT-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexes

Cuerpo JSON de la solicitud:

{
  displayName: "INDEX_NAME",
  description: "DESCRIPTION",
  metadata: {
     contentsDeltaUri: "INPUT_DIR",
     config: {
        dimensions: "DIMENSIONS",
        approximateNeighborsCount: 150,
        distanceMeasureType: "DOT_PRODUCT_DISTANCE",
        algorithmConfig: {treeAhConfig: {leafNodeEmbeddingCount: 10000, leafNodesToSearchPercent: 2}}
     },
  },
  indexUpdateMethod: "STREAM_UPDATE"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.ui.CreateIndexOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-12-05T23:17:45.416117Z",
      "updateTime": "2023-12-05T23:17:45.416117Z",
      "state": "RUNNING",
      "worksOn": [
        "projects/PROJECT_NUMBER/locations/LOCATION/indexes/INDEX_ID"
      ]
    }
  }
}

Console

Usa estas instrucciones para crear un índice para las actualizaciones de transmisión en la consola de Google Cloud.

Para crear un índice disponible para las actualizaciones de transmisión, se requieren pasos similares para configurar un índice de actualización por lotes, excepto que necesitas configurar indexUpdateMethod como STREAM_UPDATE.

  1. En la sección de Vertex AI de la consola de Google Cloud, ve a la sección Implementación y uso. Elige Búsqueda de vectores

    Ir a Búsqueda de vectores

  2. Haz clic en Crear índice nuevo para abrir el panel Índice. Aparecerá el panel Crear un índice nuevo.
  3. En el campo Nombre visible, proporciona un nombre para identificar de forma única tu índice.
  4. En el campo Descripción, proporciona una descripción de para qué sirve el índice.
  5. En el campo Región, elige una región del menú desplegable.
  6. En el campo de Cloud Storage, busca y elige la carpeta de Cloud Storage en la que se almacenan tus datos vectoriales.
  7. En el menú desplegable Tipo de algoritmo, elige el tipo de algoritmo que usará la Búsqueda de vectores para hacer la búsqueda. Si eliges el algoritmo de treeAh, ingresa el recuento aproximado de vecinos.
  8. En el campo Dimensiones, ingresa la cantidad de dimensiones de tus vectores de entrada.
  9. En el campo Método de actualización, elige Transmitir.
  10. En el campo Tamaño del fragmento, elige del menú desplegable el tamaño del fragmento que deseas.
  11. Haz clic en Crear. Tu índice nuevo aparecerá en tu lista de índices una vez que esté listo. Nota: El tiempo de compilación puede tomar hasta una hora en completarse.

Python

Si deseas obtener información para instalar o actualizar el SDK de Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.

def vector_search_create_index(
    project: str, location: str, display_name: str, gcs_uri: Optional[str] = None
) -> None:
    """Create a vector search index.

    Args:
        project (str): Required. Project ID
        location (str): Required. The region name
        display_name (str): Required. The index display name
        gcs_uri (str): Optional. The Google Cloud Storage uri for index content
    """
    # Initialize the Vertex AI client
    aiplatform.init(project=project, location=location, staging_bucket=gcs_uri)

    # Create Index
    index = aiplatform.MatchingEngineIndex.create_tree_ah_index(
        display_name=display_name,
        description="Matching Engine Index",
        dimensions=100,
        approximate_neighbors_count=150,
        leaf_node_embedding_count=500,
        leaf_nodes_to_search_percent=7,
        index_update_method="batch_update",  # Options: stream_update, batch_update
        distance_measure_type=aiplatform.matching_engine.matching_engine_index_config.DistanceMeasureType.DOT_PRODUCT_DISTANCE,
    )

    print(index.name)

Crea un índice vacío para las actualizaciones de transmisión

Si deseas crear y, luego, implementar tu índice de inmediato, puedes crear un índice vacío para la transmisión. Con esta opción, no se requieren datos de incorporaciones en el momento de la creación del índice.

Si deseas crear un índice vacío, la solicitud es casi idéntica a la creación de un índice para la transmisión. La diferencia es que quitas el campo contentsDeltaUri, ya que no estás vinculando una ubicación de datos. Este es un ejemplo de índice de transmisión vacío:

Ejemplo de solicitud de índice vacía

{
  "display_name": INDEX_NAME,
  "indexUpdateMethod": "STREAM_UPDATE",
  "metadata": {
    "config": {
      "dimensions": 100,
      "approximateNeighborsCount": 150,
      "distanceMeasureType": "DOT_PRODUCT_DISTANCE",
      "algorithm_config": {
        "treeAhConfig": {
          "leafNodeEmbeddingCount": 500,
          "leafNodesToSearchPercent": 7
        }
      }
    }
  }
}
  

Mostrar lista de índices

gcloud

Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

  • INDEX_NAME: El nombre visible del índice
  • LOCATION: la región en la que usas Vertex AI.
  • PROJECT_ID: El ID del proyecto de Google Cloud.

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud ai indexes list \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai indexes list `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai indexes list ^
    --region=LOCATION ^
    --project=PROJECT_ID

Deberías recibir una respuesta similar a la que figura a continuación:

You can poll for the status of the operation for the response
to include "done": true. Use the following example to poll the status.

  $ gcloud ai operations describe 1234567890123456789 --project=my-test-project --region=us-central1

Consulta gcloud ai operations para obtener más información sobre el comando describe.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • INDEX_NAME: El nombre visible del índice
  • LOCATION: la región en la que usas Vertex AI.
  • PROJECT_ID: El ID del proyecto de Google Cloud.
  • PROJECT_NUMBER: el número de proyecto de tu proyecto generado de forma automática.

HTTP method and URL:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexes

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
 "indexes": [
   {
     "name": "projects/PROJECT_NUMBER/locations/LOCATION/indexes/INDEX_ID",
     "displayName": "INDEX_NAME",
     "metadataSchemaUri": "gs://google-cloud-aiplatform/schema/matchingengine/metadata/nearest_neighbor_search_1.0.0.yaml",
     "metadata": {
       "config": {
         "dimensions": 100,
         "approximateNeighborsCount": 150,
         "distanceMeasureType": "DOT_PRODUCT_DISTANCE",
         "featureNormType": "NONE",
         "algorithmConfig": {
           "treeAhConfig": {
             "maxLeavesToSearch": 50,
             "leafNodeCount": 10000
           }
         }
       }
     },
     "etag": "AMEw9yNU8YX5IvwuINeBkVv3yNa7VGKk11GBQ8GkfRoVvO7LgRUeOo0qobYWuU9DiEc=",
     "createTime": "2020-11-08T21:56:30.558449Z",
     "updateTime": "2020-11-08T22:39:25.048623Z"
   }
 ]
}

Console

Usa estas instrucciones para ver una lista de tus índices.

  1. En la sección de Vertex AI de Google Cloud Console, ve a la sección Implementación y uso. Elige Vector Search

    Ir a Búsqueda de vectores

  2. Se muestra una lista de tus índices activos.

Ajusta el índice

El ajuste del índice requiere establecer los parámetros de configuración que afectan el rendimiento de los índices implementados, en especial la recuperación y la latencia. Estos parámetros se establecen cuando creas el índice por primera vez. Puedes usar los índices de fuerza bruta para medir la recuperación.

Parámetros de configuración que afectan el rendimiento

Los siguientes parámetros de configuración se pueden establecer en el momento de la creación del índice y pueden afectar la recuperación, la latencia, la disponibilidad y el costo cuando se usa Vector Search. Esta guía se aplica en la mayoría de los casos. Sin embargo, siempre experimenta con las opciones de configuración para asegurarte de que funcionen en tu caso de uso.

Para ver las definiciones de parámetros, consulta Parámetros de configuración de índices.

Parámetro Información Impacto en el rendimiento
shardSize

Controla la cantidad de datos en cada máquina.

Cuando elijas un tamaño de fragmento, calcula qué tan grande será tu conjunto de datos en el futuro. Si el tamaño de tu conjunto de datos tiene un límite superior, elige el tamaño de fragmento adecuado para acomodarlo. Si no hay un límite superior o si tu caso de uso es extremadamente sensible a la variabilidad de la latencia, se recomienda elegir un tamaño de fragmento grande.

Si configuras una mayor cantidad de fragmentos más pequeños, se procesa una mayor cantidad de resultados de candidatos durante la búsqueda. Más fragmentos pueden afectar el rendimiento de las siguientes maneras:

  • Recuperación: aumentada
  • Latencia: Posible aumento y más variabilidad
  • Disponibilidad: Las interrupciones de fragmentos afectan a un porcentaje menor de datos
  • Costo: Puede aumentar si se usa la misma máquina con más fragmentos.

Si configuras una cantidad menor de fragmentos más grandes, se procesan menos resultados de candidatos durante la búsqueda. Menos fragmentos pueden afectar el rendimiento de las siguientes maneras:

  • Recuperación: Disminuida
  • Latencia: Menor variabilidad
  • Disponibilidad: Las interrupciones de fragmentos afectan a un mayor porcentaje de datos
  • Costo: Puede disminuir si se usa la misma máquina con menos fragmentos.
distanceMeasureType

Determina el algoritmo que se usa para el cálculo de la distancia entre los datos y el vector de consulta.

La siguiente configuración de distanceMeasureType puede ayudar a reducir la latencia de las consultas:

  • DOT_PRODUCT_DISTANCE está más optimizado para reducir la latencia
  • Se recomienda DOT_PRODUCT_DISTANCE combinado con la configuración de FeatureNormType en UNIT_L2_NORM para la similitud coseno.
leafNodeEmbeddingCount

La cantidad de incorporaciones para cada nodo hoja. De forma predeterminada, este número se establece en 1000.

Por lo general, cambiar el valor de leafNodeEmbeddingCount tiene menos efecto que cambiar el valor de otros parámetros.

Aumentar la cantidad de incorporaciones para cada nodo hoja puede reducir la latencia, pero reducir la calidad de la recuperación. Puede afectar el rendimiento de las siguientes maneras:

  • Recuperación: Disminuyó debido a una búsqueda menos orientada
  • Latencia: Reducida, siempre que el valor no sea superior a 15,000 para la mayoría de los casos de uso
  • Disponibilidad: sin impacto
  • Costo: Puede disminuir porque se necesitan menos réplicas para las mismas QPS

Disminuir la cantidad de incorporaciones para cada nodo hoja puede afectar el rendimiento de las siguientes maneras:

  • Recuperación: Puede aumentar porque se recopilan hojas más orientadas
  • Latencia: Mayor
  • Disponibilidad: sin impacto
  • Costo: Puede aumentar porque se necesitan más réplicas para las mismas QPS

Cómo usar un índice de fuerza bruta para medir la recuperación

Para obtener los vecinos más cercanos exactos, usa índices con el algoritmo de fuerza bruta. El algoritmo de fuerza bruta proporciona una recuperación del 100% a expensas de una latencia más alta. El uso de un índice de fuerza bruta para medir la recuperación no suele ser una buena opción para la entrega de producción, pero puede resultarte útil para evaluar la recuperación de varias opciones de indexación sin conexión.

Para crear un índice con el algoritmo de fuerza bruta, especifica brute_force_config en los metadatos del índice:

curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer `gcloud auth print-access-token`" \
https://us-central1-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/us-central1/indexes \
-d '{
    displayName: "'${DISPLAY_NAME}'",
    description: "'${DESCRIPTION}'",
    metadata: {
       contentsDeltaUri: "'${INPUT_DIR}'",
       config: {
          dimensions: 100,
          approximateNeighborsCount: 150,
          distanceMeasureType: "DOT_PRODUCT_DISTANCE",
          featureNormType: "UNIT_L2_NORM",
          algorithmConfig: {
             bruteForceConfig: {}
          }
       },
    },
}'

Borra un índice

gcloud

Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

  • INDEX_ID: Es el ID del índice.
  • LOCATION: la región en la que usas Vertex AI.
  • PROJECT_ID: El ID del proyecto de Google Cloud.

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud ai indexes delete INDEX_ID \
    --region=LOCATION \
    --project=PROJECT_ID

Windows (PowerShell)

gcloud ai indexes delete INDEX_ID `
    --region=LOCATION `
    --project=PROJECT_ID

Windows (cmd.exe)

gcloud ai indexes delete INDEX_ID ^
    --region=LOCATION ^
    --project=PROJECT_ID

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • INDEX_ID: Es el ID del índice.
  • LOCATION: la región en la que usas Vertex AI.
  • PROJECT_ID: El ID del proyecto de Google Cloud.
  • PROJECT_NUMBER: el número de proyecto de tu proyecto generado de forma automática.

HTTP method and URL:

DELETE https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/indexes/INDEX_ID

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/indexes/INDEX_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeleteOperationMetadata",
    "genericMetadata": {
      "createTime": "2022-01-08T02:35:56.364956Z",
      "updateTime": "2022-01-08T02:35:56.364956Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.protobuf.Empty"
  }
}

Console

Usa estas instrucciones para borrar uno o más índices.

  1. En la sección de Vertex AI de la consola de Google Cloud, ve a la sección Implementación y uso. Elige Vector Search

    Ir a Búsqueda de vectores

  2. Se muestra una lista de tus índices activos.
  3. Para borrar un índice, ve al menú de opciones que se encuentra en la misma fila que el índice y elige Borrar.

¿Qué sigue?