GRAPH TAG E ARCHITETTURA AGENTE: ESPERIMENTO PRATICO CON NEO4J E NEOCONVERSE

Il campo dell'intelligenza artificiale (AI) si evolve rapidamente, e sempre più industrie e aziende stanno adottando soluzioni basate su AI per migliorare l'efficienza e la decisionalità. Uno dei nuovi metodi emergenti è la Generazione Augmentata per il Recupero (RAG), che si sta dimostrando estremamente efficace per collegare i modelli linguistici di grandi dimensioni (LLM) ad informazioni esterne. Tuttavia, RAG convenzionale spesso dipende da metodi non strutturati centrati sui documenti, e non tiene sufficientemente conto delle connessioni complesse che esistono tra entità.

Per affrontare tali problemi, emerge un nuovo approccio: GraphRAG. Questa tecnica utilizza rappresentazioni grafiche dei dati per fornire un contesto più completo, interrogazioni dinamiche, e risposte più attendibili. In questo articolo, esploreremo l'approccio GraphRAG in modo dettagliato e discuteremo dell'architettura agente, un concetto che sta riscuotendo sempre più interesse nel settore tecnologico. Inoltre, vi presenteremo NeoConverse, sperimentazione avanzata che combina GraphRAG e architettura agente.

CHE COS'È GRAPH RAG E PERCHÉ È MIGLIORE DEL RAG TRADIZIONALE?

Il RAG tradizionale richiede di frammentare i dati, come documenti o testi, in blocchi più piccoli, ad esempio paragrafi, ed embedarli in un modello numerico mediante modelli di rappresentazione testuale. Questi embed vengono quindi indicizzati e consultati per il recupero durante l'elaborazione di una query in base alla similarità di parole o matching semantico. Tuttavia, questo approccio è efficace in ambienti generici, ma può soffrire di:

    • Query basate su relazioni complesse - RAG tradizionale eccelle nel recuperare informazioni basate su parole chiave o prossimità semantica, ma non è adatto per query che richiedono comprensione logica delle relazioni.
    • Contesto frammentato - Tratta i documenti in blocchi isolati, con un focus su significati locali, rendendo difficile il collegamento logico di multipli elementi.

Nel frattempo, GraphRAG sfrutta le caratteristiche dei grafi, dove entità e relazioni sono di primo livello. Questo consente una:

    • recupero contestuale, per trovare esattamente i nodi (ad es. aziende, fornitori, prodotti) e relazioni necessari;
    • query avanzata, con gestione di relazioni multi-livello e complesse;
    • raggiungere una tracciabilità, collegando chiaramente l'origine delle informazioni.

L'enorme potenziale GraphRAG sta nel miglioramento della comprensione e delle operazioni basate su relazioni complesse all'interno dei dati. L'utilizzo di grafi non solo arricchisce i dati disponibili, ma introduce maggiore precisione e attendibilità.

CHE COSA È L'ARCHITETTURA AGENTE E PERCHÉ IL SETTORE STÀ VIANDANDO SU DI ESSA?

Sempre più settori adottano l'architettura agente in modo mirato. A differenza degli approcci monocromatici per LLM, l'architettura agente divide il lavoro in funzioni o strumenti specifici, delegati ad agenti o tool. I tool sono componenti utili come API o funzioni di database. Gli agenti invece organizzano e utilizzano questi strumenti per ottenere lo scopo, funzionando come decision maker e orchestratori.

I tipi di architetture agenti includono:

    • Sistemi con un singolo agente: un LLM utilizza direttamente gli strumenti con chiamata funzionale, come i plugin di ChatGPT;
    • Sistemi multigiocatori o multi-agente: diversi agenti collaborano ciascuno con il loro ruolo. Per esempio, un agente raccoglie i dati, un altro li analizza;
    • Framework orchestrati: un supervisore centrale controlla la rete di agenti, abilitando adattatività e decisioni dinamiche.

I vantaggi dell'architettura agente sono:

La precisione migliorata, grazie all'abilità di esperti di fine-tunare singoli agenti e ad utilizzare guardrail per garantire la coerenza. Il supporto a workflow complessi, permettendo di eseguire diversi passaggi interdipendenti, ad esempio la ricerca vettoriale seguita da un'analisi grafo. Infine, la capacità di aggiornamento, con la possibilità di integrare nuove componenti senza rieducare l'intero modello. Questi vantaggi rafforzano il potenziale industriale di queste architetture.

INTRODUZIONE A NEOCONVERSE

Screenshot di NeoConverse

Ne consegue l’applicazione sperimentale NeoConverse, che unisce le forze di GraphRAG e architettura agente in un'unica piattaforma di test. Nonostante non debba essere considerata come piattaforma pronta per i livelli enterprise, essa funziona come una sperimentazione di prossime soluzioni LLM.

NeoConverse è ospitato pubblicamente, permettendo agli utenti di sperimentare con il loro database grafico Neo4j, aprendo la strada per l’uso autonomo e la modifica. Essa offre:

    • Intelligenza basata su grafi - esplorare le relazioni, eseguire interrogazioni multi-step, utilizzare algoritmi di grafo;
    • Tools specializzati - creare strumenti per domini specifici, integrando: traversal grafo, ricerca testuale completa, algoritmi di embedding vettoriale, algoritmi scientifici grafi, interazioni API esterne;
    • Architettura - un singolo agente orchestrato;
    • Estrazione schema - automatizzata di schema da Neo4j;
    • Contesto di esempio - miglioramento dell’accuratezza LLM mediante casi di test;
    • Selezionatori tool autonomi per minimizzare l'input utente;
    • Strategia fallback intelligente - ricaduta su Text2Cypher;
    • Generazione grafica dinamica - realizzare visualizzazioni da query;
    • Visualizzazione sperimentale grafi - visualizzare risultati con interazione grafica interattiva.

Il processo per utilizzare NeoConverse prevede: 1) inserire una query in inglese; 2) interpretazione intento tramite LLM; 3) utilizzando agenti definiti, eseguire il tool corrispondente o ricadere in Text2Cypher; 4) recuperare informazioni.

CONCLUSIONI

In sintesi, l'uso congiunto di GraphRAG e architetture agenti, incarnate in esperimenti come NeoConverse, offre nuove opportunità per l’intelligenza artificiale. L’approccio adottato sembra risolvere molti dei problemi di complessità legati ai dati grafici e ai workflow complessi, pur aprendo nuove sfide per quanto