Contattaci
Nessun risultato trovato.

Confronto tra RAG grafico e RAG vettoriale

Ekrem Sarı
Ekrem Sarı
aggiornato il Mar 20, 2026
Guarda il nostro norme etiche

Vector RAG recupera i documenti in base alla similarità semantica. Graph RAG aggiunge un grafo della conoscenza, estrae entità e relazioni dai documenti, le memorizza in un database a grafo e utilizza l'attraversamento del grafo insieme alla ricerca vettoriale in fase di interrogazione.

Abbiamo verificato se questo livello aggiuntivo migliora il recupero delle informazioni e l'accuratezza delle risposte su 3.904 recensioni di prodotti elettronici su Amazon, con quasi 900 query.

Risultati di accuratezza del recupero per tipo di query

Loading Chart

Esempi di domande:

  • Ricerca specifica: "Trova una recensione sui problemi di batteria di queste cuffie Bluetooth."
  • Aggregazione di entità: "Quali sono i reclami più comuni sui prodotti Sony?"
  • Ragionamento incrociato tra documenti: "Qual è il reclamo più comune in tutti i dispositivi elettronici?"

Vector RAG individua documenti specifici con maggiore precisione (54% contro 35%). Graph RAG recupera risultati pertinenti per le query di aggregazione 3 volte più spesso (23% contro 8%) e per il ragionamento tra documenti 4 volte più spesso (33% contro 8%).

La differenza sta nel modo in cui ciascuna pipeline gestisce la domanda: "Quali marchi hanno il maggior numero di reclami relativi agli addebiti?"

  • Vector RAG codifica la domanda come un embedding e trova le 10 recensioni più simili. I risultati sono semanticamente correlati a "ricarica" ma provengono da marchi casuali.
  • Graph RAG estrae "addebito" e "reclamo" dalla domanda, attraversa il percorso Marchio → Prodotto → Recensione → Caratteristica Negativa nel grafo della conoscenza e restituisce le recensioni raggruppate per marchio. Una query, <1 ms.

Cos'è Graph RAG?

Graph RAG aggiunge un grafo della conoscenza alla ricerca vettoriale. La ricerca vettoriale continua a funzionare. Il grafo aggiunge calcoli strutturati che la ricerca vettoriale non è in grado di eseguire.

In fase di indicizzazione, ogni documento percorre due percorsi. Un LLM estrae le entità (marchi, caratteristiche, sentiment) e le memorizza come nodi e archi in un database a grafo. Gli stessi documenti vengono poi incorporati e memorizzati in un indice vettoriale.

Al momento dell'interrogazione, il sistema recupera i dati da entrambi i percorsi: similarità di embedding e attraversamento del grafo. I risultati vengono uniti in un unico elenco ordinato. Per le query di aggregazione, il grafo precalcola anche i conteggi e i raggruppamenti dall'intero dataset. Questa aggregazione precalcolata è ciò che distingue Graph RAG da Vector RAG.

Come viene costruito il grafo della conoscenza

Un LLM legge ogni recensione ed estrae entità e relazioni. Ad esempio, da una singola recensione:

"Le cuffie Sony WH-1000XM4 offrono una cancellazione del rumore eccezionale, ma la batteria dura solo 20 ore, non 30 come pubblicizzato."

Gli estratti LLM:

  • Marca: Sony
  • Prodotto: WH-1000XM4
  • Caratteristica positiva: cancellazione del rumore
  • Aspetto negativo: durata della batteria

3.904 recensioni producono 16.120 nodi e 23.940 archi. Lo schema determina a quali domande è possibile rispondere con una singola traversata del grafo.

Separare HAS_POSITIVE e HAS_NEGATIVE rende "reclami principali per Sony" un singolo percorso. Senza archi etichettati in base al sentimento, l'LLM leggerebbe e classificherebbe ogni recensione al momento della query.

Se "Sony" non viene estratto, nessun percorso di attraversamento del grafo lo troverà. Se "batterie" e "durata della batteria" non si risolvono nello stesso nodo, i conteggi sono errati. Domini diversi richiedono schemi diversi. Uno schema errato significa che il grafo aggiunge complessità senza funzionalità.

Come Graph RAG recupera e genera le risposte

Esempio: "Quali sono i reclami più comuni sui prodotti Sony?"

  1. Estrazione entità: Gemini Flash estrae marchi: [“sony”], sentiment: negativo (~$0,001, memorizzato nella cache)
  2. Ricerca vettoriale: similarità coseno e5_base, primi 30 risultati (nessuna estrazione di entità, corrispondenza di embedding puro)
  3. Ricerca su grafi: attraversamento di Cypher utilizzando entità estratte, primi 30 risultati
  4. Unione RRF: 1/(k + rank_vector) + 1/(k + rank_graph) con k=60, i primi 10 restituiti
  5. Aggregazione Cypher: conteggi precalcolati dall'intero grafo, passati all'LLM insieme alle recensioni recuperate

