Depois de criar e implementar o índice, pode executar consultas para obter os vizinhos mais próximos.
Seguem-se alguns exemplos de uma consulta de correspondência para encontrar os principais vizinhos mais próximos através do algoritmo dos k-vizinhos mais próximos (k-NN).
Exemplos de consultas para o ponto final público
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
Pode encontrar o publicEndpointDomainName
indicado abaixo em
Implementar 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 fazer chamadas a partir de clientes http(s)
, embora o ponto final público suporte o 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 token e restrições numéricas.
$ 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"]}]}}]}'
Consola
Siga estas instruções para consultar um índice implementado num ponto final público 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 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 se quer consultar por um valor de incorporação denso, um valor de incorporação esparso, um valor de incorporação híbrido (incorporações densas e esparsas) ou um ponto de dados específico.
- Introduza os parâmetros de consulta para o tipo de consulta que selecionou. Por exemplo, se estiver a consultar por uma incorporação densa, introduza o vetor de incorporação para consultar.
- Execute a consulta através do comando curl fornecido ou executando-a com a Cloud Shell.
- Se estiver a usar o Cloud Shell, selecione Executar no Cloud Shell.
- Executar no Cloud Shell.
- Os resultados devolvem os vizinhos mais próximos.
Consultas híbridas
A pesquisa híbrida usa incorporações densas e esparsas para pesquisas baseadas na combinação de pesquisa de palavras-chave e pesquisa semântica.
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.
Consultas com filtragem e crowdsourcing
A filtragem de correspondências de vetores permite restringir os resultados do vizinho mais próximo a categorias específicas. Os filtros também podem designar categorias a excluir dos resultados.
Os limites de vizinhos por aglomeração podem aumentar a diversidade dos resultados limitando o número de resultados devolvidos de qualquer etiqueta de aglomeração nos seus dados de índice.
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.
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
|