Início tecnologia

GraphRAG: a evolução do RAG que usa grafos para entender relações entre dados

Se você já ouviu falar de RAG (Retrieval-Augmented Generation), sabe que ele resolve um problema clássico dos modelos de linguagem: alucinações. Em vez de o modelo inventar respostas, ele busca informações num banco de dados antes de responder. Mas o RAG tradicional tem um ponto cego grave: ele trata cada pedaço de texto como uma ilha isolada. É nesse cenário que surge o GraphRAG, uma abordagem criada pela Microsoft Research que promete virar essa lógica de cabeça para baixo, e que já está disponível como código aberto no GitHub.

Este artigo é uma continuação natural da discussão sobre Harness Engineering, onde exploramos como a engenharia de software está evoluindo para lidar com sistemas cada vez mais complexos. O GraphRAG é mais um passo nessa direção: uma técnica que organiza o conhecimento de forma que máquinas, e humanos, possam navegar por ele com muito mais precisão.

GraphRAG
Imagem gerada por IA com Magnific

O problema que o RAG tradicional não resolve

Imagine que você tem 10 mil documentos internos de uma empresa e quer saber: “quais são os principais temas discutidos no último ano?” O RAG clássico, que busca por similaridade vetorial, vai quebrar a cara. Ele encontra chunks de texto que parecem relevantes, mas não consegue conectar os pontos. É como tentar entender um romance lendo parágrafos soltos em ordem aleatória: você capta fragmentos, mas perde o enredo.

Esse problema é conhecido como QFS (Query-Focused Summarization): perguntas que exigem uma visão global do conjunto de dados, não apenas um trecho específico. O RAG vetorial simplesmente não foi desenhado para isso. Ele recupera os top-K chunks mais similares à pergunta, mas não tem noção de estrutura, hierarquia ou relações entre as informações.

O que é GraphRAG e como ele funciona

GraphRAG é uma evolução do RAG que incorpora grafos de conhecimento (knowledge graphs) no processo de recuperação de informações. Em vez de buscar apenas por similaridade semântica, ele constrói um grafo onde entidades (pessoas, lugares, conceitos, eventos) são nós e as relações entre elas são arestas. Quando você faz uma pergunta, o sistema navega por esse grafo: como um detetive seguindo pistas, em vez de simplesmente comparar vetores.

O processo completo, descrito no paper original da Microsoft Research (abril de 2024), tem duas grandes fases:

  • Indexação (construção do grafo): O LLM lê cada documento, extrai entidades e relações, e monta um grafo. Depois aplica o algoritmo Leiden: uma versão melhorada do famoso Louvain, para detectar comunidades de nós densamente conectados. O resultado é uma hierarquia: comunidades de alto nível (temas gerais) e subcomunidades (tópicos específicos). Cada comunidade recebe um resumo gerado pelo próprio LLM.
  • Consulta (busca): Quatro modos diferentes:
    • Local Search: encontra entidades específicas e expande para vizinhos no grafo
    • Global Search: usa os resumos das comunidades para responder perguntas sobre o dataset inteiro
    • DRIFT Search: híbrido que combina busca local com contexto comunitário
    • Basic Search: o RAG vetorial tradicional, quando é suficiente

O segredo está na indexação: enquanto o RAG tradicional só organiza os dados no momento da consulta, o GraphRAG pré-organiza o conhecimento em uma estrutura que já “entende” como os temas se relacionam. É como a diferença entre ter uma pilha de papéis numa mesa e ter um arquivo com pastas etiquetadas e referências cruzadas.

Por que grafos? A diferença está nas relações

O RAG tradicional representa o conhecimento como vetores em um espaço multidimensional. Dois textos sobre o mesmo assunto ficam “próximos” nesse espaço. Mas isso ignora algo fundamental: como esses textos se relacionam. Um knowledge graph captura explicitamente que “Albert Einstein desenvolveu a teoria da relatividade”: o nó “Einstein”, o nó “teoria da relatividade” e a aresta “desenvolveu” são cidadãos de primeira classe no sistema.

Isso permite o que se chama de raciocínio multi-salto (multi-hop reasoning). Uma pergunta como “quem financiou a empresa que comprou o concorrente da OpenAI?” exige múltiplos saltos no grafo: empresa A → adquiriu → empresa B → financiada por → investidor C. O RAG vetorial simplesmente não consegue fazer isso: ele não tem arestas para seguir.

