GraphRAG
Nel panorama dell’intelligenza artificiale applicata alle imprese, il recupero delle informazioni rappresenta uno degli elementi più importanti per la realizzazione di applicazioni realmente efficaci. I sistemi basati sul modello RAG (Retrieval-Augmented Generation) hanno reso possibile l’accesso ai contenuti aziendali tramite linguaggio naturale, ma mostrano alcuni limiti quando devono collegare concetti distanti, interpretare gerarchie complesse o navigare relazioni articolate presenti in documenti lunghi e altamente strutturati.
Per affrontare queste criticità, il progetto descritto in questo articolo adotta un approccio GraphRAG che combina le capacità di ragionamento di Gemini con la struttura relazionale di Neo4j, uno dei database a grafi più diffusi in ambito enterprise.
Vedremo come funziona l’architettura, quali sono i principali fattori di costo e perché l’utilizzo di strumenti di parsing specializzati come LlamaParse può contribuire a migliorare sia l’efficienza economica sia la qualità del risultato finale.
Dalla Documentazione al Knowledge Graph
L’intero sistema si basa su una pipeline asincrona composta da tre fasi principali.
1. Parsing e segmentazione del documento
Il processo inizia con il caricamento del documento sorgente, ad esempio un manuale tecnico o un PDF di oltre cento pagine. Il contenuto viene suddiviso in frammenti logici di testo, comunemente chiamati chunk, che possono essere elaborati singolarmente.
2. Estrazione di entità e relazioni con Gemini
Ogni chunk viene inviato a Gemini tramite API dedicate.
Attraverso prompt strutturati e output JSON, il modello analizza il contenuto identificando:
- entità, che diventeranno i nodi del grafo;
- relazioni, che rappresenteranno i collegamenti tra i nodi.
Un documento normativo, ad esempio, potrebbe contenere entità come attori, procedure, sanzioni o riferimenti legislativi, collegate da relazioni quali:
- regola;
- autorizza;
- è soggetto a;
- prevede sanzioni per.
Il risultato è una rappresentazione strutturata della conoscenza estratta dal testo.
3. Memorizzazione nel database Neo4j
Le entità e le relazioni individuate vengono archiviate all’interno di Neo4j.
In questo modo il contenuto documentale viene trasformato in un knowledge graph navigabile, dove ogni informazione è collegata alle altre attraverso relazioni esplicite. La conoscenza non viene più recuperata soltanto tramite similarità semantica, ma attraverso percorsi logici definiti all’interno del grafo.
Come Funziona la Ricerca nel GraphRAG
Quando l’utente pone una domanda in linguaggio naturale, il sistema segue un flusso differente rispetto a un RAG tradizionale.
La richiesta viene prima interpretata da Gemini, che genera una query Cypher compatibile con Neo4j. Il database restituisce quindi le informazioni e le relazioni pertinenti presenti nel knowledge graph.
Solo a questo punto i dati recuperati vengono forniti al modello per la generazione della risposta finale.
Questo approccio consente di basare le risposte su informazioni effettivamente presenti nel grafo, riducendo il rischio di allucinazioni e migliorando la tracciabilità delle fonti utilizzate.
Dove si Concentrano i Costi
Dal punto di vista economico, una soluzione GraphRAG presenta due fasi molto diverse tra loro.
Fase di ingestione: il costo principale
La parte più onerosa è quella iniziale.
Per trasformare un documento di grandi dimensioni in un knowledge graph, ogni chunk deve essere elaborato dal modello affinché identifichi entità e relazioni e produca output strutturati in formato JSON.
Questo processo richiede:
- numerose chiamate API;
- elevato consumo di token in input;
- output generalmente più lunghi rispetto alle normali risposte conversazionali.
L’investimento principale si concentra quindi nella costruzione iniziale del patrimonio di conoscenza.
Fase di interrogazione: costi contenuti
Una volta completata l’ingestione, la situazione cambia radicalmente.
Le interrogazioni quotidiane del chatbot richiedono pochi token, poiché il lavoro di correlazione tra concetti è già stato eseguito durante la costruzione del grafo. Neo4j restituisce rapidamente i dati pertinenti e il modello deve soltanto trasformarli in una risposta comprensibile.
Per questo motivo il costo operativo delle query risulta generalmente molto inferiore rispetto al costo iniziale di estrazione e modellazione della conoscenza.
LlamaParse o Gemini per il Parsing dei Documenti?
Una domanda frequente riguarda la gestione della fase iniziale di parsing.
Ha senso affidare a Gemini anche la comprensione della struttura del PDF oppure è preferibile utilizzare uno strumento specializzato come LlamaParse?
Nella maggior parte dei casi, la seconda opzione offre vantaggi significativi.
Utilizzare solo Gemini
Quando un PDF viene inviato direttamente a una LLM senza una fase preliminare di pulizia, possono emergere alcune criticità:
- presenza di elementi grafici inutili ai fini dell’analisi;
- tabelle difficili da interpretare;
- documenti a più colonne che generano letture errate;
- aumento del numero di token necessari per comprendere la struttura del documento.
In pratica, una parte delle risorse viene utilizzata per interpretare il layout anziché il contenuto.
Utilizzare LlamaParse come pre-processore
LlamaParse è stato progettato specificamente per l’estrazione strutturata di contenuti da PDF complessi.
Tra le sue principali funzionalità troviamo:
- conversione dei documenti in Markdown pulito e strutturato;
- gestione accurata di tabelle e contenuti complessi;
- separazione corretta delle sezioni documentali;
- normalizzazione del contenuto prima dell’elaborazione da parte della LLM.
In uno scenario GraphRAG, il flusso diventa quindi:
PDF → LlamaParse → Markdown strutturato → Gemini → Neo4j
I vantaggi dell’approccio ibrido
L’utilizzo di un parser specializzato produce benefici sia economici sia qualitativi.
Riduzione del consumo di token
Eliminando gran parte del rumore strutturale presente nei documenti originali, il testo inviato a Gemini risulta più compatto e semanticamente più denso.
Questo si traduce in un minor numero di token elaborati e, di conseguenza, in una riduzione dei costi complessivi.
Migliore qualità del knowledge graph
Ricevendo contenuti già organizzati e coerenti, Gemini può concentrarsi sull’estrazione delle relazioni anziché sull’interpretazione della struttura del documento.
Il risultato è un knowledge graph generalmente più accurato, soprattutto quando sono presenti tabelle, allegati tecnici o documentazione normativa complessa.
Conclusioni
L’integrazione tra Gemini e Neo4j rappresenta un approccio particolarmente efficace per la gestione della conoscenza aziendale basata su documentazione complessa.
Rispetto ai sistemi RAG tradizionali basati esclusivamente sulla ricerca vettoriale, un’architettura GraphRAG consente di modellare esplicitamente relazioni, gerarchie e dipendenze tra concetti, migliorando la qualità delle risposte e la capacità di navigare informazioni articolate.
Allo stesso tempo, l’adozione di strumenti specializzati come LlamaParse nella fase di pre-elaborazione può contribuire a ridurre i costi di ingestione e a migliorare la qualità dei dati che alimentano il knowledge graph.
Per progetti destinati alla produzione aziendale, l’accoppiata LlamaParse, Gemini e Neo4j rappresenta oggi una delle architetture più interessanti per costruire sistemi di conoscenza affidabili, scalabili e orientati al ragionamento relazionale.