Per ovviare a questa mancanza di contesto specifico del dominio, l'utilizzo della RAG avviene come descritto di seguito:
- Recuperiamo le descrizioni dei prodotti più pertinenti da un database (spesso un database con ricerca vettoriale) contenente il catalogo prodotti più recente
- Quindi inseriamo (arricchiamo) queste descrizioni nel prompt del LLM
- Infine, chiediamo a LLM di "fare riferimento" a queste informazioni di prodotto aggiornate quando risponde alla domanda
Quanto descritto in precedenza porta a tre considerazioni:
- La RAG non è altro che una tecnica riguardante il tempo di inferenza (non richiede riaddestramento). I passaggi da 1 a 3 di cui sopra avvengono tutti durante il tempo di inferenza. Non sono necessarie modifiche al modello (ad es. modifica dei pesi del modello).
- La RAG è ideale per le personalizzazioni in tempo reale di quanto generato dal LLM. Poiché non è necessario ripetere l'addestramento e tutto viene eseguito tramite l'apprendimento contestuale, l'inferenza basata su RAG è veloce (latency inferiore a 100 ms) e adatta per essere utilizzata all'interno di applicazioni operative in tempo reale.
- La RAG rende più accurati e utili i contenuti generati dal LLM. Ogni volta che il contesto cambia, l'LLM genererà una risposta diversa. Pertanto, con la RAG tutto ciò che viene generato dal LLM dipenderà dal contesto reperito.
Ridurre al minimo la complessità della RAG, rendendola comunque sufficientemente sofisticata per ottenere prestazioni affidabili su larga scala.
Per avere un'architettura RAG performante, ma di complessità ridotta, è necessario scegliere i sistemi giusti. Quando si scelgono i sistemi, o le tecnologie, per implementare una RAG, è importante scegliere sistemi, o un sistema, in grado di ottenere quanto segue:
- Supportare i nuovi requisiti dei dati vettoriali senza aggiungere proliferazione, costi e complessità eccessive alle operazioni IT.
- Assicurarsi che le esperienze di IA generativa create abbiano accesso ai dati live con una latency minima.
- Avere la flessibilità necessaria per soddisfare i nuovi requisiti di dati e app e allo stesso tempo consentire ai team di sviluppo di rimanere agili.
- Attrezzare al meglio i team di sviluppo per portare l'intero ecosistema IA nei loro dati, e non il contrario.
Le opzioni spaziano dai database vettoriali monofunzionali ai database documentali e relazionali con funzionalità vettoriali native, ai data warehouse e ai lakehouse. Tuttavia, i database vettoriali monofunzionali aggiungeranno immediatamente proliferazione e complessità. I data warehouse e i lakehouse sono intrinsecamente progettati per query di tipo analitico a esecuzione prolungata su dati storici, in contrasto con i requisiti di volume elevato, bassa latenza e dati aggiornati delle app di IA generativa basate su RAG. Inoltre, i relational database offrono schemi rigidi che limitano la flessibilità di aggiungere facilmente nuovi dati e requisiti delle app. In questo modo i database documentali possono usufruire di funzionalità vettoriali native o integrate. In particolare, MongoDB è costruito sul modello di documento flessibile e dispone di una ricerca vettoriale nativa, pertanto è un database vettoriale per la RAG, oltre a essere il database leader del settore per qualsiasi applicazione moderna.
Portare la potenza degli LLM a un livello superiore con funzionalità aggiuntive nell'implementazione della RAG.
Oltre ai componenti principali, ci sono una serie di funzionalità aggiuntive che possono essere aggiunte a un'implementazione RAG per portare la potenza degli LLM a un livello superiore. Alcune di queste funzionalità aggiuntive includono:
- Multimodalità: i modelli RAG multimodali possono generare testo basato su dati sia testuali che non testuali, come immagini, video e audio. L'archiviazione di questi data multimodali insieme ai dati operativi live semplifica la progettazione e la gestione dell'implementazione della RAG.
- Definire filtri aggiuntivi nella query di ricerca vettoriale: la possibilità di aggiungere la ricerca per parole chiave, la ricerca geospaziale e i filtri per elemento e a intervallo sulla stessa query vettoriale può aggiungere precisione e velocità al contesto fornito al LLM.
- Specificità del dominio: i modelli di RAG specifici per il dominio possono essere addestrati sui dati di un dominio specifico, come la sanità o la finanza. Ciò consente al modello RAG di generare testo più accurato e pertinente per quel dominio.
Assicurarsi che le applicazioni basate sull'IA generativa rimangano sicure, ad alte prestazioni, affidabili e scalabili anche quando disponibili a livello globale.
È possibile intervenire in vari modi per assicurarsi che le applicazioni basate sull'IA generativa create con una RAG rimangano sicure, ad alte prestazioni, affidabili e scalabili anche quando disponibili a livello globale. Per esempio:
- Utilizzare una piattaforma sicura e dotata delle adeguate capacità di governance dei dati: la governance dei dati è un termine ampio che comprende tutto ciò che si fa per garantire che i dati siano sicuri, privati, accurati, disponibili e utilizzabili. Include i processi, le politiche, le misure, la tecnologia, gli strumenti e i controlli relativi al ciclo di vita dei dati. Pertanto, la piattaforma dovrebbe essere sicura per impostazione predefinita, disporre di crittografia end-to-end e aver raggiunto la conformità ai massimi livelli.
- Utilizzare una piattaforma basata su cloud: oltre alle funzionalità di sicurezza e scalabilità fornite dalle piattaforme basate su cloud, i principali provider cloud sono tra i principali innovatori per quanto riguarda l'infrastruttura IA. La scelta di una piattaforma indipendente dal cloud consente ai team di trarre vantaggio dalle innovazioni dell'IA indipendentemente da dove arrivano.
- Utilizzare una piattaforma in grado di isolare l'infrastruttura del carico di lavoro vettoriale da altre infrastrutture di database: è importante che i normali carichi di lavoro OLTP e i carichi di lavoro vettoriali non condividano l'infrastruttura, in modo che i due carichi di lavoro possano girare su hardware ottimizzato per ciascuno di essi, e che non competano per le risorse pur essendo in grado di sfruttare gli stessi dati.
- Utilizzare una piattaforma che è stata collaudata su larga scala: un provider può sempre affermare di essere in grado di operare su larga scala, ma ha effettivamente una comprovata esperienza con clienti aziendali globali? Ha una tolleranza ai guasti mission-critical e la capacità di espandersi in scala orizzontalmente e può dimostrarlo con esempi di clienti?
Seguendo questi suggerimenti, è possibile creare applicazioni basate sull'IA generativa con architetture RAG sicure, ad alte prestazioni, affidabili e scalabili.
Con l'introduzione di Atlas Vector Search, la principale piattaforma di dati per sviluppatori di MongoDB fornisce ai team un database vettoriale che consente di creare architetture RAG sofisticate e ad alte prestazioni, in grado di operare su larga scala. Il tutto mantenendo i più alti livelli di sicurezza e indipendenza dal cloud, e soprattutto senza aggiungere complessità e costi inutili.