Sourcesense Blog - Accelera l’evoluzione digitale

Database vettoriali: una marcia in più per le applicazioni basate su AI generativa

Scritto da Sourcesense | Apr 23, 2024 8:44:09 AM

L’introduzione e lo sviluppo commerciale dell’intelligenza artificiale generativa (GenAI) sono stati segnati dal lancio, nel novembre 2022, del chatbot ChatGPT. A poca distanza di tempo, il trend di crescita e diffusione di questa tecnologia si è subito rivelato molto positivo, con imprese di ogni settore oggi determinate a implementare applicazioni GenAI-based, per innovare i propri modelli di business e raggiungere nuovi livelli di produttività ed efficienza nella fornitura di prodotti e servizi. Tuttavia, per esprimere il suo massimo potenziale, la AI generativa necessita di una tecnologia database potente, in grado di gestire con rapidità e intelligenza le query sui dati: questa tecnologia è nota con il nome di “vector database”, o database vettoriale.  

 

Vector database: cos’è, come funziona e perché è importante

Nel contesto di continua espansione ed esplosione dei volumi di dati non strutturati (messaggi email, trascrizioni, immagini, audio, video) e diffusione delle applicazioni basate su AI generativa, i database vettoriali consentono di superare alcune limitazioni critiche dei database tradizionali, come i database relazionali. Questi ultimi, tipicamente, organizzano i dati inserendoli in tabelle formate da righe e colonne. I collegamenti tra i dati appartenenti a tabelle diverse creano relazioni logiche tra le tabelle stesse: questa modalità di archiviazione e reperimento dei dati funziona bene con i dati strutturati, come i dati anagrafici (nome, cognome, indirizzo) e i numeri, facilmente memorizzabili nei campi delle tabelle, che hanno un formato predefinito, come nei fogli elettronici.

Il rigido schema di archiviazione dei database relazionali si rivela però inadatto e inefficiente quando l’esigenza è memorizzare e ritrovare dati non strutturati, che non contengono un modello dati predefinito. Proprio a questo livello, per razionalizzare l’archiviazione e il reperimento dei dati non strutturati, entrano in gioco i database vettoriali.

 

Database vettoriale, le differenze rispetto a database relazionali

Un database vettoriale non utilizza righe e colonne per organizzare i dati, ma li rappresenta come vettori in uno spazio multidimensionale. In maniera analoga ai vettori che in matematica e fisica sono usati per descrivere grandezze che hanno una magnitudine, una direzione e un verso, nel dominio delle discipline di data science e apprendimento automatico (machine learning - ML) un vettore è concepito come una sequenza di numeri, in cui ciascun numero descrive uno specifico attributo di quella determinata tipologia di dato. Utilizzando i vettori, il vector database acquista una flessibilità che gli permette di rappresentare qualsiasi tipologia di dati, inclusi quelli non strutturati. Ad esempio, dovendo catalogare una collezione di immagini, ogni immagine può essere trasformata in formato vettoriale, estraendo le caratteristiche che la definiscono, come colore, forma, struttura, linee, curve, altri elementi grafici, e catturandone l’essenza.

Quando si interroga un vector database, esso non cerca esatte corrispondenze nei dati, come accade nei database convenzionali, ma piuttosto similarità semantiche tra vettori. Ciò permette, da un lato, di migliorare la qualità dei risultati delle ricerche, e, dall’altro, di velocizzare le ricerche stesse, espandendo la scalabilità e le performance del sistema nei casi d’uso in cui si deve gestire vasti dataset, come accade nel training di algoritmi di deep learning e nelle applicazioni di riconoscimento facciale o vocale.

La capacità dei vector database di discernere l’essenza semantica di frasi, proposizioni, e altri contenuti fa naturalmente la differenza anche nel determinare la capacità e qualità delle risposte che un chatbot basato su AI generativa è in grado di fornire alla persona che ha posto una domanda.  

 

Salto di qualità nelle ricerche con MongoDB Atlas Vector Search

Per consentire di ricavare dalle ricerche risultati di elevata qualità, basati sul contesto, sul significato della query e sempre attinenti e soddisfacenti, anche quando gli utenti non sanno definire sinonimi di ciò che stanno cercando, nella piattaforma dati MongoDB Atlas è stata integrata la funzionalità Vector Search: quest’ultima consente alle imprese di implementare applicazioni intelligenti, in grado di gestire ricerche su qualunque tipo di dato, sfruttando la potenza della ricerca semantica e della AI generativa.

Grazie a Vector Search, quando si tratta di implementare un sistema di raccomandazione, un motore di ricerca, o qualunque altra applicazione che richiede risposte rapide e precise alle domande delle persone, gli sviluppatori non hanno più necessità di supervisionare il sistema, non devono sforzarsi mentalmente per aggiornare costantemente le mappature dei sinonimi, e possono concentrarsi sui compiti chiave di ingegnerizzazione dell’applicazione.

In aggiunta, Vector Search è compatibile con framework applicativi come LlamaIndex e LangChain, e si integra in maniera fluida con le piattaforme di vari partner dell’ecosistema tecnologico, tra cui Google Vertex AI, AWS, Azure, Databricks.

 

Scopri di più: