Un database vettoriale è un qualsiasi database che ti consente di archiviare, indicizzare ed eseguire query su incorporamenti vettoriali o rappresentazioni numeriche di dati non strutturati, come testo, immagini o audio.
Google Cloud integra queste funzionalità di livello enterprise direttamente nei suoi servizi gestiti, tra cui AlloyDB per PostgreSQL, Spanner e BigQuery, aiutandoti a creare applicazioni intelligenti senza dover gestire un'infrastruttura separata.
I vector embedding sono rappresentazioni numeriche dei dati, in genere definite come array di numeri con rappresentazione in virgola mobile. Traducono dati complessi e non strutturati, come testo, immagini o audio, in un formato che i modelli di machine learning possono elaborare.
Mappando questi dati in uno spazio vettoriale, gli embedding acquisiscono un significato semantico: gli elementi simili sono posizionati più vicini, mentre gli elementi dissimili sono più distanti. Questa relazione spaziale aiuta i sistemi a identificare le connessioni tra i punti dati in base al contesto e al significato, anziché alla semplice corrispondenza delle parole chiave.
Mentre alcuni database specializzati supportano solo i vector embedding, molti altri supportano, oltre a questi, vari tipi di dati e query. Questo è fondamentale per creare applicazioni di AI generativa sulla base di dati complessi e reali. Man mano che i vantaggi delle query semantiche mediante incorporamenti vettoriali diventano chiari, la maggior parte dei database aggiungerà il supporto vettoriale. In futuro, riteniamo che ogni database sarà un database vettoriale.
Scopri come la ricerca vettoriale di Vertex AI supporta la creazione di applicazioni di AI generativa ad alte prestazioni. La ricerca vettoriale di Vertex AI si basa su Scalable Nearest Nearby Search, o ScaNN, una tecnologia di ricerca vettoriale scalabile ed efficiente sviluppata da Google Research ed è ideale per la gestione di grandi set di dati e requisiti di ricerca in tempo reale. Scopri di più sulla ricerca vettoriale e sugli embedding nel video di seguito e inizia con questa guida rapida.
L'esecuzione efficiente di query su un grande insieme di vettori richiede strategie di indicizzazione e ricerca specializzate che differiscono dai tradizionali campi di testo o numerici. Poiché i vettori non hanno un singolo ordinamento logico, i database vettoriali si basano sui seguenti meccanismi per recuperare i dati:
I vector embedding acquisiscono il significato semantico di dati complessi. Se combinati con i database vettoriali, che forniscono indicizzazione e recupero efficienti, gli sviluppatori possono creare un'ampia gamma di applicazioni intelligenti e strumenti di elaborazione dei dati.
Gli sviluppatori possono utilizzare i database vettoriali come knowledge base esterna per i modelli linguistici di grandi dimensioni (LLM). Recuperando il contesto pertinente e proprietario prima di inviare un prompt al modello, le applicazioni possono ridurre le allucinazioni e fornire risposte accurate dal punto di vista dei fatti e specifiche per il dominio. È essenziale per la creazione di agenti di assistenza basati sull'AI, analizzatori di documenti legali e sistemi di gestione della conoscenza interni.
I database vettoriali consentono agli sviluppatori di creare sistemi di personalizzazione che vanno oltre il filtro collaborativo. Rappresentando il comportamento degli utenti e gli attributi dei prodotti come vettori, le applicazioni possono identificare elementi simili o abbinare gli utenti a contenuti che si adattano alle loro preferenze in tempo reale. Questa architettura supporta suggerimenti di prodotti di e-commerce, feed di contenuti e consigli di streaming multimediale.
A differenza della tradizionale ricerca per parole chiave, i database vettoriali consentono applicazioni di ricerca semantica che comprendono l'intento dell'utente. Gli sviluppatori possono creare esperienze di ricerca che consentono agli utenti di eseguire query per concetto anziché per formulazione esatta. Inoltre, poiché i vettori possono rappresentare diversi tipi di dati nello stesso spazio, puoi creare strumenti di ricerca multimodali, che consentono agli utenti di cercare immagini utilizzando descrizioni di testo o di trovare documenti correlati utilizzando un'immagine di input.
I database vettoriali possono aiutare a identificare pattern irregolari in set di dati di grandi dimensioni. Stabilendo uno spazio vettoriale che rappresenta il comportamento o le transazioni "normali", gli sviluppatori possono rilevare a livello di programmazione i valori anomali che si discostano molto dai cluster stabiliti. Questa funzionalità è fondamentale per la creazione di sistemi di rilevamento delle frodi finanziarie, strumenti di monitoraggio della sicurezza della rete e controlli di integrità dell'infrastruttura IT.
Nei workflow di data engineering, i database vettoriali possono aiutare a pulire e unificare set di dati disparati. Confrontando gli embedding di record di clienti o schede di prodotti, i sistemi possono identificare le voci duplicate anche quando il testo varia leggermente (ad esempio, "Via Roma" e "Via Roma, 10"). Ciò aiuta le organizzazioni a mantenere una visione unica e accurata dei propri dati.
AlloyDB per PostgreSQL combina la compatibilità di PostgreSQL con l'infrastruttura scalabile di Google. Include il supporto integrato per gli vector embedding tramite l'estensione pgvector standard e lo migliora con l'indice ScaNN di Google. Ciò può consentire query vettoriali più veloci e abilitare il "filtraggio in linea", che può aiutare a ottimizzare le ricerche ibride valutando contemporaneamente la somiglianza vettoriale e i filtri dei metadati per ottenere prestazioni migliori.
Esempio: ricerca ibrida di immobili
Un'applicazione immobiliare in cui gli utenti vogliono trovare case in base all'atmosfera (ad esempio, "moderna di metà secolo con luce naturale") pur rispettando rigorosamente vincoli rigidi (ad esempio, "3 camere da letto", "meno di 800.000 $", "nel distretto scolastico A").
Google Cloud integra le funzionalità di ricerca vettoriale direttamente nei suoi servizi di database principali, aiutandoti a rendere operativa l'AI generativa utilizzando i tuoi dati e workflow esistenti.
Spanner, il database distribuito a livello globale di Google, supporta la ricerca vettoriale per le applicazioni transazionali. Può fornire una ricerca vettoriale altamente disponibile e scalabile utilizzando algoritmi esatti e approssimati del vicino più prossimo. Ciò consente alle applicazioni globali di implementare funzionalità come i consigli in tempo reale o la ricerca semantica, mantenendo al contempo la coerenza e l'affidabilità rigorose.
Esempio: consigli in tempo reale per l'e-commerce
Una piattaforma di e-commerce globale vuole creare un motore per suggerimenti che gestisca ricerche vaghe degli utenti come "migliori scarponcini da trekking per la pioggia" garantendo al contempo la disponibilità immediata dei prodotti.
BigQuery può consentirti di eseguire analisi vettoriali su set di dati di grandi dimensioni senza spostare i dati dal tuo data warehouse. Utilizzando la funzione VECTOR_SEARCH, puoi eseguire ricerche di somiglianza utilizzando SQL standard. Questo è particolarmente utile per i casi d'uso analitici, come il raggruppamento dei clienti in base al comportamento o l'identificazione di tendenze di prodotti simili su miliardi di righe di dati.
Esempio: rilevamento delle minacce alla cybersicurezza su larga scala
Un team di sicurezza deve analizzare petabyte di log del server per identificare attività dannose. Gli aggressori spesso modificano leggermente il loro codice per eludere le ricerche di parole chiave a corrispondenza esatta.
Inizia a creare su Google Cloud con 300 $ di crediti gratuiti e oltre 20 prodotti Always Free.