Esegui query su indici PSA o PSC per ottenere i vicini più prossimi

Dopo aver creato un indice PSA o PSC, puoi eseguire query per individuare i vicini più prossimi.

Informazioni sull'esecuzione di query sugli indici PSC

L'indirizzo di computing creato da un indice PSC può essere utilizzato per inviarvi query. Nell'esempio seguente, sostituisci TARGET_IP con l'indirizzo di computing creato.

Informazioni sull'esecuzione di query sugli indici PSA

Ogni DeployedIndex ha un TARGET_IP, che puoi recuperare elencando IndexEndpoints.

Esegui una query su un indice

Per eseguire una query su un DeployedIndex, connettiti al relativo TARGET_IP nella porta 10000 e chiama il metodo Match o BatchMatch. Inoltre, puoi eseguire query utilizzando DOC_ID.

I seguenti esempi utilizzano lo strumento open source grpc_cli per inviare richieste grpc al server di indice di cui è stato eseguito il deployment.

gRPC

Nel primo esempio, invii una singola query utilizzando il metodo 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, unisci due query separate 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 DOC_ID, usa l'esempio seguente.

./grpc_cli call ${TARGET_IP}:10000  google.cloud.aiplatform.container.v1.MatchService.Match "deployed_index_id:'"test_index1"',embedding_id: '"606431"'"

Per ulteriori informazioni, consulta la spiegazione delle librerie client.

Console

Utilizza queste istruzioni per eseguire query su un indice VPC dalla console.

  1. Nella sezione Vertex AI della console Google Cloud, vai alla sezione Deployment e utilizzo. Seleziona Ricerca vettoriale.

    Vai a Vector Search

  2. Seleziona l'indice VPC su cui eseguire una query. Si apre la pagina Informazioni indice.
  3. 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.
  4. 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.
  5. Esegui la query con lo strumento open source grpc_cli o con l'SDK Vertex AI per Python.

Impostazioni del momento della query che influiscono sulle prestazioni

I seguenti parametri relativi al tempo di query possono influire su latenza, disponibilità e costi quando utilizzi Vector Search. Queste indicazioni si applicano alla maggior parte dei casi. Tuttavia, ti consigliamo sempre di sperimentare le configurazioni per assicurarti che funzionino al 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 approximateNeighborsCount deve sempre essere maggiore del valore di setNeighborsCount. Se il valore di setNeighborsCount è basso, è consigliato dieci volte questo valore per approximateNeighborsCount. Per valori setNeighborsCount più grandi, è possibile utilizzare un moltiplicatore più piccolo.

L'aumento del valore di approximateNeighborsCount può influire sulle prestazioni nei seguenti modi:

  • Richiamo: aumentato
  • Latenza: potenziale aumento
  • Disponibilità: nessun impatto
  • Costo: può aumentare perché durante una ricerca vengono elaborati più dati

La riduzione del valore di approximateNeighborsCount può influire sulle prestazioni nei seguenti modi:

  • Richiamo: diminuito
  • Latenza: potrebbe diminuire
  • Disponibilità: nessun impatto
  • Costo: può ridurre i costi perché durante una ricerca vengono elaborati meno dati
setNeighborCount Specifica il numero di risultati che la query deve restituire.

I valori inferiori o uguali a 300 rimangono efficaci nella maggior parte dei casi d'uso. Per valori più grandi, esegui il test per il tuo caso d'uso specifico.

fractionLeafNodesToSearch Controlla la percentuale di nodi foglia da visitare quando cerchi i vicini più prossimi. Questo valore è correlato a leafNodeEmbeddingCount in quanto maggiore è il numero di incorporamenti per nodo foglia, maggiore è il numero di dati esaminati per foglia.

L'aumento del valore di fractionLeafNodesToSearch può influire sulle prestazioni nei seguenti modi:

  • Richiamo: aumentato
  • Latenza: aumentata
  • Disponibilità: nessun impatto
  • Costo: può aumentare perché una latenza maggiore occupa più risorse della macchina

La diminuzione del valore di fractionLeafNodesToSearch può influire sulle prestazioni nei seguenti modi:

  • Richiamo: diminuito
  • Latenza: diminuita
  • Disponibilità: nessun impatto
  • Costo: può diminuire perché una latenza più bassa occupa meno risorse della macchina

Passaggi successivi