AnnuncioTi presentiamo MongoDB 8.0, il MongoDB più veloce di sempre! Leggi >
AnnuncioVoyage AI si unisce a MongoDB per potenziare applicazioni AI più accurate e affidabili su Atlas. Scopra di più >

Cosa sono i database vettoriali?

Avrai bisogno di accedere a un database MongoDB Atlas per questo tutorial. Se non hai un account, puoi registrarti gratuitamente per seguirlo.

Inizia gratis!

Sommario

Avrai sentito parlare di generative AI (nota anche come intelligenza artificiale). In tutti i settori dell'economia, dalla sanità alla finanza, dal commercio al dettaglio alla PA, le organizzazioni cercano di capire come servirsene. Sembra che tutti i CEO vogliano implementare le applicazioni il più velocemente possibile.

E non si tratta solo di clamore. Secondo un report di McKinsey, la generative AI potrebbe portare all'economia globale un'iniezione di fondi dell'ordine di migliaia di miliardi.

Al centro di questa tecnologia di trasformazione c’è il concetto matematico di vettore. Attraverso la vettorizzazione e le prodezze degli LLM, l'IA generativa raggiunge il suo potenziale rivoluzionario. Nell’era dell'IA generativa, gli incorporamenti vettoriali gettano le basi; i database vettoriali ne amplificano l'impatto.

Che cos'è un database vettoriale? Come funziona? Quali sono alcuni casi d'uso comuni? E perché MongoDB Atlas Vector Search svolge un ruolo importante nel dibattito sull'IA generativa?

Cosa sono i database vettoriali?

Per comprendere i database vettoriali, occorre innanzitutto capire cos'è un vettore.

In matematica e fisica, un vettore è una quantità che ha sia una grandezza (o dimensione) che una direzione. Un vettore può essere scomposto in componenti. Ad esempio, in uno spazio bidimensionale, un vettore ha una componente X (orizzontale) e una componente Y (verticale).

Nella scienza dei dati e nell'apprendimento automatico, un vettore è un elenco ordinato o una sequenza di numeri che rappresenta i dati. Un vettore può rappresentare qualsiasi tipo di dati, inclusi i dati non strutturati (o dati senza un modello dati o uno schema predefinito), dal testo alle immagini, dall'audio al video. Un vettore è generalmente rappresentato come matrici o elenchi di numeri in cui ogni numero nell'elenco rappresenta una caratteristica o un attributo specifico di quei dati.

Immagina, ad esempio, di avere una vasta raccolta di foto di gatti. Ogni immagine è un dato non strutturato. Tuttavia, è possibile rappresentare ciascuna immagine come un vettore estraendo delle caratteristiche, come le seguenti:

  • Colore medio
  • Istogramma dei colori
  • Istogramma delle texture
  • La presenza o l'assenza di orecchie, baffi e una coda

L'embedding vettoriale (o vettorizzazione) è il processo di conversione di parole e altri dati in numeri, dove ogni punto dati è rappresentato da un vettore in uno spazio ad alta dimensionalità.

Un database vettoriale, noto anche come database di ricerca vettoriale o motore di ricerca per somiglianza vettoriale, archivia, recupera e cerca vettori.

Invece delle righe e delle colonne tipiche dei relational database, i database vettoriali rappresentano i dati come punti in uno spazio multidimensionale. I database vettoriali sono ideali per le applicazioni che richiedono una corrispondenza rapida e accurata dei dati basata sulla somiglianza anziché su valori esatti.

“Possiamo immaginare un database vettoriale come un vasto magazzino e l’intelligenza artificiale come un abile responsabile di magazzino. In questo magazzino, ogni articolo (dati) è archiviato in una casella (vettore), organizzato in modo ordinato sugli scaffali in uno spazio multidimensionale”, scrive Mark Hinkle in The New Stack.

Se si stanno creando applicazioni di IA generativa, un database vettoriale viene adattato per elaborare in modo efficiente grandi volumi di dati vettoriali, garantendo query e velocità di elaborazione più veloci.

 

An image of vector databases featuring vector embedding and the embedding model.

Come funzionano i database vettoriali?

Essenziale per la funzionalità di un database vettoriale è il principio degli incorporamenti. In sostanza, un modello vettoriale o di incorporamento traduce i dati in un formato coerente: i vettori.

Mentre un vettore è fondamentalmente un insieme ordinato di numeri, un incorporamento lo trasforma in una rappresentazione di vari tipi di dati, tra cui testo, immagini e audio.

Le trasformazioni, il processo di conversione dei dati da un formato all'altro, collocano i vettori in uno spazio vettoriale multidimensionale. Una delle funzionalità più straordinarie di questa disposizione spaziale è che i punti dati con attributi o caratteristiche simili gravitano naturalmente l'uno verso l'altro, formando dei cluster.

