Vertex AI Vector Search consente agli utenti di cercare elementi semanticamente simili utilizzando gli embedding vettoriali. Utilizzando il flusso di lavoro Spanner to Vertex AI Vector Search, puoi integrare il tuo database Spanner con Vector Search per eseguire una ricerca di somiglianza vettoriale sui tuoi dati Spanner.
Il seguente diagramma mostra il flusso di lavoro dell'applicazione end-to-end su come attivare e utilizzare la ricerca di vettori nei tuoi dati Spanner:
Il flusso di lavoro generale è il seguente:
Genera e memorizza gli incorporamenti vettoriali.
Puoi generare incorporamenti vettoriali dei tuoi dati, quindi archiviarli e gestirli in Spanner con i tuoi dati operativi. Puoi generare embedding con la funzione SQL
ML.PREDICT
di Spanner per accedere al modellotextembedding-gecko
di Vertex AI o utilizzare altri modelli di embedding di cui è stato eseguito il deployment in Vertex AI.Sincronizza gli embedding con la ricerca vettoriale.
Utilizza il flusso di lavoro Spanner to Vertex AI Vector Search, che viene eseguito utilizzando Workflows per esportare e caricare gli incorporamenti in un indice di ricerca vettoriale. Puoi utilizzare Cloud Scheduler per pianificare periodicamente questo flusso di lavoro in modo da mantenere aggiornato l'indice di ricerca di vettori con le ultime modifiche agli embedding in Spanner.
Esegui la ricerca di somiglianza vettoriale utilizzando l'indice Vector Search.
Esegui 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 Ricerca vettoriale è un rivenditore online con un inventario di centinaia di migliaia di articoli. In questo scenario, sei uno sviluppatore per un rivenditore online e vorresti utilizzare la ricerca di somiglianza di vettori nel tuo catalogo di prodotti in Spanner per aiutare i tuoi clienti a trovare prodotti pertinenti in base alle loro query di ricerca.
Segui i passaggi 1 e 2 descritti nel flusso di lavoro generale per generare gli incorporamenti vettoriali per il tuo catalogo di prodotti e sincronizzarli con la ricerca vettoriale.
Ora immagina che un cliente che naviga nella tua applicazione esegua una ricerca come "i migliori pantaloncini sportivi ad asciugatura rapida che posso indossare in acqua". Quando la tua applicazione riceve questa query, devi generare un'evidenziazione della richiesta per questa richiesta di ricerca utilizzando la funzione SQL ML.PREDICT
di Spanner. Assicurati di utilizzare lo stesso modello di embedding utilizzato per generare gli embedding per il tuo catalogo di prodotti.
A questo punto, esegui una query sull'indice di ricerca vettoriale per trovare gli ID prodotto i cui incorporamenti corrispondenti sono simili all'incorporamento della richiesta generato dalla richiesta di ricerca del tuo cliente. L'indice di ricerca potrebbe consigliare ID prodotto per articoli semanticamente simili, come pantaloncini da wakeboard, abbigliamento da surf e slip da bagno.
Dopo che la ricerca vettoriale ha restituito questi ID prodotto simili, puoi eseguire query su Spanner per recuperare le descrizioni, il numero di inventario, il prezzo e altri metadati pertinenti dei prodotti e mostrarli al cliente.
Puoi anche utilizzare l'IA generativa per elaborare i risultati restituiti da Spanner prima di mostrarli al cliente. Ad esempio, potresti utilizzare i grandi modelli di IA generativa di Google per generare un riepilogo conciso dei prodotti consigliati. Per ulteriori informazioni, consulta questo tutorial su come utilizzare l'IA generativa per ricevere consigli personalizzati in un'applicazione di e-commerce.
Passaggi successivi
- Scopri come generare embedding utilizzando Spanner.
- Scopri di più sul multistrumento dell'AI: gli embedding vettoriali
- Scopri di più sul machine learning e sugli embedding nel nostro corso introduttivo sugli embedding.
- Per scoprire di più sul flusso di lavoro Spanner to Vertex AI Vector Search, consulta il repository GitHub.
- Scopri di più sul pacchetto open source spanner-analytics che semplifica le operazioni di analisi dei dati comuni in Python e include integrazioni con i Jupyter Notebook.