L'aggregazione Cypher al passaggio 5 attraversa Brand → Product → Review → Negative Feature per "sony", conta ogni caratteristica e restituisce "compatibilità: 7, durata: 4, prezzo: 3" in meno di 1 ms. Questa risposta precalcolata è ciò che LLM riceve insieme alle recensioni recuperate.

  • Vector RAG codifica la domanda come un embedding e trova documenti semanticamente simili. Nessuna estrazione di entità.
  • Graph RAG estrae inoltre entità dalla domanda tramite LLM, le inserisce nelle traversate Cypher, unisce i risultati del grafo con i risultati vettoriali tramite RRF e calcola le aggregazioni per LLM

Costo di estrazione in base alla dimensione del set di dati

Il costo aggiuntivo di Graph RAG rispetto a Vector RAG è l'estrazione delle entità in fase di indicizzazione:

L'attraversamento del grafo al momento della query è gratuito (self-hosted, <1ms). L'estrazione delle entità dalla domanda costa circa $0,001 per query (cacheable). I nuovi documenti vengono aggiunti in modo incrementale.

Il divario di accuratezza è dovuto al calcolo

Abbiamo misurato l'accuratezza della generazione su 238 query di aggregazione con e senza l'aggregazione Cypher del grafo:

Predefinito: Graph RAG ottiene l'aggregazione Cypher calcolata dall'intero grafo della conoscenza (3.904 recensioni). Vector RAG ottiene il testo grezzo delle recensioni.

Nessun contesto grafico: entrambe le pipeline ricevono solo il testo grezzo della recensione. Nessuna aggregazione.

Senza l'aggregazione Cypher, Graph RAG scende dal 73,5% al 23,1%, avvicinandosi a Vector RAG al 18,5%. Il divario di 50 pp non era dovuto al recupero dei dati, bensì al calcolo: il grafo attraversa, raggruppa e conta l'intero dataset prima che l'LLM generi una risposta.

Tutte le differenze generazionali sono significative a p < 0

Metodologia di riferimento del grafico rag

Set di dati: 3.904 recensioni di prodotti elettronici in inglese provenienti da Amazon Reviews Multi (Kaggle), minimo 100 caratteri.

Modello di embedding: multilingual-e5-base (768 dimensioni). Embedding densi in Qdrant (in memoria).

Grafo della conoscenza: 16.120 nodi, 23.940 archi. Estrazione di entità tramite Gemini 2.0 Flash (google/gemini-2.0-flash-001 su OpenRouter, $2,29 totale). Neo4j come database del grafo.

Set di query (905 in totale):

  • Strutturato a grafo (503): generato da modelli di grafo. Verifica l'attraversamento del grafo.
  • Indipendente dal grafo (150): LLM generato dal testo della recensione. Testa le query in linguaggio naturale.
  • Esterno (252): generato da LLM indipendentemente dal grafo. Cinque tipi: ricerca documenti (65), aggregazione marchi (24), aggregazione caratteristiche (50), confronto marchi (50), aggregazione globale (60), più 3 query di valutazione a stelle. Convalida che i vantaggi del grafo non siano un artefatto delle domande derivate dal grafo.

Condotte:

Generazione: le 10 migliori recensioni sono passate a Gemini Flash. Graph RAG supera inoltre l'aggregazione Cypher. Corrispondenza di contenimento fuzzy (soglia 0,80). La modalità rigorosa (0,90) preserva l'ordinamento: Graph RAG 68,9%, Vector RAG 13,5%.

Validazione statistica: test di McNemar, p < 0,001, correzione di Bonferroni. Intervallo di confidenza bootstrap al 95% per l'accuratezza della generazione di Graph RAG: 68,1%-79,0%.

Limitazione

Dominio singolo, set di dati ridotto : 3.904 recensioni di prodotti elettronici. Dominio diverso, schema diverso, risultati diversi.

Conclusione

Graph RAG funziona al meglio quando la domanda richiede calcoli su molti documenti: aggregazione, conteggio, raggruppamento e confronto. Per queste query, genera risposte corrette nel 73,5% dei casi contro il 18,5% di Vector RAG. Senza i calcoli del grafo, tale differenza scompare (23,1% contro 18,5%).

Per la ricerca di documenti specifici, Vector RAG è migliore (54% contro 35%). Graph RAG non sostituisce la ricerca vettoriale, ma ne costituisce un livello di elaborazione aggiuntivo.

Le due decisioni ingegneristiche che determinano le prestazioni di Graph RAG sono la progettazione dello schema e la qualità dell'estrazione delle entità. Lo schema definisce quali domande possono essere risolte con una singola traversata del grafo. L'estrazione delle entità definisce quali entità sono note al grafo. 2,29 dollari in LLM richiedono 3.904 documenti.

Per approfondire

Esplora altri parametri di riferimento RAG, come ad esempio:

Ekrem Sarı
Ekrem Sarı
Ricercatore di intelligenza artificiale
Ekrem è un ricercatore di intelligenza artificiale presso AIMultiple, specializzato in automazione intelligente, GPU, agenti di intelligenza artificiale e framework RAG.
Visualizza il profilo completo

Sii il primo a commentare

Il tuo indirizzo email non verrà pubblicato. Tutti i campi sono obbligatori.

0/450