A busca vetorial clássica falha em perguntas amplas sobre grandes bases de dados corporativas. O GraphRAG resolve esse ponto cego integrando grafos de conhecimento, o algoritmo Leiden e síntese hierárquica.

O ponto cego do RAG vetorial tradicional
A recuperação vetorial densa não responde perguntas de síntese global sobre o conjunto de documentos. A similaridade por cosseno recupera apenas trechos com vocabulário semelhante.
Em sistemas corporativos, existem duas classes de consultas:
- Buscas pontuais: Perguntas como "Qual a multa por atraso no contrato Alfa?". A busca vetorial pura é rápida e suficiente.
- Buscas de sumarização global: Perguntas como "Quais são os principais riscos operacionais de 2026?". A busca vetorial falha porque nenhum fragmento contém a resposta inteira.
A busca por vetores também sofre com saltos relacionais múltiplos (multi-hop). Quando uma conclusão exige conectar fatos de arquivos distintos, os embeddings não preservam as relações.
Recuperar dezenas de pedaços dispersos polui o contexto do modelo. Esse excesso de dados irrelevantes eleva alucinações e encarece a inferência.
Como a arquitetura GraphRAG estrutura o conhecimento
O GraphRAG transforma texto não estruturado em uma hierarquia navegável de entidades e relatórios temáticos. O pipeline de indexação executa etapas sequenciais de transformação:
- Chunking com sobreposição: Divide documentos em pedaços de 600 a 1.200 tokens para reter o contexto local.
- Extração com LLM: Identifica entidades, descrições, categorias e conexões entre nós do grafo.
- Construção do grafo: Monta nós e arestas com contagem de coocorrências e pesos relacionais.
- Particionamento via Leiden: Agrupa clusters conexos em múltiplos níveis hierárquicos de abstração.
- Resumos de comunidade: Gera relatórios analíticos para cada cluster identificado no grafo.
O resultado é um índice duplo. O sistema mantém o grafo relacional e os resumos semânticos prontos para consulta.
Essa estrutura viabiliza análises globais sem varrer textos brutos a cada chamada. Os resumos pré-computados servem como pontos de partida indexados.
Por que o algoritmo Leiden substitui o Louvain em grafos de IA?
O algoritmo Leiden garante comunidades internamente conexas e bem delimitadas. Ele corrige defeitos conhecidos de métodos clássicos de agrupamento.
A partição de grafos dependia antes do método Louvain. Contudo, o Louvain possui uma falha matemática comprovada. Ele pode unir nós desconectados se a fusão elevar a modularidade geral.
O algoritmo Leiden (Traag et al., 2019) soluciona o problema através de uma etapa explícita de refinamento:
- Movimento local rápido: Cada nó migra para a comunidade vizinha de maior ganho de qualidade.
- Fase de refinamento: As comunidades preliminares são subdivididas em grupos estritamente conexos.
- Agregação em super-nós: O grafo é comprimido para construir hierarquias estáveis (níveis C0 a C3).
A métrica de modularidade Q reflete o balanço de arestas internas contra conexões aleatórias:
Q = (1 ÷ 2m) × ∑ [ A_ij - (k_i × k_j ÷ 2m) ]
Aqui, m é a soma dos pesos das arestas. A_ij representa o peso entre os nós i e j. Os termos k_i e k_j são os graus ponderados dos vértices. O Leiden maximiza essa equação garantindo convergência sem partições desconexas.