Gli incorporamenti vettoriali non sono solo traduzioni numeriche; incapsulano l'essenza semantica più profonda e le sfumature contestuali dei dati originali. Ciò li rende preziosi per una serie di applicazioni di IA, dall'elaborazione del linguaggio naturale (NLP) all'analisi del sentiment, fino alla categorizzazione dei testi.

L'esecuzione di query su un database vettoriale è diversa dall'esecuzione di query su un database convenzionale. Invece di cercare corrispondenze precise tra vettori identici, un database vettoriale utilizza la ricerca per analogia per individuare i vettori che risiedono in prossimità del vettore di query dato, all'interno dello spazio multidimensionale. Questo approccio non solo si allinea maggiormente alla natura intrinseca dei dati, ma offre anche una velocità e un'efficienza che la ricerca tradizionale non può eguagliare.

Parole, frasi e persino interi documenti possono essere trasformati in vettori che ne catturano l'essenza. Ad esempio, un metodo di incorporamento di parole standard è Word2Vec. Con Word2Vec, le parole con significati simili sono rappresentate da vettori che sono vicini in uno spazio multidimensionale. L'esempio più famoso è: re - uomo + donna = regina. L'aggiunta dei vettori associati alle parole "re" e "donna" sottraendo nello stesso tempo la parola "uomo" è uguale al vettore associato a "regina".

An image describing how vector database search works including pink dots, a cat, banana, etc.

Anche le immagini, nonostante presentino modelli e colori complessi, possono essere tradotte in vettori. Ad esempio, in un dataset pieno di immagini di animali, una rete neurale convoluzionale (CNN) addestrata raggrupperebbe tutte le immagini di cani vicine tra loro, nettamente separate, ad esempio, da gruppi di gatti o uccelli.

​Acquisendo la struttura dei dati intrinseca e i modelli all'interno dei dati, gli incorporamenti vettoriali offrono ritratti arricchiti semanticamente. Questa ricchezza non solo facilita una comprensione più profonda dei dati, ma accelera anche i calcoli relativi alla determinazione delle relazioni e alla misurazione delle somiglianze tra entità diverse.

​Perché la ricerca vettoriale è fondamentale?

​La ricerca vettoriale è fondamentale per i database vettoriali a causa del suo peculiare metodo di reperimento dei dati.

​A differenza dei database tradizionali, che si basano su corrispondenze esatte, in un database vettoriale la ricerca vettoriale opera in base alla somiglianza. Questa comprensione semantica significa che anche se due dati non sono identici ma sono contestualmente o semanticamente simili, possono essere abbinati.

​Le tradizionali ricerche di parole chiave eccellono nell'individuare termini specifici all'interno di documenti o tabelle. Tuttavia, non sono in grado di agire sui dati non strutturati, come video, libri, post sui social media, PDF e file audio.

​La ricerca vettoriale colma questo divario abilitando le ricerche all'interno di dati non strutturati. Non cerca solo corrispondenze esatte, ma identifica i contenuti in base alla somiglianza semantica, comprendendo le relazioni intrinseche tra i termini della ricerca.

An image of a voronoi diagram describing "nearest neighbor"

L'efficienza della ricerca vettoriale diventa evidente quando si tratta di dati ad alta dimensione. I database vettoriali sono abili nel gestire punti dati che si estendono su centinaia o addirittura migliaia di dimensioni. Gli algoritmi ottimizzati per la ricerca vettoriale di vettori ad alta dimensione, come la ricerca approximate nearest neighbor (ANN), possono identificare rapidamente i vettori più simili in questo ampio spazio senza la necessità di analizzare ogni vettore. Questa efficienza si traduce in ricerche più rapide ed efficienti in termini di risorse.

Dal punto di vista dell'esperienza utente, i vantaggi della ricerca vettoriale sono molteplici. Applicazioni come i sistemi di suggerimento o il riconoscimento delle immagini possono fornire risultati basati sulla somiglianza piuttosto che sulle corrispondenze esatte. Ad esempio, in ambito e-commerce, mostrare prodotti simili alla query di ricerca di un utente può migliorare la soddisfazione dei clienti e aumentare le vendite. Con l'espansione dei dataset, la scalabilità della ricerca vettoriale diventa evidente. Mentre le ricerche di corrispondenze esatte possono diventare progressivamente più lente con l'aumentare dei dati, la ricerca vettoriale mantiene prestazioni di query costanti durante tutto il processo, garantendo risultati tempestivi anche con dataset di grandi dimensioni.

La flessibilità offerta dalla ricerca vettoriale è un altro notevole vantaggio. È compatibile con nuovi tipi di dati, strutture di dati in evoluzione e requisiti di ricerca mutevoli con modifiche minime.

