Nello sviluppo impetuoso dell’intelligenza artificiale generativa, le applicazioni RAG (Retrieval Augmented Generation) sono tra quelle che stanno ottenendo più attenzione e utilizzo pratico immediato.
I sistemi RAG utilizzano la potenza espressiva dei Large Language Model, la loro capacità di rispondere in maniera compiuta a richieste formulate in linguaggio naturale, per ottenere informazioni mirate, utili ed effettive in un contesto specifico e non generico.
Applicazioni RAG tipiche includono assistenti virtuali in ambito utility ed aziendali: per esempio un utente o il cliente stesso può ottenere risposte mirate sulle sue pratiche, sullo storico dei consumi; oppure il manager di una catena alberghiera può effettuare interrogazioni di ogni tipo sulle recensioni dei clienti, sia raccolte come testo libero che come questionari.
Architettura Rag
L’architettura dei sistemi RAG è relativamente semplice: l’informazione è conservata in database vettoriali, dove l ‘informazione testuale (non strutturata) viene indicizzata in forma di embeddings; il database vettoriale fornisce un contesto idoneo a rispondere alle domande selezionando i record adattai a rispondere alla domanda utilizzando la similiarità tra embeddings domanda/record: Il sistema LLM genera la risposta utilizzando il prompt applicati al contesto selezionato.
Il caso d’uso BiStrategy: Automatic Corporate Climate Analysis
by employees reviews and reports (ACCA)
l reparto risorse umane di un nostro partner aveva l’esigenza di raccogliere, conservare ed interpretare i report e i feedback del personale, per poter estrarre e utilizzare le informazioni rilevanti, determinare il sentiment aziendale, intercettare le eventuali criticità e ricevere spunti di miglioramento. La gestione dei feedback del personale è un attività onerosa e critica al crescere delle dimensione della azienda: le recensioni, i report, i questionari, devono essere semplificati, importati ed interpretati per rendere effettivo il loro utilizzo. Il sistema ACCA, attraverso task di intelligenza artificiale, esegue tutte queste funzioni automaticamente, senza ‘impiego personale specializzato e di sistemi informativi ad hoc per l’acquisizione, l’elaborazione, la conservazione e la catalogazione delle recensioni.
In sintesi il sistema ACCA :
Acca effettua una sintesi mirata (summarization) delle recensioni libere, escludendo i contenuti prolissi e non rilevanti, ed estrae automaticamente categorie di interesse della vita aziendale (che non sono predeterminate), oltre alla accezione positiva, negativa o neutra per ciascuna di essa (sentiment).
Le recensioni possono essere fornite in una pluralità di formati: report in forma libera ed in diversi formati (testo, pdf, word), recensioni raccolte con app di gradimento, questionari a lettura multipla.
L’informazione viene immagazzinata nel DB vettoriali in forma non strutturata (il testo delle recensioni) e strutturata (categoria, sedi sentiment), senza ricorrere a a database tradizionali.
Testi e categorie nel sistema ACCA
Nella sua fase generativa, ACCA si avvale di prompt per l’estrazione delle categorie di maggiore interesse, per estrarre questioni mirati alle realtà aziendali di riferimento, per estrarre report di tipo statistico, ed infine fornisce un assistente virtuale alle risorse umane per effettuare interrogazioni libere, di natura semantica, sul corpus delle recensioni che viene mantenuto all’interno di ACCA*.
Report di tipo grafico in ACCA
Questionari
ACCA è dotate di alcune funzioni di manutenzione del corpus di recensioni, come l’identificazioni di recensioni duplicate, in modo che gli utilizzatori possono aggiornare liberamente il corpus di recensioni con importazioni tipo batch, o alimentando il sistema tramite API da applicazioni web o mobile.
*) LLM di riferimento e’ Llama-3-b-instruct, ChromaDB come db vettoriale
L’architettura