Dopo aver creato l'indice ed eseguito il deployment, puoi eseguire query per ottenere i vicini più prossimi.
Ecco alcuni esempi di query di corrispondenza per trovare i primi vicini più prossimi utilizzando l'algoritmo k-closeest neighbors (k-NN).
Esempi di query per l'endpoint pubblico
Python
Python
Curl
Il valore publicEndpointDomainName
elencato di seguito è disponibile in
Deployment ed è formattato come
<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}]}'
Questo esempio di curl mostra come chiamare dai client http(s)
,
anche se l'endpoint pubblico supporta il doppio protocollo per 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"]}'
Questo esempio di curl mostra come eseguire query con limitazioni per token e numeriche.
$ 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
Usa queste istruzioni per eseguire query su un indice di cui è stato eseguito il deployment in un endpoint pubblico dalla console.
- Nella sezione Vertex AI della console Google Cloud, vai alla sezione Deployment e utilizzo. Seleziona Ricerca vettoriale.
- Seleziona l'indice su cui eseguire la query. Si apre la pagina Informazioni indice.
- Scorri verso il basso fino alla sezione Indici di cui è stato eseguito il deployment e seleziona l'indice di cui hai eseguito la query su cui vuoi eseguire la query. Si apre la pagina Informazioni sull'indice di cui è stato eseguito il deployment.
- Nella sezione Indice query, scegli se eseguire la query in base a un valore di incorporamento denso, un valore di incorporamento sparso, un valore di incorporamento ibrido (incorporamenti densi e sparsi) o un punto dati specifico.
- Inserisci i parametri di ricerca per il tipo di query selezionato. Ad esempio, se esegui la query in base a un incorporamento denso, inserisci il vettore di incorporamento in base al quale eseguire la query.
- Esegui la query utilizzando il comando curl fornito o eseguendo la query con Cloud Shell.
- Se utilizzi Cloud Shell, seleziona Esegui in Cloud Shell.
- Esegui in Cloud Shell.
- I risultati restituiscono i vicini più prossimi.
Per un esempio end-to-end di come creare un indice, eseguirne il deployment su un endpoint pubblico ed eseguire query, consulta il blocco note ufficiale: Using Vector Search and Vertex AI Embeddings for Text for StackOverflow Domande.
Impostazioni relative al tempo di query che influiscono sulle prestazioni
I seguenti parametri di tempo di query possono influenzare la latenza, la disponibilità e i costi quando si utilizza Vector Search. Queste linee guida si applicano alla maggior parte dei casi. Tuttavia, sperimenta sempre le configurazioni per assicurarti che funzionino per il tuo caso d'uso.
Per le definizioni dei parametri, consulta Parametri di configurazione dell'indice.
Parametro | Informazioni | Impatto sulle prestazioni |
---|---|---|
approximateNeighborsCount |
Indica all'algoritmo il numero di risultati approssimativi da recuperare da ogni shard.
Il valore di |
L'aumento del valore di
La riduzione del valore di
|
setNeighborCount |
Specifica il numero di risultati che la query deve restituire. |
Valori inferiori o uguali a 300 rimangono efficaci nella maggior parte dei casi d'uso. Per valori più grandi, esegui il test in base al tuo caso d'uso specifico. |
fractionLeafNodesToSearch |
Controlla la percentuale di nodi foglia da visitare quando cerchi i vicini più prossimi. Ciò è correlato al valore leafNodeEmbeddingCount per il fatto
che maggiore è il numero di incorporamenti per nodo foglia, più dati verranno esaminati per foglia.
|
L'aumento del valore di
La riduzione del valore di
|
Passaggi successivi
- Scopri come aggiornare e ricreare l'indice.
- Scopri come filtrare le corrispondenze vettoriali.
- Scopri come monitorare un indice