Inoltre, la flessibilità ha un valore inestimabile nel panorama della gestione dei dati in rapida evoluzione, soprattutto perché molti degli odierni modelli di IA e apprendimento automatico, in particolare quelli radicati nel deep learning, producono dati in formato vettoriale. Un database che può eseguire una ricerca nativa attraverso i dati vettoriali diventa indispensabile per applicazioni avanzate come il riconoscimento facciale o il riconoscimento vocale.

An image describing vector search including unstructured data, an encoder, and vector store.

Casi d'uso per i database vettoriali

​Il panorama economico globale è complesso e competitivo, e i dati hanno un ruolo centrale. In passato, molti hanno definito i dati il “nuovo petrolio”. Nell’era della generative AI, gli incorporamenti vettoriali sono il petrolio e i database vettoriali si sono affermati come raffinerie sofisticate, abili nell’elaborazione di dati ad alta dimensione e nell’esecuzione di ricerche per analogia.

​Per i dirigenti, la generative AI non è solo un termine in voga, è una strategia. Per gli sviluppatori, la principale attrattiva dei database vettoriali è l'efficienza. I database tradizionali possono richiedere strutture di query complesse per recuperare dati pertinenti, soprattutto quando si tratta di dataset di grandi dimensioni. I database vettoriali semplificano questo processo, consentendo agli sviluppatori di reperire i dati in base all'analogia, riducendo sia la complessità del codice che il tempo necessario per il reperimento dei dati.

​Esempi di casi d'uso dei database vettoriali

An image describing vector search including unstructured data, an encoder, and vector store.

Riconoscimento di immagini e video: i contenuti visivi dominano la nostra cultura visiva e i database vettoriali vi brillano in modo particolare. Sono abili nel setacciare vasti archivi di immagini e video per individuare quelli che presentano forti analogie con un determinato input. Non è tanto questione di abbinare pixel per pixel, ma piuttosto di comprendere i modelli e le caratteristiche sottostanti. Tali caratteristiche sono fondamentali per applicazioni come il riconoscimento facciale, il rilevamento di oggetti e persino il rilevamento di violazioni del copyright nelle piattaforme multimediali.

Elaborazione del linguaggio naturale e ricerca testuale: sinonimi, parafrasi e contesto possono rendere particolarmente difficoltosa la corrispondenza esatta del testo. Tuttavia, i database vettoriali possono discernere l'essenza semantica di frasi o periodi e sono quindi in grado di identificare corrispondenze che, anche se non identiche in termini di formulazione, sono contestualmente simili. Questa abilità rappresenta un punto di svolta per i chatbot, e fa in modo che rispondano in modo adeguato alle domande degli utenti. Allo stesso modo, i motori di ricerca possono fornire risultati più pertinenti, migliorando l’esperienza dell’utente.

Sistemi di suggerimento: i database vettoriali svolgono un ruolo fondamentale nella personalizzazione. Attraverso la comprensione delle preferenze degli utenti e l'analisi dei modelli, questi database possono suggerire canzoni adeguate ai gusti di un ascoltatore o prodotti in linea con le preferenze di un acquirente. È questione di valutare l'analogia e di fornire contenuti o prodotti che colpiscano favorevolmente gli utenti.

Applicazioni emergenti: l'orizzonte dei database vettoriali è in continua espansione. Nel settore sanitario, agevolano la scoperta di nuovi farmaci analizzando le strutture molecolari alla ricerca di potenziali proprietà terapeutiche. Nel settore finanziario, i database vettoriali aiutano a rilevare le anomalie individuando modelli insoliti che potrebbero indicare attività fraudolente.

Con l’ascesa della generative AI, i database vettoriali emergono come fattori essenziali e aiutano gli sviluppatori a trasformare intricati progetti di intelligenza artificiale in strumenti pratici e orientati al valore.

MongoDB Atlas Vector Search: una svolta epocale

MongoDB Atlas Vector Search è l'ultima novità di MongoDB. Consente ai clienti di creare applicazioni intelligenti basate sulla ricerca semantica e sulla generative AI per qualsiasi tipo di dati. Visita la Guida rapida di Atlas Vector Search e crea il tuo primo indice in pochi minuti.

Storicamente, i team di sviluppo alla ricerca di un database vettoriale per attività come la ricerca di immagini o di analogia efficiente si sono trovati di fronte a un dilemma: optare per un database vettoriale integrato, aggiungere un altro strumento allo stack tecnologico o destreggiarsi tra un mix di strumenti di ricerca e soluzioni open source. L'utilizzo di una ricerca full-text per le funzionalità semantiche spesso implicava per gli sviluppatori un'estesa mappatura dei sinonimi. I limiti erano chiari: se gli utenti non formulavano domande precise, i risultati erano tutt'altro che pertinenti.

