Depois de criar e implantar o índice, é possível executar consultas para encontrar os vizinhos mais próximos.
Veja alguns exemplos de uma consulta de correspondência para encontrar os próximos vizinhos mais próximos usando o algoritmo de vizinhos k-mais próximo (k-NN).
Exemplos de consultas para o endpoint público
Python
Python
Curl
O publicEndpointDomainName
listado abaixo pode ser encontrado em
Implantar e está formatado como
<number>.<region>-<number>.vdb.vertexai.goog
.
$ curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer `gcloud auth print-access-token`" https://1957880287.us-central1-181224308459.vdb.vertexai.goog/v1/projects/181224308459/locations/us-central1/indexEndpoints/3370566089086861312:findNeighbors -d '{deployed_index_id: "test_index_public1", queries: [{datapoint: {datapoint_id: "0", feature_vector: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, neighbor_count: 5}]}'
Este exemplo de curl demonstra como realizar chamadas de clientes http(s)
,
embora o endpoint público dê suporte ao protocolo duplo para RESTful e
grpc_cli
.
$ curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer `gcloud auth print-access-token`" https://1957880287.us-central1-181224308459.vdb.vertexai.goog/v1/projects/${PROJECT_ID}/locations/us-central1/indexEndpoints/${INDEX_ENDPOINT_ID}:readIndexDatapoints -d '{deployed_index_id:"test_index_public1", ids: ["606431", "896688"]}'
Este exemplo de curl demonstra como consultar com restrições de número e token.
$ curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer `gcloud auth print-access-token`" https://${PUBLIC_ENDPOINT_DOMAIN}/v1/projects/${PROJECT_ID}/locations/${LOCATION}/indexEndpoints/${INDEX_ENDPOINT_ID}:findNeighbors -d '{deployed_index_id:"${DEPLOYED_INDEX_ID}", queries: [{datapoint: {datapoint_id:"x", feature_vector: [1, 1], "sparse_embedding": {"values": [111.0,111.1,111.2], "dimensions": [10,20,30]}, numeric_restricts: [{namespace: "int-ns", value_int: -2, op: "GREATER"}, {namespace: "int-ns", value_int: 4, op: "LESS_EQUAL"}, {namespace: "int-ns", value_int: 0, op: "NOT_EQUAL"}], restricts: [{namespace: "color", allow_list: ["red"]}]}}]}'
Console
Use estas instruções para consultar um índice implantado em um endpoint público pelo 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 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 se a consulta será feita por um valor de embeddings denso, um valor de embeddings disperso, um valor de embeddings híbrido (embeddings densos e dispersos) ou um ponto de dados específico.
- Insira os parâmetros de consulta para o tipo de consulta selecionado. Por exemplo, se você estiver fazendo uma consulta por um embedding denso, insira o vetor de embedding para consultar.
- Execute a consulta com o comando curl fornecido ou com o Cloud Shell.
- Se for usar o Cloud Shell, selecione Executar no Cloud Shell.
- Executar no Cloud Shell
- Os resultados retornam os vizinhos mais próximos.
Para ver um exemplo completo de como criar um índice, como implantá-lo em um endpoint público e como consultar, consulte o bloco de notas oficial: Como usar o mecanismo de correspondência da Vertex AI e as incorporações da Vertex AI para texto para perguntas do StackOverflow.
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