Panoramica di Vertex AI Vector Search

La ricerca vettoriale si basa sulla tecnologia di ricerca vettoriale sviluppata da Google Research. Con Vector Search puoi sfruttare la stessa infrastruttura che fornisce la base per prodotti Google come Ricerca Google, YouTube e Play.

Introduzione

La ricerca vettoriale è in grado di eseguire ricerche da miliardi di elementi semanticamente simili o semanticamente correlati. Un servizio di corrispondenza di somiglianze vettoriali ha molti casi d'uso come l'implementazione di motori per suggerimenti, motori di ricerca, chatbot e classificazione del testo.

Query su abiti

Un possibile caso d'uso per la ricerca di vettori è un rivenditore online che ha un inventario di centinaia di migliaia di articoli di abbigliamento. In questo scenario, l'API di incorporamento multimodale potrebbe aiutarli a creare incorporamenti di questi elementi e a utilizzare la ricerca vettoriale per abbinarli alle query di testo alle immagini semanticamente più simili. Ad esempio, potrebbero cercare "vestito estivo giallo" e la ricerca vettoriale restituisce per visualizzare gli elementi più simili. Vector Search può eseguire ricerche su larga scala, con un elevato numero di query al secondo (QPS), un elevato numero di risultati, bassa latenza ed efficienza in termini di costi.

L'uso degli incorporamenti non è limitato a parole o testo. Puoi generare embedding semantici per molti tipi di dati, tra cui immagini, audio, video e preferenze utente. Per generare un incorporamento multimodale con Vertex AI, consulta Ottieni incorporamenti multimodali.

Come utilizzare Vector Search per la corrispondenza semantica

La corrispondenza semantica può essere semplificata in pochi passaggi. Innanzitutto, devi generare rappresentazioni di embedding di molti elementi (operazione eseguita al di fuori di Vector Search). In secondo luogo, carichi gli incorporamenti su Google Cloud, quindi colleghi i dati a Ricerca vettoriale. Dopo aver aggiunto gli incorporamenti a Vector Search, puoi creare un indice per eseguire query e ottenere suggerimenti o risultati.

Generare un incorporamento

Genera un incorporamento per il tuo set di dati. Ciò comporta la pre-elaborazione dei dati un modo che rende efficiente la ricerca del vicino più prossimo approssimato (ANN). Puoi farlo al di fuori di Vertex AI o utilizzare l'IA generativa su Vertex AI per creare un embedding. Con Grazie all'IA generativa su Vertex AI, puoi creare incorporamenti sia di testo che multimodali.

Aggiungi il tuo incorporamento in Cloud Storage

Carica l'embedding su Cloud Storage in modo da poterlo chiamare dal servizio Ricerca vettoriale.

Carica in Vector Search

Collega i tuoi incorporamenti a Vector Search per eseguire le operazioni più vicine la ricerca dei vicini. Puoi creare un indice dall'embedding, che puoi eseguire su un endpoint indice per eseguire query. La query restituisce i vicini più prossimi approssimativi. Per creare un indice, vedi Gestire gli indici. Per eseguire il deployment dell'indice in un endpoint, consulta Eseguire il deployment e gestire gli endpoint indice.

Valuta i risultati

Dopo aver ottenuto i risultati approssimativi per il vicino più prossimo, puoi valutarli per capire se soddisfano le tue esigenze. Se i risultati non sono abbastanza precisi, puoi regolare i parametri dell'algoritmo o abilitare la scalabilità per supportare di query al secondo in più. Per farlo, aggiorna il file di configurazione, che configura l'indice. Per saperne di più, consulta Configurare i parametri indice.

Terminologia di Vector Search

Questo elenco contiene alcune terminologie importanti che devi conoscere per utilizzare la ricerca vettoriale:

  • Vettore: un vettore è un elenco di valori in virgola mobile con magnitudo e direzione. Può essere utilizzato per rappresentare qualsiasi tipo di dati, ad esempio numeri, punti nello spazio e indicazioni stradali.
  • Incorporamento: un incorporamento è un tipo di vettore utilizzato per rappresentare. in un modo che catturi il loro significato semantico. In genere, gli embedding vengono creati utilizzando tecniche di machine learning e vengono spesso utilizzati nell'elaborazione del linguaggio naturale (NLP) e in altre applicazioni di machine learning.
    • Incorporamenti densi: gli incorporamenti densi rappresentano il significato semantico. di testo, utilizzando array che contengono principalmente valori diversi da zero. Ad alta densità incorporamenti, risultati di ricerca simili possono essere restituiti in base alla semantica le similitudini.
    • Incorporamenti sparsi: gli incorporamenti sparsi rappresentano la sintassi del testo, utilizzando array ad alta dimensionalità che contengono pochissimi valori diversi da zero rispetto agli incorporamenti densi. Per le ricerche di parole chiave si utilizzano spesso gli incorporamenti sparsi.
  • Ricerca ibrida: la ricerca ibrida utilizza sia embedding densi che sparsi, il che consente di eseguire ricerche in base a una combinazione di ricerca per parole chiave e ricerca semantica. La ricerca vettoriale supporta la ricerca basata su dati densi incorporamenti. Come funzionalità di Anteprima pubblica, la Ricerca vettoriale supporta gli incorporamenti sparsi e la ricerca ibrida.
  • Indice: una raccolta di vettori distribuiti insieme per la ricerca di analogie. I vettori possono essere aggiunti o rimossi da un indice. Le query di ricerca di somiglianza vengono inviate a un indice specifico e cercano i vettori in quell'indice.
  • Dati empirici reali: un termine che si riferisce alla verifica delle macchine e l'apprendimento per l'accuratezza rispetto al mondo reale, come un set di dati basato su dati empirici reali.
  • Richiamo: la percentuale di vicini più prossimi restituiti dall'indice che sono i veri vicini più prossimi. Ad esempio, se una query sul vicino più prossimo per 20 vicini più prossimi ha restituito 19 dei vicini più prossimi del vero e proprio, il richiamo è 19/20 x 100 = 95%.

  • Limita: funzionalità che limita le ricerche a un sottoinsieme dell'indice per utilizzando le regole booleane. La limitazione è indicata anche come "filtro". Con la ricerca vettoriale, puoi usare i filtri numerici e gli attributi di testo.

Passaggi successivi