Cos'è un database vettoriale?
Cos'è un database vettoriale?
Le informazioni si presentano sotto molte forme. Alcune non sono strutturate, come documenti di testo, contenuti multimediali e audio, mentre altre sono strutturate, come log di applicazioni, tabelle e grafici. Le innovazioni nell'intelligenza artificiale e nel machine learning (IA/ML) ci hanno permesso di creare un nuovo tipo di modelli di ML: i modelli di embedding. Le integrazioni codificano tutti i tipi di dati in vettori che acquisiscono il significato e il contesto di una risorsa. Questo ci consente di trovare risorse simili cercando punti dati vicini. I metodi di ricerca vettoriale aprono la strada a esperienze uniche, come scattare una fotografia con lo smartphone e cercare immagini simili.
I database vettoriali offrono la possibilità di archiviare e recuperare vettori come punti ad alta dimensione. Aggiungono ulteriori funzionalità per la ricerca efficiente e veloce dei vicini più prossimi nello spazio N-dimensionale. In genere sono basati su indici k-nearest neighbor (k-NN) e creati con algoritmi come Hierarchical Navigable Small World (HNSW) e Inverted File Index (IVF). I database vettoriali offrono funzionalità aggiuntive come la gestione dei dati, la tolleranza agli errori, l'autenticazione e il controllo degli accessi e un motore di query.
Perché i database vettoriali sono importanti?
Gli sviluppatori possono indicizzare i vettori generati mediante integrazioni in un database vettoriale. Ciò consente loro di trovare risorse simili interrogando i vettori vicini.
I database vettoriali forniscono un metodo per rendere operativi i modelli di integrazione. Lo sviluppo di applicazioni è più produttivo, grazie a funzionalità di database come la gestione delle risorse, i controlli di sicurezza, la scalabilità, la tolleranza agli errori e il recupero efficiente delle informazioni attraverso linguaggi di interrogazione elaborati.
I database vettoriali consentono infine agli sviluppatori di creare esperienze applicative uniche. Ad esempio, gli utenti potrebbero scattare fotografie sui propri smartphone per cercare immagini simili.
Gli sviluppatori possono utilizzare altri tipi di modelli di machine learning per automatizzare l'estrazione di metadati da contenuti come immagini e documenti scansionati. Possono indicizzare i metadati insieme ai vettori per consentire la ricerca ibrida sia su parole chiave che su vettori. Possono inoltre fondere la comprensione semantica nella classifica di pertinenza per migliorare i risultati di ricerca.
Le innovazioni nell'intelligenza artificiale generativa (AI) hanno introdotto nuovi tipi di modelli come ChatGPT in grado di generare testo e gestire conversazioni complesse con gli umani. Alcuni possono funzionare in più modalità: ad esempio, consentendo agli utenti di descrivere un paesaggio e generare un'immagine compatibile con la descrizione.
I modelli generativi sono tuttavia soggetti ad allucinazioni, che potrebbero, ad esempio, indurre un chatbot a fuorviare gli utenti. I database vettoriali possono integrare i modelli di IA generativa. Possono fornire una base di conoscenze esterna per i chatbot basati su IA generativa e garantire che forniscano informazioni affidabili.
Come vengono utilizzati i database vettoriali?
I database vettoriali vengono generalmente utilizzati per casi d'uso della ricerca vettoriale come la ricerca visiva, semantica e multimodale. In tempi più recenti, sono stati abbinati a modelli di testo di intelligenza artificiale (IA) generativa per creare agenti intelligenti in grado di fornire esperienze di ricerca conversazionale.
Il processo di sviluppo inizia con la creazione di un modello di integrazione progettato per codificare un corpus come immagini di prodotti in vettori. Il processo di importazione dei dati viene anche chiamato idratazione dei dati. Lo sviluppatore dell'applicazione può ora utilizzare il database per cercare prodotti simili codificando un'immagine del prodotto e utilizzando il vettore per ricercare immagini simili.
All'interno del modello, gli indici k-nearest neighbor (k-NN) forniscono un recupero efficiente dei vettori e applicano una funzione di distanza come il coseno per classificare i risultati in base alla similarità.
Chi utilizza i database vettoriali?
I database vettoriali sono destinati agli sviluppatori che desiderano creare esperienze basate sulla ricerca vettoriale. Uno sviluppatore di applicazioni può utilizzare modelli open source, strumenti di machine learning (ML) automatizzati e servizi di modelli di base per generare integrazioni e idratare un database vettoriale. Ciò richiede una competenza di ML minima.
Un team di data scientist e ingegneri può creare integrazioni ottimizzate sapientemente e renderle operative attraverso un database vettoriale. Ciò può aiutarli a fornire più velocemente una soluzione di intelligenza artificiale (IA).
I team operativi traggono vantaggio dalla gestione delle soluzioni come carichi di lavoro di database noti. Possono utilizzare strumenti e playbook esistenti.
Quali sono i vantaggi dei database vettoriali?
I database vettoriali consentono agli sviluppatori di innovare e creare esperienze uniche basate sulla ricerca vettoriale. Possono accelerare lo sviluppo di applicazioni di intelligenza artificiale (IA) e semplificare l'operatività dei carichi di lavoro delle applicazioni basate su IA.
I database vettoriali forniscono un'alternativa alla creazione a partire dai semplici indici k-Nearest Neighbor (k-NN). L'uso, l'ottimizzazione e l'operatività di questo tipo di indice richiedono una grande quantità di competenze e conoscenze ingegneristiche in più.
Un buon database vettoriale fornisce alle applicazioni una base attraverso funzionalità come gestione dei dati, tolleranza agli errori, funzioni di sicurezza critiche e un motore di query. Queste funzionalità consentono agli utenti di rendere operativi i carichi di lavoro per semplificare il dimensionamento, mantenere una scalabilità elevata e supportare i requisiti di sicurezza.
Funzionalità come il motore di query e gli SDK semplificano lo sviluppo delle applicazioni. Inoltre, consentono agli sviluppatori di eseguire query più avanzate (come la ricerca e il filtraggio) sui metadati nell'ambito di una ricerca k-NN. Offrono anche la possibilità di utilizzare modelli ibridi per l'assegnazione del punteggio di pertinenza che combinano modelli di frequenza dei termini tradizionali come BM25 con punteggi vettoriali per migliorare il recupero delle informazioni.
Qual è il database vettoriale consigliato da AWS per Amazon Bedrock?
Amazon O PenSearch Service è il database vettoriale consigliato per Amazon Bedrock. Il Servizio OpenSearch offre un database vettoriale scalabile e ad alte prestazioni che consente funzionalità di ricerca vettoriale (ibrida, semantica, multimodale, conversazionale e non solo), sistemi di raccomandazione, chatbot e altre moderne applicazioni di IA generativa. Il Servizio OpenSearch è il modo più semplice e veloce per iniziare se hai bisogno di funzionalità di database vettoriali con Amazon Bedrock.
In che modo AWS può supportare altri requisiti inerenti ai database vettoriali?
Amazon Web Services (AWS) offre molti servizi aggiuntivi per i requisiti dei database vettoriali, in particolare se hai bisogno della ricerca vettoriale per dati esistenti in altre posizioni (Amazon Aurora, Amazon S3, Amazon MemoryDB):
- L'edizione di Amazon Aurora compatibile con PostgreSQL e Amazon Relational Database Service (Amazon RDS) per PostgreSQL supportano l'estensione pgvector per archiviare integrazioni da modelli di machine learning (ML) nei database ed eseguire efficienti ricerche di similarità.
- Amazon Neptune ML è una nuova funzionalità di Neptune che utilizza Graph Neural Networks (GNN), una tecnica ML creata appositamente per i grafici, per effettuare previsioni facili, veloci e accurate utilizzando dati grafici.
- La ricerca vettoriale per Amazon MemoryDB supporta l'archiviazione di milioni di vettori, con tempi di risposta delle query e degli aggiornamenti in millisecondi a una cifra e decine di migliaia di query al secondo (QPS) con un richiamo superiore al 99%.
- Amazon DocumentDB (con compatibilità MongoDB) supporta la ricerca vettoriale, una nuova funzionalità che consente di archiviare, indicizzare e cercare milioni di vettori con tempi di risposta in millisecondi. Con la ricerca vettoriale per Amazon DocumentDB, puoi semplicemente configurare, gestire e scalare i database per le tue applicazioni ML.
Inizia a usare i database vettoriali su AWS creando un account oggi stesso.