Una vez que hayas creado un índice de PSA o PSC, puedes ejecutar consultas para obtener sus vecinos más cercanos.
Información sobre la consulta de índices de PSC
La dirección de procesamiento creada a partir de un índice de PSC se puede usar para enviarle consultas.
En el siguiente ejemplo, reemplaza TARGET_IP
por la dirección de procesamiento creada.
Información sobre la consulta de índices de PSA
Cada DeployedIndex
tiene un TARGET_IP
que puedes recuperar si enumeras IndexEndpoints
.
Consultar un índice
Para consultar un DeployedIndex
, conéctate a su TARGET_IP
en el puerto 10000
y llama a los métodos Match
o BatchMatch
. Además, puedes realizar consultas con DOC_ID
.
En los siguientes ejemplos, se usa la herramienta de código abierto grpc_cli
para enviar solicitudes de grpc al servidor de índice implementado.
gRPC
En el primer ejemplo, envías una sola consulta con el método Match
.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match 'deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [-0.1,..]'
En el segundo ejemplo, combina dos consultas separadas en la misma solicitud BatchMatch
.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.BatchMatch 'requests: [{deployed_index_id: "${DEPLOYED_INDEX_ID}", requests: [{deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [-0.1,..]}, {deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [-0.2,..]}]}]'
Debes realizar llamadas a estas APIs desde un cliente que se ejecute en la misma [VPC con la que el servicio intercambia tráfico](#vpc-network-peering-setup).
Para ejecutar una consulta mediante DOC_ID
, usa el siguiente ejemplo.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match "deployed_index_id:'"test_index1"',embedding_id: '"606431"'"
En este ejemplo, envías una consulta con restricciones numéricas y de tokens.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match 'deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [1, 1], "sparse_embedding": {"values": [111.0,111.1,111.2], "dimensions": [10,20,30]}, numeric_restricts: [{name: "double-ns", value_double: 0.3, op: LESS_EQUAL}, {name: "double-ns", value_double: -1.2, op: GREATER}, {name: "double-ns", value_double: 0., op: NOT_EQUAL}], restricts: [{name: "color", allow_tokens: ["red"]}]'
Para obtener más información, consulta Explicación de las bibliotecas cliente.
Console
Usa estas instrucciones para consultar un índice de VPC desde la consola.
- 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
- Selecciona el índice de VPC que deseas consultar. Se abrirá la página Index info.
- Desplázate hacia abajo hasta la sección Índices implementados y selecciona el índice implementado que deseas consultar. Se abrirá la página Deployed index info.
- En la sección Query index, selecciona los parámetros de consulta. Puedes elegir hacer una consulta por vector o por dato específico.
- Ejecuta la consulta con la herramienta de código abierto grpc_cli o a través del SDK de Vertex AI para Python.
Configuración del tiempo de consulta que afecta el rendimiento
Los siguientes parámetros de tiempo de consulta pueden afectar 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 tus opciones de configuración a fin de asegurarte de que funcionen para tu caso de uso.
Para ver las definiciones de parámetros, consulta Parámetros de configuración de índices.
Parámetro | Acerca de | Impacto en el rendimiento |
---|---|---|
approximateNeighborsCount |
Indica al algoritmo la cantidad de resultados aproximados que se recuperarán de cada fragmentación.
El valor de |
Aumentar el valor de
Disminuir el valor de
|
setNeighborCount |
Especifica la cantidad de resultados que deseas que muestre la consulta. |
Los valores inferiores o iguales a 300 siguen teniendo un rendimiento en la mayoría de los casos de uso. Para valores más altos, prueba tu caso de uso específico. |
fractionLeafNodesToSearch |
Controla el porcentaje de nodos de hoja que se visitarán cuando se busquen vecinos más cercanos. Esto se relaciona con leafNodeEmbeddingCount , ya que cuantas más incorporaciones por nodo de hoja, más datos se examinan por hoja.
|
Aumentar el valor de
Disminuir el valor de
|
¿Qué sigue?
- Obtén más información sobre cómo actualizar y volver a compilar el índice.
- Obtén información sobre cómo filtrar coincidencias de vectores.
- Obtén más información sobre cómo supervisar un índice.