Global Search vs Local Search: os modos de consulta
O GraphRAG utiliza estratégias de recuperação complementares para perguntas amplas ou específicas. O motor seleciona o fluxo adequado com base no objetivo da busca.
| Dimensão de Análise | Global Search (Busca Global) | Local Search (Busca Local) |
|---|---|---|
| Tipo de Pergunta | Sínteses globais e tendências gerais | Entidades pontuais e detalhes locais |
| Artefato Principal | Resumos de comunidade hierárquicos | Vizinhança de nós e texto original |
| Execução | Map-Reduce distribuído com notas | Expansão de subgrafo de 1 e 2 saltos |
| Consumo de Contexto | Médio a alto em lotes de relatórios | Baixo a médio com dados filtrados |
| Latência Típica | 1,5 a 4,0 segundos | 300 milissegundos a 1,2 segundos |
Na Busca Global (Global Search), o sistema seleciona um nível hierárquico. Ele envia os resumos em lotes para a fase Map do LLM. O modelo gera respostas parciais com notas de utilidade de 0 a 100. Na fase Reduce, as melhores respostas compõem a síntese final.
Na Busca Local (Local Search), o mecanismo identifica entidades-chave na pergunta. Ele extrai a vizinhança imediata de relações no grafo. Depois, injeta esses dados estruturados com os trechos textuais no prompt.
Essa divisão assegura eficiência. Perguntas pontuais recebem respostas quase instantâneas, enquanto análises profundas utilizam a síntese Map-Reduce sem estourar o limite de tokens.
DRIFT Search: o equilíbrio entre profundidade e amplitude
O modo DRIFT combina busca hierárquica e aprofundamento factual sob demanda. Ele atende perguntas que exigem visão panorâmica e precisão pontual.
Criado para cenários mistos, o DRIFT começa nos resumos de comunidade. Ao encontrar tópicos relevantes, ele desce até os nós detalhados do subgrafo.
Essa exploração seletiva economiza tokens em relação à busca global irrestrita. O DRIFT também entrega precisão superior à busca puramente vetorial em relatórios técnicos.
O algoritmo avalia o ganho informacional de cada ramo antes de descer no grafo. Isso evita chamadas redundantes e mantém a latência estável.
Custos, limites e decisões de engenharia em produção
Adotar GraphRAG em escala exige equilibrar o investimento na indexação com o valor das respostas. A extração com LLMs encarece a fase inicial do pipeline.
// Estrutura conceitual de nó de comunidade indexada no GraphRAG
interface CommunityReport {
communityId: string;
level: number;
title: string;
summary: string;
findings: Array<{
explanation: string;
weight: number;
}>;
rating: number;
entityIds: string[];
}
As decisões práticas de engenharia concentram-se em quatro aspectos operacionais:
- Custo computacional de indexação: A extração de entidades exige milhares de chamadas a modelos. Em grandes volumes, o custo atinge US$ 5,00 por milhão de tokens.
- Cache determinístico: Usar cache de prefixos e modelos locais reduz os custos de extração em até 80% na esteira.
- Armazenamento híbrido: Manter o grafo em Apache Parquet integrado ao pgvector acelera a recuperação em produção.
- Atualizações incrementais: Atualizar grafos em tempo real segue complexo. A maioria dos times adota reindexação periódica em lote para novos documentos.
Muitas empresas usam modelos compactos na extração e reservam modelos avançados para a síntese final. Essa separação reduz custos na infraestrutura corporativa.
A governança das entidades exige ontologias bem definidas. Sem tipagem consistente, sinônimos geram nós duplicados e distorcem as comunidades no algoritmo Leiden.

Perguntas frequentes sobre GraphRAG e grafos de conhecimento
O GraphRAG substitui completamente o RAG vetorial tradicional?
Não. O GraphRAG atua como complemento ao RAG vetorial. Para buscas simples por termos exatos, a busca vetorial é mais rápida e barata. O GraphRAG destaca-se em perguntas de síntese e análises temáticas amplas.
Por que o algoritmo Leiden é superior ao Louvain no particionamento do grafo?
O algoritmo Louvain pode agrupar nós desconectados se isso elevar a modularidade global. O algoritmo Leiden inclui uma etapa de refinamento que assegura comunidades estritamente coesas e conectadas.
Como funciona a síntese Map-Reduce na busca global do GraphRAG?
Na fase Map, o sistema envia lotes de resumos ao modelo de linguagem para gerar respostas parciais. Na fase Reduce, o modelo combina as respostas mais bem pontuadas em um relatório final.