Scegli un indice di vettore

Seleziona una versione della documentazione:

Questa pagina descrive le strategie di ricerca vettoriale di AlloyDB AI e spiega quando utilizzare ciascuna strategia. Per impostazione predefinita, AlloyDB utilizza la ricerca K-Nearest Neighbor (KNN) per trovare i vettori simili a una query. Gli indici vettoriali implementano una strategia di ricerca chiamata Approximate Nearest Neighbor (ANN). Quando crei un indice vettoriale, AlloyDB AI utilizza ANN, che offre prestazioni migliori rispetto a KNN. Tieni presente che, quando selezioni un indice vettoriale, devi bilanciare la latenza delle query e il richiamo.

Richiamo misura l'efficacia con cui una ricerca recupera tutti gli elementi pertinenti per una determinata query. Ad esempio, supponiamo di avere 100 incorporamenti, ognuno dei quali rappresenta un'entità nel tuo database. Esegui query sugli incorporamenti con un vettore di destinazione e limiti a 10 risultati. Una ricerca vettoriale KNN trova i 10 vettori esatti più vicini utilizzando un metodo di calcolo di forza bruta, che produce un richiamo del 100%. AlloyDB AI utilizza questo metodo per impostazione predefinita se non viene creato o scelto alcun indice di ricerca vettoriale. Quando crei un indice vettoriale in AlloyDB per PostgreSQL, in genere utilizza ANN, che potrebbe partizionare i vettori in base alla somiglianza per facilitare un recupero più rapido. Di conseguenza, utilizzando ANN, i 10 vettori restituiti nell'esempio precedente potrebbero non essere esattamente i 10 vettori più vicini in distanza. Se solo 8 dei 10 vettori recuperati sono i più vicini nello spazio al vettore della query, il richiamo è dell'80%.

La latenza delle query definisce la velocità con cui vengono generati i risultati di ricerca. Ad esempio, la latenza viene calcolata in base al tempo impiegato per una ricerca per restituire i vettori dopo l'invio di una query.

Scegliere la strategia di ricerca

Quando esegui la ricerca vettoriale in AlloyDB, scegli una delle seguenti strategie di ricerca:

Strategia di ricerca Descrizione Casi d'uso
K-Nearest Neighbor (KNN) Un algoritmo che trova i punti dati dei k-nearest neighbors per un determinato punto dati di query. Quando esegui una ricerca vettoriale senza creare un indice, viene eseguita una ricerca KNN per impostazione predefinita.
  • La tua applicazione è molto sensibile all'accuratezza e hai bisogno delle corrispondenze esatte più vicine.
  • Hai meno di 100.000 vettori.
Approximate Nearest Neighbors (ANN) Un algoritmo che trova approssimativamente i punti dati più vicini. La rete neurale artificiale divide i punti dati dei clienti esistenti in piccoli gruppi in base alle somiglianze.
  • La tua applicazione richiede una bassa latenza.
  • Hai più di 100.000 vettori.

Google consiglia di creare un indice vettoriale per ottimizzare il rendimento delle query di ricerca vettoriale. Per saperne di più su come viene utilizzato l'indice ANN per le ricerche di similarità, consulta Creare indici ed eseguire query sui vettori utilizzando ScaNN.

Passaggi successivi