Dopo aver eseguito il deployment di un endpoint di indicizzazione VPC Network Peering o Private Service Connect, la query è leggermente diversa a seconda del modo in cui è stato eseguito il deployment:
- Automazione di Private Service Connect
- Configurazione manuale di Private Service Connect
- Peering di rete VPC
Implementato con l'automazione di Private Service Connect
Per IndexEndpoints
implementato con l'automazione di Private Service Connect,
l'SDK Python mapperà automaticamente la rete Private Service Connect all'endpoint appropriato. Se non utilizzi l'SDK Python, devi collegarti direttamente all'indirizzo IP creato per l'endpoint, seguendo le istruzioni per eseguire query su un deployment manuale di Private Service Connect.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Implementato con la configurazione manuale di Private Service Connect
Per Private Service Connect IndexEndpoints
implementato con una connessione configurata manualmente,
si accede all'endpoint utilizzando l'indirizzo IP dell'indirizzo di calcolo inoltrato
al collegamento al servizio Private Service Connect dell'endpoint.
Se non lo conosci già, puoi ottenere l'indirizzo IP inoltrato all'URI dell'allegato del servizio utilizzando i comandi gcloud ai index-endpoints describe
e gcloud compute forwarding-rules list
.
Effettua le seguenti sostituzioni:
- INDEX_ENDPOINT_ID: ID endpoint dell'indice completo.
- REGION: la regione in cui è dipiegato l'endpoint dell'indice.
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}"
L'output includerà l'indirizzo IP interno da utilizzare per eseguire query su IndexEndpoint
.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Riga di comando
Per eseguire una query su un DeployedIndex
, connettiti al relativo TARGET_IP
sulla porta 10000
e chiama il metodo Match
o
BatchMatch
. Inoltre, puoi eseguire query utilizzando un ID embedding specifico.
Gli esempi riportati di seguito utilizzano lo strumento open source grpc_cli
per inviare richieste gRPC al server di indicizzazione di cui è stato eseguito il deployment.
Match
.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match 'deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [-0.1,..]'
Nel secondo esempio, combini due query distinte nella stessa richiesta 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,..]}]}]'
Devi effettuare chiamate a queste API da un client in esecuzione nello stesso [VPC con cui è stato eseguito il peering del servizio](#vpc-network-peering-setup).
Per eseguire una query utilizzando un embedding_id
, utilizza il seguente esempio.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match "deployed_index_id:'"test_index1"',embedding_id: '"606431"'"
In questo esempio, invii una query utilizzando token e limitazioni numeriche.
./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"]}]'
Per saperne di più, vedi Descrizione delle librerie client.
Console
Segui queste istruzioni per eseguire query su un indice VPC dalla console.
- Nella sezione Vertex AI della console Google Cloud, vai alla sezione Esegui il deployment e utilizza. Seleziona Ricerca vettoriale.
- Seleziona l'indice VPC su cui vuoi eseguire una query. Viene visualizzata la pagina Informazioni sull'indice.
- Scorri verso il basso fino alla sezione Indici di cui è stato eseguito il deployment e seleziona l'indice di cui vuoi eseguire la query. Viene visualizzata la pagina Informazioni sull'indice di cui è stato eseguito il deployment.
- Nella sezione Indice query, seleziona i parametri di query. Puoi scegliere di eseguire query in base a un vettore o a un punto dati specifico.
- Esegui la query utilizzando lo strumento open source grpc_cli o l'SDK Vertex AI per Python.
Implementato con il peering di rete VPC
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Nota:l'SDK Python cerca automaticamente l'indirizzo IP di un
IndexEndpoint
di cui è stato eseguito il deployment con il peering di rete VPC.
Riga di comando
Ogni DeployedIndex
ha un TARGET_IP
, che puoi recuperare nel tuo elenco di IndexEndpoints
.
Per eseguire una query su un DeployedIndex
, connettiti al relativo TARGET_IP
sulla porta 10000
e chiama il metodo Match
o
BatchMatch
. Inoltre, puoi eseguire query utilizzando un ID embedding specifico.
Gli esempi riportati di seguito utilizzano lo strumento open source grpc_cli
per inviare richieste gRPC al server di indicizzazione di cui è stato eseguito il deployment.
Match
.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match 'deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [-0.1,..]'
Nel secondo esempio, combini due query distinte nella stessa richiesta 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,..]}]}]'
Devi effettuare chiamate a queste API da un client in esecuzione nello stesso [VPC con cui è stato eseguito il peering del servizio](#vpc-network-peering-setup).
Per eseguire una query utilizzando un embedding_id
, utilizza il seguente esempio.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match "deployed_index_id:'"test_index1"',embedding_id: '"606431"'"
In questo esempio, invii una query utilizzando token e limitazioni numeriche.
./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"]}]'
Per saperne di più, vedi Descrizione delle librerie client.
Console
Segui queste istruzioni per eseguire query su un indice VPC dalla console.
- Nella sezione Vertex AI della console Google Cloud, vai alla sezione Esegui il deployment e utilizza. Seleziona Ricerca vettoriale.
- Seleziona l'indice VPC su cui vuoi eseguire una query. Viene visualizzata la pagina Informazioni sull'indice.
- Scorri verso il basso fino alla sezione Indici di cui è stato eseguito il deployment e seleziona l'indice di cui vuoi eseguire la query. Viene visualizzata la pagina Informazioni sull'indice di cui è stato eseguito il deployment.
- Nella sezione Indice query, seleziona i parametri di query. Puoi scegliere di eseguire query in base a un vettore o a un punto dati specifico.
- Esegui la query utilizzando lo strumento open source grpc_cli o l'SDK Vertex AI per Python.
Impostazioni al momento della query che influiscono sul rendimento
I seguenti parametri relativi al momento della query possono influire su latenza, disponibilità e costo quando utilizzi la ricerca vettoriale. Queste indicazioni si applicano alla maggior parte dei casi. Tuttavia, fai sempre esperimenti con 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 ciascun shard.
Il valore di |
L'aumento del valore di
La diminuzione del valore di
|
setNeighborCount |
Specifica il numero di risultati che vuoi che la query restituisca. |
I valori inferiori o uguali a 300 mantengono un buon rendimento nella maggior parte dei casi d'uso. Per valori più elevati, esegui il test per il tuo caso d'uso specifico. |
fractionLeafNodesToSearch |
Controlla la percentuale di nodi foglia da visitare durante la ricerca dei vicini più prossimi. Questo è correlato al leafNodeEmbeddingCount in quanto più embedding per nodo a foglia, più dati esaminati per foglia.
|
L'aumento del valore di
La riduzione del valore di
|
Passaggi successivi
- Scopri come aggiornare e ricostruire l'indice
- Scopri come filtrare le corrispondenze di vettori
- Scopri come monitorare un indice