Full RAG: Un'architettura moderna per l'iperpersonalizzazione
La personalizzazione è la chiave per la fidelizzazione dei clienti a lungo termine per molti prodotti incentrati sull’utente. Ad esempio, Netflix o Disney possono garantire la soddisfazione degli utenti attraverso consigli cinematografici personalizzati; le app di food delivery possono suggerire ristoranti e piatti in base agli ordini passati, ecc. L’Intelligenza Artificiale offre diverse tecniche per sfruttare i dati storici del cliente e fornire personalizzazione nei prodotti.
Mike Del Balso, CEO e Co-fondatore di Tecton, ha recentemente tenuto un intervento sull’uso dell’architettura RAG per migliorare la personalizzazione dei motori di raccomandazione AI al Unstructured Data Meetup ospitato da Zilliz.
Mike ha condiviso un fatto interessante che aveva letto in un report di consulenza: “Ci saranno 5 trilioni di dollari di valore aggiunto al PIL globale derivanti dalla personalizzazione basata sull’AI.” Ha anche presentato un’architettura basata sulla Retrieval Augmented Generation(RAG) per ottenere l’iper-personalizzazione.
Questo post riepilogherà i suoi principali approfondimenti sulle personalizzazioni basate sull’AI e su come le aziende possono potenziare i propri prodotti con l’intelligenza artificiale.
Guarda il replay dell’intervento di Mike
Personalizzazione con modelli di AI generativa
Mike inizia con un esempio di caso d’uso: costruire un prodotto simile a Booking.com o MakeMyTrip ma con consigli di viaggio iper-personalizzati.
I Large Language Models (LLMs) come GPT sono addestrati su vasti corpora testuali e possono generare consigli di viaggio. Ad esempio, se interroghiamo un LLM, “Dove dovrei andare questa estate ?” otterremo risposte basate sulle destinazioni estive più popolari, come Parigi o Tokyo. Ma abbiamo bisogno di un modo per adattare questi consigli ai singoli clienti.
Sono disponibili due tecniche per migliorare il tuo modello di raccomandazione: fine-tuning e prompt engineering.
Sebbene queste tecniche possano rendere la risposta del modello più pertinente in base ai dati di addestramento disponibili, non forniscono un modo per fornire i dati di input del cliente. Full-RAG è un metodo che può risolvere questo problema. Prima di capire che cos’è Full-RAG e come funziona, riepiloghiamo come funziona il RAG tradizionale.
Introduzione al RAG
Retrieval Augmented Generation (RAG) è una tecnica che migliora la risposta dei large language models in termini di qualità e rilevanza. Un motore RAG di solito è costituito da due componenti chiave: un Retriever e un Generator. Un retriever combina un modello di embedding e un database vettoriale come Milvus o Zilliz Cloud, e un generator è l’LLM.
Nella fase di retrieval, effettuiamo una ricerca nel database vettoriale che memorizza tutti i documenti e selezioniamo quelli più rilevanti. I documenti o candidati Top-K vengono selezionati e poi forniti come input al modello di AI generativa. Il modello genera una risposta coerente utilizzando la query e i candidati Top-K.
La pipeline RAG qui sotto spiega come funziona il RAG tradizionale.
Tutti i documenti vengono trasformati in embedding vettoriali e memorizzati in un database vettoriale.
Anche la query dell’utente viene convertita in un embedding vettoriale.
Usiamo questo vettore per recuperare i candidati più simili dal database vettoriale.
Questi candidati principali, come Parigi e Tokyo, vengono inviati a un LLM, che genera la risposta.
Tuttavia, i migliori candidati recuperati qui non hanno contesto sui gusti e le avversioni del particolare utente, quindi sono “Candidati non contestualizzati.”
Full-RAG: Aggiungere contesto nella pipeline di recupero
Poiché i candidati recuperati in una pipeline RAG di base sono non contestualizzati, dobbiamo aggiungere quel contesto per ottenere risposte migliori. L’obiettivo è costruire un motore con alto contesto e competenza.
Mike sottolinea come fornire contesto possa arricchire le informazioni recuperate: “_Il contesto è l’informazione rilevante che i modelli di IA usano per comprendere una situazione e prendere decisioni.”
Nell’esempio precedente del caso d’uso della costruzione di un AI Travel Agent, possiamo aggiungere contesto al modello in due modi:
1: Aggiungere contesto dei candidati (località): Quando consiglia una città, il modello dovrebbe essere consapevole dei dettagli delle dinamiche. Ad esempio, il meteo attuale, il tipo di attività, le cucine locali famose, un budget approssimativo, siti storici o del patrimonio da visitare, ecc. Queste informazioni aiutano gli utenti a pianificare le loro vacanze.
- Contesto personalizzato dell’utente: Si riferisce al fornire informazioni su chi è l’utente e quali sono le sue preferenze e i suoi vincoli. Queste informazioni arricchiscono i migliori candidati recuperati con informazioni a livello di utente. Ad esempio, fornendo contesto su domande come:
L’utente è interessato alla storia?
Quale clima preferirebbe l’utente?
L’utente sarà interessato ad attività sportive avventurose?
Che tipo di alloggio preferisce?
Con il contesto su ciò che una città offre e su ciò che l’utente desidera, il modello di IA può abbinare meglio la destinazione adatta. Inoltre, può suggerire attività, eventi e opzioni di alloggio su misura per le sue preferenze.
Come possiamo costruire contesti personalizzati straordinari con Tecton?
Tecton ha sviluppato una piattaforma di feature per integrare diverse fonti di dati aziendali. Puoi creare e gestire facilmente il contesto personalizzato che dobbiamo fornire all’algoritmo di raccomandazione. La piattaforma di feature prende il candidato e i dati utente rilevanti e recupera candidati contestualizzati da un database vettoriale come Milvus.
I contesti personalizzati possono essere costruiti e gestiti a quattro livelli generali.
Livello 0: Base
Questo è il livello di base o il punto di partenza, senza informazioni aggiuntive. Il diagramma seguente mostra come funziona un RAG con zero informazioni contestuali.
Livello 1: Contesto batch
Il livello successivo fornisce dati storici, come cronologia dei viaggi, attività preferite, ecc. Implementare questo livello è impegnativo, poiché devi costruire pipeline per recuperare e unire dati da diversi warehouse o data lake. Dovresti anche creare dataset di valutazione storici per benchmarking e sviluppo.
La piattaforma di feature di Tecton semplifica il processo di costruzione del contesto batch. Puoi iniziare con una semplice definizione di contesto come “Quali sono gli ultimi cinque luoghi che questo utente ha visitato?”. La piattaforma fornisce anche un SDK Python per codificare la tua definizione e supporta la lettura e la valutazione dei dati in tempo reale.
A questo punto, il tuo LLM di raccomandazione può trarre insight dal contesto storico e fornire suggerimenti. Ad esempio, se l’utente ha visitato molti siti storici in passato, suggerirebbe di visitare i templi dell’antica città di Kyoto.
Livello 2: Contesto di dati batch + streaming
Aggiungere informazioni in streaming sull’utente, come i film, i video e i blog che guarda e legge, può aiutare il nostro modello a comprendere i suoi interessi attuali. Queste informazioni in streaming possono includere i dati di ricerca dell’utente, i dati di acquisto o le interazioni di sessione sulle pagine web.
La sfida qui è incorporare pipeline di dati in streaming e metterle in produzione. Durante l’implementazione su larga scala, il costo sia per la costruzione del modello sia per l’inferenza in tempo reale può essere più elevato.
Tecton semplifica la creazione di contesto in streaming. Ad esempio, inizia con una semplice definizione del contesto: "Nell’ultima ora, su quali argomenti l’utente ha guardato un video?”. Questo può essere codificato nell’SDK Python della piattaforma. Possiamo testarlo, distribuirlo in produzione e usarlo in tempo reale. La raccomandazione in questa fase è significativamente migliore della precedente. Ad esempio, se l’utente ha cercato voli per il Giappone e ama la cucina raffinata, l’LLM creerà un’esperienza gastronomica in Giappone.
Livello 3: Dati batch + in streaming + Contesto in tempo reale
La fase successiva consiste nell’introdurre dati in tempo reale per ottenere un segnale di alta qualità. Questo contesto può aiutare il modello a comprendere meglio l’intento dell’utente. Questi dati includono le query di ricerca dell’utente e la consultazione in tempo reale di dati provenienti da altre applicazioni. Ad esempio, dobbiamo consultare i prezzi dei voli in tempo reale per suggerire l’opzione più economica.
La sfida più grande è integrare le fonti di dati in tempo reale di terze parti e gestire il compromesso tra velocità e costi. Con raccomandazioni personalizzate in tempo reale, gli utenti le troveranno molto preziose perché fanno risparmiare loro tempo invece di fare ricerche da soli.
Puoi anche aggiungere un contesto a livello di feedback sopra questo. Il feedback dell’utente sulla raccomandazione fornita può aiutare il modello a orientarsi nella direzione giusta.
Conclusione
Il contesto può migliorare la personalizzazione dell’AI in numerosi casi, come esperienze di acquisto su misura, creazione di chatbot, consulenza finanziaria personale o raccomandazione di nuovi film. Livelli più elevati di personalizzazione migliorano l’esperienza del prodotto, ma la difficoltà di costruzione aumenta parallelamente.
RAG è una tecnica importante per fornire agli LLM informazioni aggiuntive specifiche del dominio, per ottenere informazioni migliori e più pertinenti. È anche la chiave per la fidelizzazione dei clienti a lungo termine per molti prodotti GenAI incentrati sull’utente.
Un RAG standard comprende un retriever basato su database vettoriale e un generatore LLM. Tutte le informazioni aggiuntive sono memorizzate in un database vettoriale come Milvus, e l’LLM genera risposte basate sulle informazioni recuperate che sono pertinenti alle query degli utenti.
Sebbene sia efficace nell’affrontare le allucinazioni, un sistema RAG standard non è sufficiente in casi d’uso come la fornitura di raccomandazioni iper-personalizzate. Questo perché i candidati top-k recuperati potrebbero non avere un contesto più personalizzato sui gusti e le preferenze del particolare utente.
Tecton fornisce una soluzione che assembla il contesto personalizzato per gli LLM, semplificando il processo per le aziende. Tuttavia, rimangono sfide significative, come il controllo delle versioni, la governance dei modelli e il debugging per trovare la causa principale.
Per maggiori informazioni su questo argomento, guarda la registrazione video del meetup di Mike.
Continua a leggere

Zilliz Cloud Delivers Better Performance and Lower Costs with Arm Neoverse-based AWS Graviton
Zilliz Cloud adopts Arm-based AWS Graviton3 CPUs to cut costs, speed up AI vector search, and power billion-scale RAG and semantic search workloads.

Cosmos World Foundation Model Platform for Physical AI
NVIDIA's Cosmos platform enables safe, digital twin training of GenAI models for physical applications, overcoming data scarcity and safety challenges.

OpenAI o1: What Developers Need to Know
In this article, we will talk about the o1 series from a developer's perspective, exploring how these models can be implemented for sophisticated use cases.


