Una vez que hayas implementado un extremo de índice de Private Service Connect o de intercambio de tráfico entre redes de VPC, la consulta diferirá ligeramente según cómo se haya implementado:
- Automatización de Private Service Connect
- Configuración manual de Private Service Connect
- Intercambio de tráfico entre redes de VPC
Implementado con la automatización de Private Service Connect
En el caso de IndexEndpoints
implementado con la automatización de Private Service Connect,
el SDK de Python asignará automáticamente la red de Private Service Connect
al extremo adecuado. Si no usas el SDK de Python, debes conectarte directamente a la dirección IP creada para tu extremo siguiendo las instrucciones para consultar una implementación manual de Private Service Connect.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para 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.
Implementado con la configuración manual de Private Service Connect
En el caso de IndexEndpoints
de Private Service Connect implementado con una conexión configurada de forma manual, se accede a tu extremo con la dirección IP de la dirección de procesamiento reenviado al archivo adjunto de servicio de Private Service Connect de tu extremo.
Si aún no la conoces, puedes obtener la dirección IP reenviado al URI del archivo adjunto del servicio con los comandos gcloud ai index-endpoints describe
y gcloud compute forwarding-rules list
.
Realiza los siguientes reemplazos:
- INDEX_ENDPOINT_ID: Es el ID del extremo de índice completamente calificado.
- REGION: Es la región en la que se implementa tu extremo de índice.
SERVICE_ATTACHMENT_URI=`gcloud ai index-endpoints describe INDEX_ENDPOINT_ID \ --region=REGION \ --format="value(deployedIndexes.privateEndpoints.serviceAttachment)"` gcloud compute forwarding-rules list --filter="TARGET:${SERVICE_ATTACHMENT_URI}"
El resultado incluirá la dirección IP interna que se usará cuando se consulte IndexEndpoint
.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para 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.
Línea de comandos
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 un ID de incorporación específico.
En los siguientes ejemplos, se usa la herramienta de código abierto grpc_cli
para enviar solicitudes de gRPC al servidor de índice implementado.
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 con un embedding_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.
Implementado con el intercambio de tráfico entre redes de VPC
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para 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.
Nota: El SDK de Python busca automáticamente la dirección IP de un IndexEndpoint
implementado con el intercambio de tráfico entre redes de VPC.
Línea de comandos
Cada DeployedIndex
tiene un TARGET_IP
que puedes recuperar en tu lista de IndexEndpoints
.
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 un ID de incorporación específico.
En los siguientes ejemplos, se usa la herramienta de código abierto grpc_cli
para enviar solicitudes de gRPC al servidor de índice implementado.
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 con un embedding_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.