Depois de implantar um endpoint de índice do Private Service Connect ou do peering de rede VPC, a consulta dele será um pouco diferente, dependendo de como ele foi implantado:
- Automação do Private Service Connect
- Configuração manual do Private Service Connect
- Peering de rede VPC
Implantado com a automação do Private Service Connect
Para IndexEndpoints
implantado com a automação do Private Service Connect,
o SDK do Python vai mapear automaticamente a rede do Private Service Connect
para o endpoint apropriado. Se você não estiver usando o SDK Python, será necessário
se conectar diretamente ao endereço IP criado para o endpoint, seguindo as
instruções para
consultar uma implantação manual do Private Service Connect.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Implantado com a configuração manual do Private Service Connect
Para o Private Service Connect IndexEndpoints
implantado com uma conexão configurada manualmente,
o endpoint é acessado usando o endereço IP do endereço de computação encaminhado
para o anexo de serviço do Private Service Connect do endpoint.
Se ainda não souber, é possível acessar o endereço IP encaminhado para o URI de anexo de serviço usando os comandos
gcloud ai index-endpoints describe
e gcloud compute forwarding-rules list
.
Faça as seguintes substituições:
- INDEX_ENDPOINT_ID: ID do endpoint de índice totalmente qualificado.
- REGION: a região em que o endpoint do índice é implantado.
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}"
A saída vai incluir o endereço IP interno a ser usado ao consultar o
IndexEndpoint
.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Linha de comando
Para consultar um DeployedIndex
, conecte-se ao TARGET_IP
na porta 10000
e chame o método Match
ou
BatchMatch
. Além disso, é possível consultar usando um ID de embedding específico.
Os exemplos a seguir usam a ferramenta de código aberto grpc_cli
para enviar solicitações
gRPC ao servidor de índice implantado.
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, você combina duas consultas separadas na mesma solicitação 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,..]}]}]'
Faça chamadas para essas APIs a partir de um cliente em execução na mesma [VPC em que o serviço fez peering](#vpc-network-peering-setup).
Para executar uma consulta com um embedding_id
, use o exemplo a seguir.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match "deployed_index_id:'"test_index1"',embedding_id: '"606431"'"
Neste exemplo, você envia uma consulta usando restrições de número e token.
./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 Explicações sobre bibliotecas de cliente.
Console
Use estas instruções para consultar um índice de VPC no console.
- Na seção Vertex AI do console do Google Cloud, acesse a seção Implantar e usar. Selecione Pesquisa de vetor
- Selecione o índice de VPC que você quer consultar. A página Informações do índice é aberta.
- Role para baixo até a seção Índices implantados e selecione o índice implantado que você quer consultar. A página Informações do índice implantado é aberta.
- Na seção Índice de consulta, selecione os parâmetros de consulta. A consulta pode ser feita por um vetor ou por um ponto de dados específico.
- Execute a consulta usando a ferramenta de código aberto grpc_cli ou o SDK da Vertex AI para Python.
Implantado com o peering de rede VPC
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Observação:o SDK do Python procura automaticamente o endereço IP de um
IndexEndpoint
implantado com o peering de rede VPC.
Linha de comando
Cada DeployedIndex
tem um TARGET_IP
, que pode ser recuperado na lista de IndexEndpoints
.
Para consultar um DeployedIndex
, conecte-se ao TARGET_IP
na porta 10000
e chame o método Match
ou
BatchMatch
. Além disso, é possível consultar usando um ID de embedding específico.
Os exemplos a seguir usam a ferramenta de código aberto grpc_cli
para enviar solicitações
gRPC ao servidor de índice implantado.
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, você combina duas consultas separadas na mesma solicitação 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,..]}]}]'
Faça chamadas para essas APIs a partir de um cliente em execução na mesma [VPC em que o serviço fez peering](#vpc-network-peering-setup).
Para executar uma consulta com um embedding_id
, use o exemplo a seguir.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match "deployed_index_id:'"test_index1"',embedding_id: '"606431"'"
Neste exemplo, você envia uma consulta usando restrições de número e token.
./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 Explicações sobre bibliotecas de cliente.
Console
Use estas instruções para consultar um índice de VPC no console.
- Na seção Vertex AI do console do Google Cloud, acesse a seção Implantar e usar. Selecione Pesquisa de vetor
- Selecione o índice de VPC que você quer consultar. A página Informações do índice é aberta.
- Role para baixo até a seção Índices implantados e selecione o índice implantado que você quer consultar. A página Informações do índice implantado é aberta.
- Na seção Índice de consulta, selecione os parâmetros de consulta. A consulta pode ser feita por um vetor ou por um ponto de dados específico.
- Execute a consulta usando a ferramenta de código aberto grpc_cli ou o SDK da Vertex AI para Python.
Configurações de tempo de consulta que afetam o desempenho
Os parâmetros de tempo de consulta a seguir podem afetar a latência, a disponibilidade e o custo ao usar a pesquisa de vetor. Essa orientação se aplica à maioria dos casos. No entanto, sempre teste as configurações para garantir que elas funcionem com seu caso de uso.
Para definições de parâmetro, consulte Parâmetros de configuração de índice.
Parâmetro | Sobre | Impacto no desempenho |
---|---|---|
approximateNeighborsCount |
Informa ao algoritmo o número de resultados aproximados a serem recuperados de cada fragmento.
O valor de |
Aumentar o valor de
Aumentar o valor de
|
setNeighborCount |
Especifica o número de resultados que a consulta deve retornar. |
Valores inferiores ou iguais a 300 mantêm o desempenho na maioria dos casos de uso. Para valores maiores, teste cada caso de uso específico. |
fractionLeafNodesToSearch |
Controla a porcentagem de nós de folha a serem visitados ao pesquisar vizinhos
mais próximos. Isso está relacionado a leafNodeEmbeddingCount ,
porque quanto mais embeddings por nó de folha, mais dados examinados por folha.
|
Aumentar o valor de
Diminuir o valor de
|
A seguir
- Saiba como atualizar e recriar o índice
- Saiba como filtrar correspondências de vetores.
- Saiba como monitorar um índice