Tali sfide comportavano:

  • Un sistema aggiuntivo da supervisionare.
  • La necessità di competenze specialistiche.
  • Lo sforzo mentale derivante dall'aggiornamento costante delle mappature dei sinonimi.
  • Un'esperienza utente scadente nel caso di query imprecise.
  • Tempo prezioso del personale tecnico sottratto alle attività principali.

Atlas Vector Search semplifica la progettazione di applicazioni arricchite dalla ricerca semantica e dall'IA generativa, in grado di elaborare una vasta gamma di tipi di dati, dai video ai contenuti dei social media. Sfruttando la solidità di MongoDB Atlas, Vector Search consente agli sviluppatori di creare strumenti di ricerca all'avanguardia e basati sulla pertinenza su una piattaforma affidabile con un'interfaccia di query unificata.

La ricerca vettoriale fornisce a MongoDB Atlas le conoscenze necessarie per comprendere una query senza la necessità di definire sinonimi. Anche quando gli utenti non sanno cosa stanno cercando, Vector Search è in grado di restituire risultati pertinenti in base al significato della query. Ad esempio, la ricerca di "gelato" restituirebbe "sundae" anche se l'utente non sapesse dell'esistenza dei sundae.

Quando si usa Vector Search, gli incorporamenti vettoriali vengono memorizzati in Atlas insieme ai dati e ai metadati originali. Ciò garantisce che eventuali aggiornamenti o aggiunte ai dati vettoriali vengano sincronizzati istantaneamente, semplificando l'architettura e offrendo un'esperienza di sviluppo unificata.

Con Vector Search, l'indicizzazione e l'esecuzione di query sui dati avvengono utilizzando uno dei più potenti algoritmi di ricerca vettoriale: approximate k-nearest neighbors (o "k-NN", che utilizza grafici Hierarchical Navigable Small World, o HNSW, per trovare analogie vettoriali).

Spiral model illustration

È possibile creare esperienze di ricerca notevolmente migliorate in grado di affrontare casi d'uso impossibili per gli strumenti di ricerca tradizionali, tra cui:

  • Ricerca semantica: questa consente ricerche basate sul contesto. Ad esempio, la ricerca di “gelato” potrebbe produrre risultati come “sundae” senza sinonimi preimpostati.
  • Suggerimenti migliorati: se un utente cerca un tosaerba, il sistema può anche suggerire articoli correlati per la cura del prato.
  • Ricerche su media diversi: che si tratti di cercare immagini che rappresentano "famiglie felici" o di vagliare i log audio alla ricerca di frasi specifiche, Vector Search è all'altezza del compito.
  • Ricerca ibrida: combina i punti di forza della ricerca vettoriale con la tradizionale ricerca full-text, arricchendo i risultati.
  • Memoria a lungo termine per LLM: fornisce agli LLM un contesto di dati aziendali proprietari, perfezionando l'accuratezza dell'output.

Atlas Vector Search è compatibile con i framework applicativi più diffusi, come LlamaIndex e LangChain. Inoltre, si integra perfettamente con i partner dell'ecosistema come Google Vertex AI, AWS, Azure e Databricks, facendo in modo che i dati aziendali proprietari migliorino le prestazioni e l'accuratezza delle applicazioni basate sull'IA.

I database vettoriali, con il loro approccio unico all'archiviazione e al recupero dei dati, stanno cambiando il modo in cui concepiamo i database. La loro capacità di eseguire rapide ricerche per analogia li rende indispensabili nel mondo odierno basato sui dati. E se uniti alla potenza e alla flessibilità di MongoDB Atlas, offrono una soluzione difficile da battere.

Atlas Vector Search è alla base di casi d'uso avanzati, come la ricerca semantica, la ricerca di immagini e la ricerca per analogie, che non possono essere affrontati dalla tradizionale ricerca full-text. Gli sviluppatori possono archiviare i loro incorporamenti vettoriali in MongoDB, integrare le funzionalità di ricerca esistenti con modelli di apprendimento automatico e interrogarli per ottenere risultati pertinenti e contestuali. I responsabili degli ingegneri traggono vantaggio dalla tranquillità connessa all'esecuzione di Atlas: un database multi-cloud moderno e completamente gestito.

Che tu stia creando un sistema di suggerimenti, un motore di ricerca o qualsiasi altra applicazione che richieda una corrispondenza dei dati rapida e accurata, valuta la possibilità di sfruttare la potenza combinata dei database vettoriali e di MongoDB. Il futuro è vettorializzato e MongoDB è qui per aiutarti a esplorarlo.

Domande frequenti

Inizia a utilizzare MongoDB Atlas

Prova gratuita