Segundo a IBM, que também adotou a abordagem no watsonx.data, empresas como a Shorthills AI conseguiram mais de 60% de melhora na precisão e recall ao aplicar GraphRAG em bases legais com centenas de milhares de documentos. A Neo4j, referência em bancos de grafos, também tem investido pesado na integração de GraphRAG com sua plataforma.

Projetos open source para explorar

Uma das melhores formas de entender GraphRAG na prática é explorar os projetos que a comunidade está construindo. Aqui estão alguns dos mais relevantes:

  • Microsoft GraphRAG: a implementação de referência, com mais de 34 mil estrelas no GitHub. Faz todo o pipeline: extração de entidades, detecção de comunidades com Leiden, geração de resumos hierárquicos e busca local/global. É o projeto mais completo, mas também o mais pesado: a indexação pode custar caro em tokens de LLM.
  • Nano-GraphRAG: uma implementação mínima e hackeável com apenas ~1.100 linhas de código. Perfeito para quem quer entender o funcionamento interno sem se perder em milhares de linhas de abstração. Suporta FAISS, Neo4j, Ollama e vários backends de embedding.
  • LightRAG: criado pela Universidade de Hong Kong, propõe que não é preciso detecção de comunidades para fazer GraphRAG bem feito. Usa recuperação em dois níveis (entidades de baixo nível + conceitos de alto nível) e é dramaticamente mais barato de indexar que o Microsoft GraphRAG.
  • Fast GraphRAG: focado em eficiência: custa 6x menos que o Microsoft GraphRAG para indexar (US$ 0,08 vs US$ 0,48 no benchmark do Mágico de Oz). Usa PageRank personalizado para explorar o grafo.
  • LinearRAG: aceito no ICLR 2026, propõe construção de grafo sem relações explícitas, eliminando o custo de tokens do LLM durante a indexação. Escalabilidade linear.

Cada um desses projetos tem uma filosofia diferente sobre o que é essencial no GraphRAG. Explorar o código deles: sem precisar instalar nada: já dá uma noção clara das decisões de design envolvidas.

Onde o GraphRAG faz diferença

O GraphRAG não substitui o RAG tradicional: ele o complementa. Em consultas factuais simples (“qual é o telefone do suporte?”), o RAG vetorial é mais rápido e barato. Mas em cenários que exigem compreensão profunda de um corpus, o GraphRAG se destaca:

  • Análise de documentos legais: conectar jurisprudências, leis e precedentes através de citações e relações
  • Pesquisa acadêmica: mapear temas, autores e descobertas em grandes coleções de papers
  • Corpora empresariais: extrair temas transversais de milhares de documentos internos
  • Memória de agentes de IA: sistemas como o Graphiti (da Zep) usam grafos temporais para que agentes lembrem de fatos que mudam com o tempo

O benchmark GraphRAG-Bench, também aceito no ICLR 2026, mostra que diferentes implementações têm forças distintas: o Microsoft GraphRAG lidera em perguntas de descoberta (50,9% de novidade), enquanto o TypeGraph (uma implementação em TypeScript) alcança 62,6% em datasets médicos.

O que vem pela frente

O GraphRAG ainda é uma tecnologia jovem: o paper original tem pouco mais de um ano. Mas o ecossistema já cresce rápido: são mais de 34 mil estrelas no repositório da Microsoft, dezenas de implementações alternativas, e benchmarks acadêmicos sendo estabelecidos. A principal crítica hoje é o custo da indexação, que exige múltiplas chamadas de LLM por documento. Projetos como LightRAG, Fast GraphRAG e LinearRAG já estão atacando esse problema de ângulos diferentes.

Para quem estuda ciência da computação ou engenharia de software, o GraphRAG é um daqueles tópicos que conecta várias áreas: processamento de linguagem natural, bancos de dados de grafos, teoria de redes complexas e sistemas de recuperação de informação. Entender como ele funciona é mais do que aprender uma técnica nova: é ver como a organização do conhecimento está mudando na prática.

Fontes: Microsoft Research: Project GraphRAG, From Local to Global: A Graph RAG Approach (arXiv), Documentação oficial do GraphRAG, IBM: What is GraphRAG, Neo4j: GraphRAG Guide, Microsoft GraphRAG no GitHub, Nano-GraphRAG, LightRAG, Fast GraphRAG, LinearRAG, TypeGraph: Best Open Source Graph RAG Tools.