Quest’anno hanno dovuto prendere la sala grande del Sina Bernini Bristol, in effetti eravamo molti di più rispetto all’anno precedente. Dopo L’introduzione di Alberto Fidanza, che è sempre un maestro di cerimonie squisito, la parola è passata a Luigi Fugaro e Mirko Ortensi intervallati da casi di successo come quello di Wind Tre.
Oltre che interessante il caso è stato tempestivo perchè sia Luigi che Mirko ci hanno abbastanza impegnato descrivendoci le novità principali, su tutte Redis Om e Copilot dove hanno tirato fuori una soluzione RAG in 20 minuti netti. Oltre alla rapidità per cui è diventato famoso, Redis sta assumendo sempre più una solidità e una completezza tipica di un prodotto maturo.
Alla fine, complice anche l’incombere del pranzo, che si è confermato tra i primi 5 buffet legati ad eventi tecnici , non sono riuscito a fargli le domande che sono rimaste in punta di penna. Fortunatamente gli ho teso una trappola al caffè: come tutti i cacciatori di dev sanno, i programmatori prendono almeno 10 caffè al giorno, è molto facile quindi catturarli al bar .
Domanda: Redis Copilot è uno strumento ‘dovuto’, ci avete mostrato che la sua forza è nella knowledge base della vostra azienda. Ci saranno dei plugin che lo metteranno a disposizione per gli IDE più diffusi?
Luigi: Qui lascio rispondere MirKo. Supporto sugli IDE, potrebbe non essere una cattiva idea. Mirko che dici?
Mirko : Stiamo lavorando su un’integrazione importante, per assistere gli sviluppatori che utilizzano Redis e le librerie cliente. Sarà reso pubblico presto e sarà una bella sorpresa! L’integrazione con gli IDE è tra le cose che stiamo analizzando per cercare di falicitare il lavoro di integrazione.
Domanda: Redis Om mi sembra molto orientato al mondo Java, gli altri linguaggi verranno presi in considerazione? Quando?
Luigi : Mi sa che ti eri appisolato. Redis OM è già disponibile per Java, JavaScript, .NET (C#) e Python.
So che stavano “lavorando” anche per Golang e Rust (linguaggio usato per fare i moduli di Redis), ma siamo ancora in una fase di idea più che di MVP.
Quindi il quando non si sa… anche se spero presto, visto che ormai Mirko è proprio il product Manager delle librerie/framework client.
Mirko: Siamo attenti alle richieste per le nostre librierie clienti attuali, sia di basso livello che OM.
Domanda: Nella demo di Luigi, trovare delle persone somiglianti è stato abbastanza facile , ma diciamoci la verità, il face recognition è un esempio un pò inflazionato. Potete descrivermi alcuni casi d’uso dei vector database che vi hanno sorpreso?
Luigi: È vero il face detection è sicuramente inflazionato visto che gira dagli inizi degli anni 2000, ma la facilità di fare le query avendo come input un volto, un po’ meno.
Al momento, non c’è stata un caso d’uso sorprendente. I clienti si stanno approcciando ora a questa tecnologia con una serie di progetti pilota tutti abbastanza simili (ChatBot e Document Search su tutti).
Quello che mi ha davvero sorpreso è la rapidità con cui le applicazioni riescono a integrarsi con framework e librerie per i vector database. L’integrazione è diventata molto più facile e diffusa di quanto mi aspettassi.Negli anni passati il tallone d’Achille di ogni tecnologia era l’integrazione con l’ecosistema esistente.
Mirko: Allora, aggiungo alcuni casi d’uso tipici e per alcuni anche “mainstream”
Fraud detection
I modelli di frodi conosciuti possono essere modellati e ricercati per rilevare tentativi di frode.
Feedback loop
L’input (ad esempio, il feedback dei clienti su un prodotto) viene memorizzato nel database così com’è, ma l’output viene accorciato, ripulito e corretto utilizzando l’IA generativa. Modelli di embedding specializzati per l’analisi del sentiment possono essere utilizzati a questo scopo per creare un database di feedback e stati d’animo.
Personalizzazione della descrizione del prodotto per profilo utente
Basato sugli acquisti precedenti dell’utente, in modo da fornire un’esperienza migliore all’utente.
Per la segmentazione degli utenti
Creare embedding dei profili utenti (dalla bio, o dai dati generati dall’utente) allo scopo fi raggrupparli e creare categorie di utenti. Questa è la base per fare raccomandazioni, allo scopo di individuare segmenti basati sul comportamento degli utenti e creare classi di utenti simili. La segmentazione è anche utile per il rilevamento di bot (se un utente è classificato come bot/spam, utenti simili possano essere etichettati come spammer).
Ricerca nei ticketing systems dei contact center
Utilizzando sia l’IA generativa che le tecnologie di embedding, i contact center possono convertire le chiamate telefoniche in testo e le trascrizioni indicizzate per la ricerca semantica, per creare un database di conversazioni ricercabili e supportare gli ingegneri nella risoluzione di nuovi casi utilizzando un database di problemi noti.
Recupero dei documenti e ricerca semantica
La ricerca semantica è un mezzo chiave per costruire sistemi di raccomandazione efficienti, sia testuali (basati sulla descrizione di un prodotto) che visivi (basati sull’aspetto di un prodotto, utilissimo per ricercare
prodotti dalle caratteristiche estetiche simili).
Architetture GenAI
Ne abbiamo parlato e l’argomento è molto popolare. Per supportare l’adozione dell’intelligenza artificiale generativa occorre affiancare all’architettura una base di dati vettoriale, sia per semantic cache, per controlloare i costi degli LLM-as-a-service, che per migliorare la qualità dell’interazione utente-macchina, in termini di velocità di risposta. Ma sono anche altri gli scenario tipici, come Retrieval Augmented Generation or ricerca semantica nello storico della conversazione. La ricerca semantica in queste funzioni è insostituibile.
Un quintetto d’eccezione apparso online per il devbookclub dove Mirko e Luigi hanno presentato il loro libro “Redis Stack for Application Modernization” per chi si fosse perso la live può rivederlo qui:
Domanda: Per lavorare nel cloud con Redis occorre appoggiarsi a uno dei tre grandi attori, non avete intenzione di portare redis come Saas indipendente?
Mirko: In tutta sincerità? Spero proprio di no!
Il nostro mantra è “real-time, real-time, real-time!” Per questo, abbiamo bisogno di latenze bassissime. Se Redis fosse su un’infrastruttura di rete separata rispetto alle applicazioni, non potremmo garantire il real-time, indipendentemente dalla distanza. Utilizzando i 3 grandi provider di cloud pubblico, possiamo sfruttare i meccanismi di peering tra vari account e condividere la stessa rete, assicurando prestazioni in tempo reale.
Domanda: Quali sono secondo voi i futuri sviluppi nel mondo dei db in generale e redis in particolare? Mirko ci ha lasciato molto col fiato sospeso parlandoci di una novità di cui non si può parlare, che tempi si prevedono per svelare il mistero?
Luigi: Lascia a Mirko rispondere alla seconda parte della domanda, visto che è proprio lui che ormai detta le regole.
Per la prima parte della domanda, e qui do la risposta di Luigi Fugaro e basta, bisognerebbe aprire una parentesi e chiuderla dopo un paio di giorni, solo per la premessa. Ma sintetizzando, ormai il mondo va veloce e il mondo digitale non va più veloce, è in continua accelerazione. Se non stai al passo, perdi con la competizione e sparisci, anche se sulla carta hai un prodotto migliore degli altri.
Lo stesso vale per i database. Negli ultimi due anni, le piattaforme dati sono cambiate notevolmente, passando da soluzioni specializzate a strumenti di uso generale. Ora, quasi tutti i database supportano il formato JSON in modo nativo, e i database NoSQL stanno integrando capacità vettoriali. Tuttavia, questi sono solo dettagli tecnici. Non tutte le piattaforme dati possono vantare un’architettura che scala linearmente come Redis, che resta la più veloce e semplice.
I futuri sviluppi dei database seguiranno due approcci: buy vs build. E nel costruire, si potrà scegliere tra il refactoring o lo sviluppo da zero, con l’obiettivo di ottenere versatilità e velocità.
Per Redis, già versatile e veloce grazie al genio di Salvatore Sanfilippo, il focus sarà mantenere la sua semplicità e velocità, con ulteriori capillari ottimizzazioni. Il mercato influenzerà il resto.
Mirko:Ci sono vari approcci nella definizione dell’esperienza definitiva nella gestione dei dati e varie soluzioni, sviluppate come basi di dati relazionali, multi-modello, specializzate come sistemi documentali o vettoriali, orientate allo streaming, grafi, serie temporali. Alcune di queste realtà stanno dirigendosi verso un pubblico più ampio, integrando nuove funzionalità e aprendo a casi d’uso moderni. Il discorso si complica e di molto per discorsi di disponibilità e scalabilità, sicurezza e configurabilità, che devono andare di pari passo all’innovazione introdotta a ritmo sostenuto e spinta da scenari altamente competitivi.
Redis offre un motore semplice ed estremamente efficace per la modellazione e ricerca dei dati, ma coerentemente inserito in un architettura distribuita in Redis Enterprise e Cloud, che permettono di lavorare sin dal concepimento di un progetto sul proprio portatile fino a deployments su K8s, on-premise o cloud, oppure usando il DBaaS firmato Redis, Redis Cloud, in architetture ibride e multi cloud. In soluzioni per single regioni o multi regione, con la ridondanza geografica Active-Active. Insomma, l’ecosistema Redis offre possibilità concrete di creare architetture distribuite su scala planeteria e, ovviamente, in tempo reale.
Alla fine
Mirko e Luigi sono stati molto veloci a rispondere alle mie domande, il prodotto sembra influenzare tutta l’azienda, ma d’altra parte anche io avevo una notevole fretta di installare e provare tutte le ultime feature, anche se credo che le novità non siano finite qui e che presto ci saranno altre implementazioni di tutto rispetto.