Una vez que hayas desplegado un endpoint de índice de emparejamiento entre redes de VPC o de Private Service Connect, la forma de consultarlo variará ligeramente en función de cómo se haya desplegado:
- Automatización de Private Service Connect
- Configuración manual de Private Service Connect
- Emparejamiento entre redes VPC
Implementado con la automatización de Private Service Connect
En el caso de los IndexEndpoints
desplegados con la automatización de Private Service Connect,
el SDK de Python asignará automáticamente la red de Private Service Connect al endpoint adecuado. Si no usas el SDK de Python, debes conectarte directamente a la dirección IP creada para tu endpoint siguiendo las instrucciones para consultar una implementación manual de Private Service Connect.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Implementado con la configuración manual de Private Service Connect
En el caso de Private Service Connect IndexEndpoints
desplegado con una conexión configurada manualmente,
se accede a tu punto final mediante la dirección IP de la dirección de cálculo reenviada
a la vinculación de servicio de Private Service Connect de tu punto final.
Si aún no lo sabes, puedes obtener la dirección IP reenviada al URI del archivo adjunto del servicio
con los comandos gcloud ai index-endpoints describe
y gcloud compute forwarding-rules list
.
Haz las siguientes sustituciones:
- INDEX_ENDPOINT_ID: ID de endpoint de índice completo.
- REGION: la región en la que se ha implementado el endpoint 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 debe usar al consultar la IndexEndpoint
.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Línea de comandos
Para consultar un DeployedIndex
, conéctate a su TARGET_IP
en el puerto 10000
y llama al método Match
o BatchMatch
. Además, puedes hacer consultas usando un ID de embedding específico.
En los ejemplos siguientes se usa la herramienta de código abierto grpc_cli
para enviar solicitudes 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, se combinan dos consultas independientes 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 hacer llamadas a estas APIs desde un cliente que se ejecute en la misma VPC con la que se emparejó el servicio.
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, se envía una consulta con restricciones de token y numéricas.
./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 el artículo Información sobre las bibliotecas de cliente.
Consola
Sigue estas instrucciones para consultar un índice de VPC desde la consola.
- En la sección Vertex AI de la Google Cloud consola, ve a la sección Desplegar y usar. Selecciona Vector Search.
- Selecciona el índice de VPC que quieras consultar. Se abrirá la página Información del índice.
- Desplázate hacia abajo hasta la sección Índices implementados y selecciona el índice implementado que quieras consultar. Se abrirá la página Información del índice implementado.
- En la sección Índice de consultas, selecciona los parámetros de consulta. Puede hacer consultas por vector o por un punto de datos específico.
- Ejecuta la consulta con la herramienta de código abierto grpc_cli o con el SDK de Vertex AI para Python.
Implementado con el emparejamiento entre redes de VPC
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Nota: El SDK de Python busca automáticamente la dirección IP de un IndexEndpoint
implementado con el emparejamiento de redes de VPC.
Línea de comandos
Cada DeployedIndex
tiene un TARGET_IP
, que puedes consultar en tu lista de IndexEndpoints
.
Para consultar un DeployedIndex
, conéctate a su TARGET_IP
en el puerto 10000
y llama al método Match
o BatchMatch
. Además, puedes hacer consultas usando un ID de embedding específico.
En los ejemplos siguientes se usa la herramienta de código abierto grpc_cli
para enviar solicitudes 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, se combinan dos consultas independientes 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 hacer llamadas a estas APIs desde un cliente que se ejecute en la misma VPC con la que se emparejó el servicio.
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, se envía una consulta con restricciones de token y numéricas.
./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 el artículo Información sobre las bibliotecas de cliente.
Consola
Sigue estas instrucciones para consultar un índice de VPC desde la consola.
- En la sección Vertex AI de la Google Cloud consola, ve a la sección Desplegar y usar. Selecciona Vector Search.
- Selecciona el índice de VPC que quieras consultar. Se abrirá la página Información del índice.
- Desplázate hacia abajo hasta la sección Índices implementados y selecciona el índice implementado que quieras consultar. Se abrirá la página Información del índice implementado.
- En la sección Índice de consultas, selecciona los parámetros de consulta. Puede hacer consultas por vector o por un punto de datos específico.
- Ejecuta la consulta con la herramienta de código abierto grpc_cli o con el SDK de Vertex AI para Python.
Ajustes de tiempo de consulta que influyen en el rendimiento
Los siguientes parámetros de tiempo de consulta pueden afectar a la latencia, la disponibilidad y el coste al usar la búsqueda vectorial. Estas directrices se aplican a la mayoría de los casos. Sin embargo, siempre debes experimentar con tus configuraciones para asegurarte de que funcionan en tu caso práctico.
Para ver las definiciones de los parámetros, consulta Parámetros de configuración de índices.
Parámetro | Información | Impacto en el rendimiento |
---|---|---|
approximateNeighborsCount |
Indica al algoritmo el número de resultados aproximados que se deben obtener de cada fragmento.
El valor de
El nombre de la API REST correspondiente a este campo es |
Si aumentas el valor de
Si reduces el valor de
|
setNeighborCount |
Especifica el número de resultados que quieres que devuelva la consulta.
El nombre de la API REST correspondiente a este campo es |
Los valores inferiores o iguales a 300 siguen siendo eficaces en la mayoría de los casos prácticos. Si los valores son más altos, haz pruebas para tu caso práctico específico. |
fractionLeafNodesToSearch |
Controla el porcentaje de nodos hoja que se visitarán al buscar los vecinos más cercanos. Esto está relacionado con el leafNodeEmbeddingCount , ya que cuantos más embeddings haya por nodo hoja, más datos se examinarán por hoja.
El nombre de la API REST correspondiente a este campo es |
Aumentar el valor de
Disminuir el valor de
|
Siguientes pasos
- Consulta cómo actualizar y volver a crear tu índice.
- Consulta cómo filtrar coincidencias de vectores.
- Consulta cómo monitorizar un índice.