Ricerca vettoriale di Vertex AI consente agli utenti di cercare elementi semanticamente simili utilizzando gli incorporamenti vettoriali. Utilizzo di Spanner To Vertex AI Vector Search flusso di lavoro, puoi integrare il tuo database Spanner Ricerca vettoriale per eseguire una ricerca di somiglianze vettoriali sul tuo Dati Spanner.
Il seguente diagramma mostra il flusso di lavoro dell'applicazione end-to-end di come puoi abilitare e usare la ricerca vettoriale su Spanner dati:
Il flusso di lavoro generale è il seguente:
Genera e archivia incorporamenti vettoriali.
Puoi generare incorporamenti vettoriali dei tuoi dati, quindi archiviare e e gestirle in Spanner con i tuoi dati operativi. Puoi genera incorporamenti con l'SQL
ML.PREDICT
di Spanner per accedere al modellotextembedding-gecko
di Vertex AI oppure utilizzare altri modelli di incorporamento di cui è stato eseguito il deployment in Vertex AI.Sincronizza gli incorporamenti con Vector Search.
Utilizza il flusso di lavoro di ricerca vettoriale da Spanner a Vertex AI. il cui deployment viene eseguito tramite Workflows esportare e caricare gli incorporamenti in un indice di Vector Search. Puoi utilizzare la modalità Cloud Scheduler per pianificare periodicamente questo flusso di lavoro per L'indice di Vector Search aggiornato con le ultime modifiche al tuo incorporamenti in Spanner.
Esegui la ricerca di somiglianze vettoriali utilizzando il tuo indice di ricerca vettoriale.
Esegui una query sull'indice di Vector Search per cercare e trovare risultati per elementi semanticamente simili. Puoi eseguire query utilizzando un endpoint pubblico o tramite il peering VPC.
Caso d'uso di esempio
Un caso d'uso illustrativo di Vector Search è la ricerca online rivenditore con un inventario di centinaia di migliaia di articoli. In questo sei uno sviluppatore di un rivenditore online e vorresti piace utilizzare la ricerca di somiglianze vettoriali nel catalogo dei prodotti in Spanner per aiutare i clienti a trovare prodotti pertinenti in base a le proprie query di ricerca.
Segui i passaggi 1 e 2 presentati nel flusso di lavoro generale per generare il vettore per il catalogo dei prodotti e sincronizza questi incorporamenti con Ricerca vettoriale.
Ora immagina che un cliente che sfoglia la tua applicazione esegua una ricerca come
"i migliori pantaloncini sportivi ad asciugatura rapida che posso indossare in acqua". Quando
riceve questa query, devi generare una richiesta di incorporamento
questa richiesta di ricerca mediante Spanner ML.PREDICT
funzione SQL. Assicurati di utilizzare lo stesso modello di incorporamento usato per generare
per il catalogo dei prodotti.
Quindi, esegui una query sull'indice di Vector Search per trovare gli ID prodotto gli incorporamenti corrispondenti sono simili a quelli della richiesta generati dalla richiesta di ricerca del cliente. L'indice di ricerca potrebbe consigliare ID prodotto per elementi semanticamente simili come pantaloncini da wakeboard, abbigliamento da surf e per il nuoto.
Quando Vector Search ha restituito questi ID prodotto simili, puoi eseguire query Spanner per i prodotti descrizioni, numero di inventario, prezzo e altri metadati pertinenti e mostrali al cliente.
Puoi anche usare l'IA generativa per elaborare i risultati restituiti da Spanner prima di visualizzare al cliente. Ad esempio, potresti usare l'ampio AI generativa per generare un breve riepilogo dei prodotti consigliati. Per maggiori informazioni informazioni, guarda questo tutorial su come utilizzano l'AI generativa per ricevere consigli personalizzati in un'applicazione di e-commerce.
Passaggi successivi
- Scopri come generare incorporamenti usando Spanner.
- Scopri di più sul multistrumento di IA: incorporamenti vettoriali
- Scopri di più sul machine learning e sugli incorporamenti nel nostro corso sugli arresti anomali degli incorporamenti.
- Scopri di più su Spanner to Vertex AI Flusso di lavoro di ricerca vettoriale, consulta il repository GitHub.
- Scopri di più sul pacchetto open source Spanner-analytics che facilita le comuni operazioni di analisi dei dati in Python e include con i blocchi note Jupyter.