Che 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 modello ML: i modelli di integrazione. 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. 

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. Possono inoltre impedire ai modelli di IA generativa di avere allucinazioni, che potrebbero indurre i chatbot a fornire risposte non reali ma credibili.

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à. 

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 (IA) generativa hanno introdotto nuovi tipi di modelli, come ChatGPT, in grado di generare testo e gestire conversazioni complesse con gli esseri 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. 

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.

In che modo AWS può supportare i requisiti inerenti ai database vettoriali?

Amazon Web Services (AWS) offre molti servizi per i requisiti inerenti ai database vettoriali:

Inizia ad utilizzare i database vettoriali su AWS creando un account oggi stesso.

Quali sono le sfide dei database vettoriali?

I database vettoriali condividono molte difficoltà comuni ad altre tecnologie di database. Ci sarà una spinta costante a migliorare la scalabilità, la precisione di approssimazione, le prestazioni di latenza e l'aspetto economico.

Trattandosi di una tecnologia relativamente emergente, molti database vettoriali devono migliorare le competenze di database fondamentali come sicurezza, resilienza, supporto operativo e diversificazione del supporto dei carichi di lavoro. Con il maturare delle applicazioni di intelligenza artificiale (IA) e la conseguente necessità di qualcosa di più della semplice ricerca vettoriale, questo sarà un aspetto importante. 

Fasi successive con AWS

Consulta ulteriori risorse correlate al prodotto
Visualizza le offerte gratuite per i servizi di database nel cloud 
Registrati per creare un account gratuito

Ottieni accesso istantaneo al Piano gratuito di AWS.

Registrati 
Inizia a lavorare nella console

Inizia subito a creare nella Console di gestione AWS.

Accedi