O Vector RAG recupera documentos por similaridade semântica. O Graph RAG adiciona um grafo de conhecimento sobre a recuperação, extrai entidades e relacionamentos dos documentos, armazena-os em um banco de dados de grafos e utiliza a busca vetorial em conjunto com a busca vetorial no momento da consulta.
Avaliamos se essa camada extra melhora a recuperação e a precisão das respostas em 3.904 avaliações de produtos eletrônicos da Amazon, com quase 900 consultas.
Resultados de precisão de recuperação por tipo de consulta
Exemplos de perguntas:
- Busca específica: "Encontre para mim uma avaliação sobre problemas de bateria neste fone de ouvido Bluetooth."
- Agregação de entidades: “Quais são as reclamações mais comuns sobre os produtos da Sony?”
- Raciocínio entre documentos: “Qual é a reclamação mais comum em todos os produtos eletrônicos?”
O Vector RAG encontra documentos específicos com mais precisão (54% vs 35%). O Graph RAG recupera resultados relevantes para consultas de agregação 3 vezes mais frequentemente (23% vs 8%) e para raciocínio entre documentos 4 vezes mais frequentemente (33% vs 8%).
A diferença reside na forma como cada pipeline lida com a consulta: “Quais marcas têm o maior número de reclamações sobre cobranças?”
- O Vector RAG codifica a pergunta como um vetor incorporado e encontra as 10 avaliações mais semelhantes. Os resultados estão semanticamente relacionados a "carregamento", mas provêm de marcas aleatórias.
- O Graph RAG extrai "cobrança" e "reclamação" da pergunta, percorre a estrutura Marca → Produto → Avaliação → Recurso Negativo no grafo de conhecimento e retorna as avaliações agrupadas por marca. Uma única consulta, menos de 1 ms.
O que é o Graph RAG?
O Graph RAG adiciona um grafo de conhecimento sobre a busca vetorial. A busca vetorial continua funcionando. O grafo adiciona computação estruturada que a busca vetorial não consegue realizar.
No momento da indexação, cada documento passa por dois caminhos. Um LLM extrai entidades (marcas, características, sentimentos) e as armazena como nós e arestas em um banco de dados gráfico. Os mesmos documentos são incorporados e armazenados em um índice vetorial.
No momento da consulta, o sistema recupera dados de ambos os caminhos: similaridade de incorporação e travessia do grafo. Os resultados são combinados em uma única lista classificada. Para consultas de agregação, o grafo também pré-calcula contagens e agrupamentos a partir do conjunto de dados completo. Essa agregação pré-calculada é o que diferencia o Graph RAG do Vector RAG.
Como o grafo de conhecimento é construído
Um analista jurídico lê cada avaliação e extrai entidades e relações. Por exemplo, a partir de uma única avaliação:
“Os fones de ouvido Sony WH-1000XM4 têm um cancelamento de ruído incrível, mas a bateria dura apenas 20 horas, e não 30 como anunciado.”
Os extratos do LLM:
- Marca: Sony
- Produto: WH-1000XM4
- Característica positiva: cancelamento de ruído
- Ponto negativo: duração da bateria
3.904 avaliações geram 16.120 nós e 23.940 arestas. O esquema determina quais perguntas podem ser respondidas por uma única travessia do grafo.
Separar HAS_POSITIVE e HAS_NEGATIVE permite que a análise das "principais reclamações sobre a Sony" seja feita em uma única etapa. Sem as arestas rotuladas por sentimento, o LLM leria e classificaria todas as avaliações no momento da consulta.
Se "Sony" não for extraído, nenhuma travessia do grafo o encontrará. Se "baterias" e "duração da bateria" não convergirem para o mesmo nó, as contagens estarão incorretas. Domínios diferentes exigem esquemas diferentes. Um esquema incorreto significa que o grafo adiciona complexidade sem capacidade.
Como o Graph RAG recupera e gera respostas
Exemplo: “Quais são as reclamações mais comuns sobre os produtos da Sony?”
- Extração de entidades: Gemini O Flash extrai marcas: [“sony”], sentimento: negativo (~$0,001, em cache)
- Busca vetorial: similaridade de cosseno e5_base, 30 melhores resultados (sem extração de entidades, correspondência pura de embeddings)
- Busca em grafo: travessia Cypher usando entidades extraídas, 30 melhores resultados
- Fusão RRF:
1/(k + rank_vector) + 1/(k + rank_graph)com k=60, retornando os 10 primeiros. - Agregação Cypher: Contagens pré-computadas do grafo completo, passadas para o LLM juntamente com as avaliações recuperadas.
A agregação Cypher na etapa 5 percorre Marca → Produto → Avaliação → Recurso Negativo para “sony”, conta cada recurso e retorna “compatibilidade: 7, durabilidade: 4, preço: 3” em menos de 1 ms. Essa resposta pré-computada é o que o LLM recebe juntamente com as avaliações recuperadas.
- O Vector RAG codifica a pergunta como um vetor incorporado e encontra documentos semanticamente semelhantes. Não realiza extração de entidades.
- O Graph RAG extrai entidades da questão por meio do LLM, as alimenta em travessias Cypher, mescla os resultados do grafo com os resultados do vetor por meio do RRF e calcula agregações para o LLM.
Custo de extração por tamanho do conjunto de dados
O custo adicional do Graph RAG em relação ao Vector RAG reside na extração de entidades no momento da indexação:
A busca em grafos durante a consulta é gratuita (hospedagem própria, <1ms). A extração de entidades da pergunta custa aproximadamente US$ 0,001 por consulta (armazenável em cache). Novos documentos são adicionados incrementalmente.
A diferença de precisão deve-se ao cálculo.
Medimos a precisão da geração em 238 consultas de agregação com e sem a agregação Cypher do grafo:
Padrão: o Graph RAG obtém a agregação Cypher calculada a partir do grafo de conhecimento completo (3.904 avaliações). O Vector RAG obtém o texto bruto das avaliações.
Sem contexto gráfico: ambos os pipelines recebem apenas o texto bruto das avaliações. Sem agregação.
Sem a agregação Cypher, o RAG de grafos cai de 73,5% para 23,1%, próximo ao RAG vetorial, com 18,5%. A diferença de 50 pontos percentuais não se deve à recuperação de dados, mas sim ao processamento: o grafo percorre, agrupa e realiza contagens em todo o conjunto de dados antes que o algoritmo de regressão logística gere uma resposta.
Todas as diferenças entre gerações foram significativas em p < 0.
Metodologia de benchmark Graph Rag
Conjunto de dados: 3.904 avaliações de produtos eletrônicos em inglês da Amazon Reviews Multi (Kaggle), com no mínimo 100 caracteres.
Modelo de incorporação: multilingual-e5-base (768 dimensões). Incorporações densas em Qdrant (na memória).
Grafo de conhecimento: 16.120 nós, 23.940 arestas. Extração de entidades via Gemini 2.0 Flash (google/gemini-2.0-flash-001 em OpenRouter, total de US$ 2,29). Neo4j como banco de dados de grafos.
Conjuntos de consultas (905 no total):
- Estruturado em grafo (503): Gerado a partir de padrões de grafo. Testa a travessia do grafo.
- Agnosticismo gráfico (150): LLM gerado a partir do texto da revisão. Testa consultas em linguagem natural.
- Externo (252): Gerado pelo LLM independentemente do grafo. Cinco tipos: pesquisa de documentos (65), agregação de marcas (24), agregação de recursos (50), comparação de marcas (50), agregação global (60), além de 3 consultas de classificação por estrelas. Valida que as vantagens do grafo não são um artefato de perguntas derivadas do grafo.
Oleodutos:
Geração: As 10 principais avaliações foram passadas para o Flash Gemini. O Graph RAG também passa pela agregação Cypher. Correspondência de contenção difusa (limiar 0,80). O modo estrito (0,90) preserva a ordenação: Graph RAG 68,9%, Vector RAG 13,5%.
Validação estatística: teste de McNemar, p < 0,001, com correção de Bonferroni. Intervalo de confiança de 95% por bootstrap para a precisão da geração do gráfico RAG: 68,1%–79,0%.
Limitação
Domínio único, conjunto de dados pequeno : 3.904 avaliações de eletrônicos. Domínio diferente, esquema diferente, resultados diferentes.
Conclusão
O Graph RAG funciona melhor quando a questão exige cálculos envolvendo vários documentos: agregação, contagem, agrupamento e comparação. Para essas consultas, ele gera respostas corretas em 73,5% dos casos, contra 18,5% do Vector RAG. Sem os cálculos do grafo, essa diferença desaparece (23,1% contra 18,5%).
Para buscas específicas de documentos, o Vector RAG é melhor (54% contra 35%). O Graph RAG não substitui a busca vetorial. Ele é uma camada computacional que a complementa.
As duas decisões de engenharia que determinam o desempenho do Graph RAG são o projeto do esquema e a qualidade da extração de entidades. O esquema define quais perguntas podem ser respondidas por uma única travessia do grafo. A extração de entidades define quais entidades o grafo conhece. US$ 2,29 no LLM exige 3.904 documentos.
Leitura complementar
Explore outros benchmarks RAG, como:
- Modelos de incorporação: OpenAI vs Gemini vs Cohere
- Os 16 principais modelos de incorporação de código aberto para RAG
- Banco de dados de vetores principais para RAG: Qdrant vs Weaviate vs Pinecone
- Análise comparativa do Reranker: Comparação dos 8 melhores modelos
- Modelos de Incorporação Multimodal: Apple vs Meta vs OpenAI
- RAG Híbrido: Aumentando a Precisão do RAG
- Os 10 principais modelos de incorporação multilíngue para RAG
Seja o primeiro a comentar
Seu endereço de e-mail não será publicado. Todos os campos são obrigatórios.