Depois de implementar um peering de rede VPC ou um ponto final do índice do Private Service Connect, a consulta difere ligeiramente consoante a forma como foi implementado:
- Automatização do Private Service Connect
- Configuração manual do Private Service Connect
- Intercâmbio da rede da VPC
Implementado com a automatização do Private Service Connect
Para IndexEndpoints
implementações com a automatização do Private Service Connect,
o SDK Python mapeia automaticamente a rede do Private Service Connect
para o ponto final adequado. Se não usar o SDK Python, tem de se ligar diretamente ao endereço IP criado para o seu ponto final, seguindo as instruções para consultar uma implementação manual do Private Service Connect.
Python
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.
Implementado com a configuração manual do Private Service Connect
Para o Private Service Connect IndexEndpoints
implementado com uma ligação configurada manualmente,
o seu ponto final é acedido através do endereço IP do endereço de computação encaminhado
para a associação do serviço do Private Service Connect do seu ponto final.
Se ainda não souber, pode obter o endereço IP encaminhado para o URI do anexo do serviço através dos comandos gcloud ai index-endpoints describe
e gcloud compute forwarding-rules list
.
Faça as seguintes substituições:
- INDEX_ENDPOINT_ID: ID do ponto final do índice totalmente qualificado.
- REGION: a região onde o seu ponto final do índice está implementado.
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}"
O resultado inclui o endereço IP interno a usar quando consultar o
IndexEndpoint
.
Python
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.
Linha de comandos
Para consultar um DeployedIndex
, estabeleça ligação ao respetivo TARGET_IP
na porta 10000
e chame o método Match
ou
BatchMatch
. Além disso, pode fazer consultas com um ID de incorporação específico.
Os exemplos seguintes usam a ferramenta de código aberto grpc_cli
para enviar pedidos gRPC
para o 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,..]'
No segundo exemplo, combina duas consultas separadas no mesmo pedido 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,..]}]}]'
Tem de fazer chamadas para estas APIs a partir de um cliente em execução na mesma VPC com a qual o serviço foi intercâmbio.
Para executar uma consulta com um embedding_id
, use o exemplo seguinte.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match "deployed_index_id:'"test_index1"',embedding_id: '"606431"'"
Neste exemplo, envia uma consulta com restrições numéricas e 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 saber mais, consulte o artigo Explicação das bibliotecas de cliente.
Consola
Siga estas instruções para consultar um índice de VPC a partir da consola.
- Na secção do Vertex AI da Google Cloud consola, aceda à secção Implementar e usar. Selecione Vector Search
- Selecione o índice de VPC que quer consultar. É apresentada a página Informações do índice.
- Desloque a página para baixo até à secção Índices implementados e selecione o índice implementado que quer consultar. É apresentada a página Informações do índice implementado.
- Na secção Índice de consultas, selecione os parâmetros de consulta. Pode optar por consultar por um vetor ou um ponto de dados específico.
- Execute a consulta através da ferramenta de código aberto grpc_cli ou do SDK Vertex AI para Python.
Implementado com o intercâmbio da rede da VPC
Python
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.
Nota: o SDK Python procura automaticamente o endereço IP de um
IndexEndpoint
implementado com o peering de rede VPC.
Linha de comandos
Cada DeployedIndex
tem um TARGET_IP
, que pode obter na sua lista de IndexEndpoints
.
Para consultar um DeployedIndex
, estabeleça ligação ao respetivo TARGET_IP
na porta 10000
e chame o método Match
ou
BatchMatch
. Além disso, pode fazer consultas com um ID de incorporação específico.
Os exemplos seguintes usam a ferramenta de código aberto grpc_cli
para enviar pedidos gRPC
para o 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,..]'
No segundo exemplo, combina duas consultas separadas no mesmo pedido 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,..]}]}]'
Tem de fazer chamadas para estas APIs a partir de um cliente em execução na mesma VPC com a qual o serviço foi intercâmbio.
Para executar uma consulta com um embedding_id
, use o exemplo seguinte.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match "deployed_index_id:'"test_index1"',embedding_id: '"606431"'"
Neste exemplo, envia uma consulta com restrições numéricas e 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 saber mais, consulte o artigo Explicação das bibliotecas de cliente.
Consola
Siga estas instruções para consultar um índice de VPC a partir da consola.
- Na secção do Vertex AI da Google Cloud consola, aceda à secção Implementar e usar. Selecione Vector Search
- Selecione o índice de VPC que quer consultar. É apresentada a página Informações do índice.
- Desloque a página para baixo até à secção Índices implementados e selecione o índice implementado que quer consultar. É apresentada a página Informações do índice implementado.
- Na secção Índice de consultas, selecione os parâmetros de consulta. Pode optar por consultar por um vetor ou um ponto de dados específico.
- Execute a consulta através da ferramenta de código aberto grpc_cli ou do SDK Vertex AI para Python.
Definições de tempo de consulta que afetam o desempenho
Os seguintes parâmetros de tempo de consulta podem afetar a latência, a disponibilidade e o custo quando usa a pesquisa vetorial. Estas orientações aplicam-se à maioria dos casos. No entanto, experimente sempre as suas configurações para se certificar de que funcionam para o seu exemplo de utilização.
Para ver as definições dos parâmetros, consulte os parâmetros de configuração do índice.
Parâmetro | Acerca de | Impacto no desempenho |
---|---|---|
approximateNeighborsCount |
Indica ao algoritmo o número de resultados aproximados a obter de cada fragmento.
O valor de
O nome da API REST correspondente para este campo é
|
Aumentar o valor de
Diminuir o valor de
|
setNeighborCount |
Especifica o número de resultados que quer que a consulta devolva.
O nome da API REST correspondente para este campo é
|
Os valores inferiores ou iguais a 300 mantêm o desempenho na maioria dos exemplos de utilização. Para valores maiores, teste o seu exemplo de utilização específico. |
fractionLeafNodesToSearch |
Controla a percentagem de nós folha a visitar quando se procura os vizinhos mais próximos. Isto está relacionado com o leafNodeEmbeddingCount , uma vez que quanto mais incorporações por nó folha, mais dados são examinados por folha.
O nome da API REST correspondente para este campo é
|
Aumentar o valor de
Diminuir o valor de
|
O que se segue?
- Saiba como atualizar e reconstruir o seu índice
- Saiba como filtrar correspondências de vetores
- Saiba como monitorizar um índice