I moderni modelli generativi e, in generale, le più avanzate soluzioni basate sull'intelligenza artificiale, nascono per snellire i processi produttivi, semplificare i flussi di lavoro, aumentare la produttività ed estrarre valore da informazioni che, diversamente, sarebbero irrecuperabili utilizzando metodi di elaborazione di tipo tradizionale. Le Vector Search di Oracle rivoluzionano letteralmente la ricerca semantica permettendo l'estrazione di informazioni utili per il business anche da sorgenti non omogenee, dati non strutturati e fonti multimodali.
Cosa significa tutto questo? In poche parole, che gli sviluppatori – abituati a lavorare con query SQL più o meno strutturate – possono creare applicazioni e generare interrogazioni così come fatto sino ad oggi, raccogliendo e combinando informazioni da fonti precedentemente non "accoppiabili". Come "bonus", si possono avanzare richieste complesse usando il linguaggio naturale, quindi anche senza digitare una sola riga di codice.
Cos'è un Autonomous Database
Prima di concentrarsi sulle Vector Search, Çetin Özbütün, Executive Vice President, Data Warehouse and Autonomous Database Technologies Oracle, spiega che l'obiettivo storico dell'azienda è quello di fornire database in grado di adattarsi alle specifiche esigenze di ciascuna realtà d'impresa.
D'altra parte lo stesso cofondatore e CTO di Oracle, Larry Ellison, dichiarava a suo tempo che le tecnologie legate al concetto di Autonomous Database rappresentano una delle intuizioni di maggior successo nell'intera storia dell'azienda. La combinazione tra questa tecnologia e le soluzioni basate su machine learning e intelligenza artificiale è destinata a rivelarsi davvero esplosiva. In senso positivo.
Un Autonomous Database è un database in-cloud che utilizza funzionalità di machine learning per automatizzare le attività di backup, aggiornamento, messa in sicurezza e tutte le altre operazioni di gestione quotidiane che tradizionalmente i DBA (Database Administrator) sono tenuti a eseguire manualmente.
Gli Autonomous Database Oracle nel loro complesso, sostengono qualcosa come circa 13 miliardi di query ogni giorno a fronte di una disponibilità praticamente pari al 100% o quasi (tempi di manutenzione compresi) in tutte le regioni.
Inoltre, come sottolinea Özbütün, attualmente l'88,2% delle problematiche relative ai database dei clienti sono automaticamente rilevate e risolte in maniera proattiva molto prima che gli utenti possano rendersene conto. La restante parte è gestita con un riscontro mediamente 4 volte più rapido rispetto al tradizionale approccio on-premises.
Çetin Özbütün, Executive Vice President, Data Warehouse and Autonomous Database Technologies Oracle (foto: Michele Nasi, IlSoftware.it – BlazeMedia).
Come Oracle porta l'intelligenza artificiale sui dati delle aziende
Abbiamo visto nell'articolo incentrato sul futuro dell'intelligenza artificiale secondo Oracle, che l'IA offre anche la possibilità di migliorare i modelli generativi "generalisti" estendendone le competenze e le capacità grazie ai dati dell'azienda. Senza neppure usare codice SQL, la tecnologia Oracle permette di parlare in italiano con il database dell'impresa: le Oracle Select AI permettono di inviare query usando il linguaggio naturale.
Questo rivoluzionario approccio fa sì che per estrarre informazioni di valore non vi sia neppure bisogno di stabilire dove e in che modo i dati sono memorizzati. Utilizzando infatti un Large Language Model (LLM), la richiesta è automaticamente trasformata in SQL.
Nessun dato aziendale è condiviso con i fornitori dei LLM durante l'utilizzo di Oracle Cloud Infrastructure (OCI) Generative AI e la protezione delle informazioni è garantita da Oracle Database Security.
Per dimostrare le potenzialità di Select AI, Özbütün ha illustrato il funzionamento di un'applicazione esemplificativa sviluppata con Oracle APEX, piattaforma di sviluppo low-code che consente di realizzare progetti articolati riducendo al minimo l'inserimento di codice. Con uno sforzo esiguo, gli sviluppatori e gli amministratori possono mettere a punto applicazioni che si interfacciano con i dati aziendali rispondendo in tempo reale alle richieste degli utenti.
È possibile scegliere tra un'ampia gamma di LLM, optando per il modello più adatto alla propria attività con Select AI utilizzabile sull'intera piattaforma Autonomous Database Oracle.
Il ruolo dei vettori nell'intelligenza artificiale
Nel campo dell'intelligenza artificiale e nella "ricetta" che Oracle propone ai suoi clienti, i vettori si riferiscono a un nuovo tipo di dati e di indici vettoriali integrati nel prodotto Oracle Database.
Nella loro forma più semplice, spiega Özbütün, i vettori non sono altro che sequenze numeriche utilizzate per rappresentare il contenuto semantico di oggetti come immagini, documenti, video e così via.
Ciascun vettore serve a "catturare" le caratteristiche più importanti di ciascuna tipologia di dato. Semplificando l'approccio, in modo da renderlo di facile comprensione, l'intelligenza artificiale assegna una sorta di identificativo numerico a ogni aspetto contenuto in un documento, in un'immagine, in un video e così via.
Prendendo ad esempio l'immagine di un'abitazione, l'IA può creare un vettore che raccoglie le informazioni sulla tipologia del tetto, sul numero di piani, sui materiali costruttivi e via dicendo.
Rappresentazione multidimensionale di qualunque oggetto
Al termine dell'analisi svolta dall'algoritmo di intelligenza artificiale, ciò che si ottiene è un vettore composto da una sequenza più o meno lunga di numeri. Ogni vettore rappresenta una dimensione: nelle soluzioni Oracle possono essere utilizzati centinaia o migliaia di vettori, andando così a ottenere una rappresentazione multidimensionale delle caratteristiche di ciascun oggetto.
Tornando all'esempio dell'abitazione e limitandoci a disegnare un grafico bidimensionale, si supponga di sottoporre all'algoritmo di IA un set di immagini che raffigura case di diversa tipologia. Proprio grazie all'IA, gli edifici realizzati con uno stile simile saranno automaticamente "accoppiati" mentre a maggiore distanza l'una dall'altra si troveranno le abitazioni costruite con un approccio differente.
Se si pensa al caso del linguaggio naturale, l'IA è abile – usando lo stesso principio – nell'individuare parole che hanno un significato simile, cioè sono semanticamente più vicine tra loro.
Nell'immagine si vedono, ad esempio, nomi di frutti, animali e stati, separati tra loro in modo chiaro e netto. All'interno dei vari insiemi, termini come gatto e leone (entrambi felini) sono più vicini rispetto a cane e lupo (a loro volta affini). Allo stesso modo fragole, lampone e mora sono più simili rispetto, per esempio, a kiwi, mela, pera e così via.
Come cambia la ricerca in ambito business con AI Vector Search
Le ricerche che combinano l'utilizzo dei dati di business con le informazioni semantiche, sono più efficaci se entrambe le tipologie di dati sono conservate assieme. Ecco perché, racconta Özbütün, Oracle ha voluto aggiungere il supporto per i vettori nei database dell'azienda. Il concetto di database convergente continua quindi ad evolvere sfruttando un meccanismo ultra-potente che apre a nuovi entusiasmanti (e sconfinati) scenari.
I vettori usati per le funzionalità di IA, infatti, consentono l'abilitazione di funzionalità di ricerca evolute, senza la necessità di spostare i dati originali a partire dai quali i vettori sono stati generati.
Con un semplice statement CREATE TABLE
, gli sviluppatori che utilizzano soluzioni Oracle possono creare una tabella, a livello di database, contenente anche il nuovo tipo di dato "vettore".
Özbütün torna sull'esempio delle case citato in precedenza. Una volta caricati i dati, è possibile mettere a terra delle query SQL, più o meno complesse, che consentano di individuare gli elementi semanticamente simili a un oggetto passato come input.
Ricerca delle relazioni semantiche a braccetto con i dati di business
Con l'introduzione di Oracle Database 23c, l'azienda ha aggiunto la nuova funzione vector_distance
che calcola la distanza tra due vettori. La funzione consente cioè di stabilire quanto due elementi sono simili dal punto di vista semantico.
Nell'esempio, l'input_vector
è il vettore che descrive l'abitazione fornita in ingresso dall'utente mentre house_vector
corrisponde all'insieme di vettori che caratterizzano ogni singola casa contenuta nel database.
La clausola SQL ORDER BY
applicata sulla funzione vector_distance
, permette appunto di ottenere in risposta – nella propria applicazione – i risultati che sono più simili all'input fornito. Con poche righe aggiuntive, spiega Özbütün, si può inoltre combinare l'innovativa ricerca semantica con una serie di filtri applicati sui dati di business.
Come si vede nell'immagine che pubblichiamo di seguito, l'istruzione SQL – e quindi l'applicazione – non solo cercano un'immagine simile a quella raffigurata ma individuano le abitazioni che corrispondono alla fascia di prezzo e alla località impostate.
È facilmente intuibile che l'utilizzo dei vettori e, quindi, la realizzazione di ricerche multidimensionali che, all'atto pratico, offrono risultati utili in un tempo ridottissimo, ha comportato per Oracle un lavoro di ingegnerizzazione tutt'altro che banale.
Oltre al tipo di dato vettore, i tecnici Oracle hanno infatti introdotto un innovativo sistema di indicizzazione vettoriale che guarda all'ottimizzazione delle performance. La base sono gli strumenti volti al miglioramento delle prestazioni che Oracle Database già integra e che hanno fatto registrare l'introduzione di continue migliorie nel corso degli anni.
Come trarre vantaggio dall'uso dei modelli generativi sui dati aziendali
L'utilizzo della soluzione AI Vector Search di Oracle mette gli sviluppatori e gli utenti finali nelle condizioni di estrarre informazioni utili dai dati aziendali utilizzando il linguaggio naturale, come abbiamo già spiegato in precedenza.
La domanda posta dall'utente (prompt) e i dati rilevanti (a partire dai quali si sviluppa l'attività di inferenza) possono essere passati all'IA generativa al fine di ottenere risposte ben argomentate, pertinenti, precise e affidabili.
Un LLM "generalista", come i tanti modelli open source oggi disponibili, non è in grado di fornire risposte adeguate, "cucite" sui dati della singola azienda. Questo perché non è stato addestrato sui dati dell'impresa, che in tanti casi hanno un valore inestimabile, bensì ha appreso le sue "conoscenze" da fonti pubbliche.
È proprio qui che entra in gioco Oracle Database, con il supporto per i vettori. I cosiddetti Vector Database migliorano le performance dell'IA generativa garantendo una qualità delle risposte superiore: queste sono infatti prodotte proprio a partire dai dati che custodisce ogni singola azienda. Spesso si tratta di documenti riservati, del frutto della ricerca e sviluppo di anni di lavoro, della proprietà intellettuale dell'impresa.
Retrieval Augmented Generation (RAG)
L'approccio brevemente descritto si chiama Retrieval Augmented Generation (RAG): la domanda posta dall'utente è codificata sotto forma di vettore dall'algoritmo di IA ed è inviata al Vector Database Oracle. Quest'ultimo si occupa di andare alla ricerca di contenuti (ad esempio documenti) che sono più vicini, dal punto vista semantico, alla richiesta dell'utente. Infine, il contenuto viene inviato all'IA generativa per comporre la risposta da offrire come output.
L'IA generativa utilizza il contenuto in aggiunta alla conoscenza generale di cui dispone per assicurare la produzione di una risposta informata da proporre all'utente.
In definitiva, Oracle Autonomous Database e Oracle Cloud Infrastructure (OCI) Generative AI mettono nelle mani di professionisti e aziende un ampio ventaglio di soluzioni evolute che sfruttano l'intelligenza artificiale e sono integralmente basate sul cloud Oracle. Grazie alle caratteristiche descritte in precedenza, Oracle democratizza l'accesso all'intelligenza artificiale e rende possibile estrarre informazioni di valore dati dati di business, facendo leva soprattutto su un meccanismo che affonda le sue radici sulla comprensione del significato, quindi sulle relazioni semantiche tra ogni tipo di elemento.
L'immagine in apertura è tratta da "5 advantages of using an integrated vector database for AI development" (Oracle).