GraphRAG (PT)
GraphRAG é um paradigma avançado de Retrieval-Augmented Generation (RAG) que, em vez da busca tradicional por fragmentos de texto dispersos (chunks), utiliza um grafo de conhecimento (Knowledge Graph, KG)[1]. A estrutura de grafo representa explicitamente as conexões entre entidades e a hierarquia de conceitos de um domínio, permitindo que LLMs realizem extração de conhecimento lógico em múltiplos passos e formulem respostas mais contextualizadas e explicáveis[2].
A abordagem GraphRAG demonstra uma vantagem significativa sobre o RAG clássico ao lidar com consultas complexas e de múltiplos passos (multi-hop), nas quais a resposta depende da combinação de vários fatos distribuídos por diferentes documentos[3].
Limitações do RAG clássico e as vantagens do grafo
O RAG clássico, baseado em busca vetorial sobre texto não estruturado, enfrenta várias limitações fundamentais que se tornam críticas em cenários corporativos complexos:
- Ausência de conexões estruturais: O RAG tradicional processa chunks de texto como unidades isoladas e não percebe as conexões explícitas entre eles. Isso o torna ineficaz para consultas multi-hop, onde a resposta exige percorrer uma cadeia de fatos (A→B→C), mas a busca encontra apenas os elos inicial e final (A e C), omitindo os intermediários[1].
- Ambiguidade semântica: Em domínios altamente especializados (medicina, direito, engenharia), os termos possuem significados específicos. A busca vetorial, ao capturar o tema geral, pode interpretar incorretamente o papel de um objeto específico, levando à recuperação de contexto irrelevante.
- Explicabilidade limitada: O RAG clássico fornece fragmentos de documentos, mas não evidências explícitas de como esses fragmentos se conectam em uma cadeia lógica. O GraphRAG, por outro lado, torna esse processo transparente, fornecendo o caminho no grafo como prova e exigindo que as afirmações sejam vinculadas a fontes (citação)[4].
GraphRAG resolve esses problemas ao representar o conhecimento como uma rede de entidades e relações conectadas, o que permite ao sistema não apenas encontrar texto semelhante, mas também realizar inferências lógicas com base em um modelo formalizado do domínio de conhecimento.
Arquitetura do GraphRAG
O pipeline geral do GraphRAG expande o RAG clássico, adicionando etapas para a construção e utilização de um grafo de conhecimento. Ele é dividido em duas fases principais: preparação offline e processamento de consultas online.
Etapa 1: Ingestão e indexação (offline)
Nesta etapa, os dados brutos (documentos, bancos de dados) são transformados em duas representações complementares: uma baseada em grafo e outra vetorial.
- Extração de conhecimento: Fatos estruturados são extraídos dos textos por meio de um pipeline de PLN:
- Named Entity Recognition (NER): Identificação de menções a entidades (pessoas, organizações, produtos).
- Entity Linking (EL): Vinculação de menções a identificadores canônicos no grafo para resolver ambiguidades (por exemplo, "João S." e "J. Silva" se tornam um único nó)[5].
- Relation Extraction (RE): Identificação de relações entre entidades (por exemplo, Empresa X −adquiriu→ Startup Y).
- Modelagem e armazenamento do grafo: As triplas extraídas (sujeito-predicado-objeto) são carregadas em um banco de dados de grafo. A escolha do modelo (Property Graph ou RDF) depende da tarefa. É crucial armazenar a proveniência (provenance) de cada fato — um link para o documento e o fragmento de texto original[3]. Metadados sobre tempo (valid_from/valid_to) e confiança (confidence) também podem ser adicionados ao grafo.
- Indexação híbrida: Paralelamente ao grafo, é criado um índice vetorial para os fragmentos de texto originais. Isso permite combinar a busca estruturada no grafo com a busca semântica no texto.
Etapa 2: Processamento da consulta e geração da resposta (online)
- Análise da consulta: A consulta do usuário é analisada para extrair entidades-chave, que servem como "pontos de entrada" no grafo.
- Extração de subgrafo: Em vez de buscar chunks individuais, o GraphRAG encontra um subgrafo relevante — uma porção conectada do grafo em torno dos "pontos de entrada" que contém informações para a resposta. Para isso, são utilizados algoritmos como a travessia k-hop ou o Personalized PageRank (PPR)[6].
- Busca híbrida e fusão de resultados: Paralelamente à extração do subgrafo, é realizada uma busca no índice vetorial e/ou lexical (BM25). Os resultados do grafo e do texto são combinados e passados para a próxima etapa.
- Rerranking (Re-ranking): A lista combinada de candidatos (nós do grafo e chunks de texto) é reclassificada usando um modelo mais preciso (por exemplo, um cross-encoder) para selecionar as informações mais relevantes. Isso ajuda a filtrar o ruído e a aumentar a precisão[7].
- Empacotamento do contexto e geração: O contexto selecionado e reclassificado (subgrafo e textos) é convertido em um formato compreensível para o LLM (por exemplo, uma lista de afirmações com indicação das fontes). Esse contexto enriquecido é fornecido no prompt para a geração da resposta final.
- Rastreabilidade e citação: Graças à conexão "fato ↔ fonte" no grafo, a resposta gerada contém links precisos para os documentos que comprovam cada tese. Isso garante alta fundamentação e transparência.
Tabela comparativa de componentes
| Componente/Aspecto | Variantes de implementação | Vantagens | Desvantagens/Riscos | Quando é preferível |
|---|---|---|---|---|
| Modelo do grafo de conhecimento | RDF/OWL | Ontologia rigorosa, inferências lógicas (reasoning), compatibilidade com Linked Open Data. | Complexo para armazenar atributos de relações (tempo, fonte) sem entidades adicionais (reification). | Domínios semanticamente ricos com ontologias existentes; necessidade de dedução. |
| Property Graph (Neo4j, etc.) | Flexibilidade, propriedades arbitrárias em nós/arestas, alto desempenho. | Exige um esquema claro definido manualmente ou há risco de "desordem"; sem padrão unificado. | Início rápido com dados não estruturados; integração com documentos (banco de dados multimodal). | |
| Extração de subgrafo | k‑hop BFS / DFS | Cobre todos os nós até a profundidade k, simples de implementar. | "Explosão" do grafo: crescimento exponencial do número de nós; pode retornar muito ruído. | Grafos pequenos ou travessia com profundidade de 1–2; estruturas hierárquicas. |
| Personalized PageRank (PPR) | Foca em nós realmente conectados, filtrando o ruído[6]. | Pode omitir um nó distante, mas importante (se houver poucos caminhos, mas ele for crítico). | Redes complexas com muitos caminhos (grafo social, grafo de citações). | |
| Busca híbrida | Lista combinada (fusão escalar com peso λ) | Ajustar os pesos λ permite balancear precisão/recall para a tarefa específica[8]. | Um λ fixo não é ideal para todos os tipos de consulta. | Na fase de prototipagem; quando se sabe que uma fonte é inerentemente mais importante. |
| Cross‑encoder rerank | Aumento significativo na precisão; capacidade de considerar interdependências complexas. | Aumenta a latência; requer dados para treinamento ou o uso de modelos pré-treinados[7]. | Cenários de alta precisão (direito, medicina), onde o contexto mais relevante é crucial. | |
| Segurança dos dados | Filtragem de subgrafo (RBAC/ABAC) | Controle granular (até o nível do nó) impede vazamentos. | "Zonas cegas": se um nó importante for removido, a resposta pode ficar incompleta. | Em ambientes corporativos com requisitos rigorosos de acesso (PII, GDPR, segredos comerciais). |
Rastreabilidade, confiança e segurança
Uma das principais vantagens do GraphRAG é a capacidade de apresentar cadeias de evidência transparentes. Em vez de uma resposta de "caixa-preta", o sistema pode mostrar o caminho do raciocínio: "O fato A é mencionado em [doc1]. Ele está ligado ao fato B em [doc2], e B, de acordo com [doc3], leva a C", o que aumenta a confiança do usuário e simplifica a depuração.
Além disso, a estrutura de grafo permite implementar um controle de acesso granular (RBAC/ABAC). Cada nó ou aresta no grafo pode ter um rótulo de acesso. Ao extrair o subgrafo, o sistema filtra automaticamente os dados aos quais o usuário não tem permissão, garantindo a segurança em domínios sensíveis (finanças, RH, medicina).
Avaliação de qualidade
A avaliação de um sistema GraphRAG é multifacetada e inclui métricas para cada componente:
- Métricas de extração de conhecimento: F1-score para NER e RE, para avaliar a qualidade da construção do grafo.
- Métricas de extração de subgrafo: Subgraph Recall@K (proporção de casos em que os nós/arestas necessários para a resposta foram incluídos no subgrafo extraído) e Path Precision/Recall para questões multi-hop.
- Métricas da resposta do LLM:
- Faithfulness / Groundedness: até que ponto a resposta se baseia estritamente no contexto fornecido.
- Avaliação humana: avaliação por especialistas com base em critérios de correção, completude e coerência.
Para automatizar a avaliação, são utilizados benchmarks especializados (por exemplo, WebQuestionsSP, GrailQA) e frameworks (como o RAGAS)[9].
Ver também
- Retrieval-Augmented Generation (RAG)
- Grafo de conhecimento
- Banco de dados vetorial
- Embedding
- Agente de IA
- Avaliação e benchmarks de LLM
Literatura
- Zhang, Q. et al. (2025). A Survey of Graph Retrieval‑Augmented Generation for Customized Large Language Models. arXiv:2501.13958.
- Xu, Z. et al. (2024). Retrieval‑Augmented Generation with Knowledge Graphs for Customer Service Question Answering. arXiv:2404.17723.
- Hu, Y. et al. (2024). GRAG: Graph Retrieval‑Augmented Generation. arXiv:2405.16506.
- Nakano, R. et al. (2021). WebGPT: Browser‑assisted Question‑Answering with Human Feedback. arXiv:2112.09332.
- Yang, R. et al. (2025). KG‑IRAG: A Knowledge Graph‑Based Iterative Retrieval‑Augmented Generation Framework for Temporal Reasoning. arXiv:2503.14234.
- Song, Y. et al. (2023). Advancements in Complex Knowledge Graph Question Answering: A Survey. DOI:10.3390/electronics12214395.
- Nogueira, R.; Cho, K. (2019). Passage Re‑ranking with BERT. arXiv:1901.04085.
- Hsu, H.‑L.; Tzeng, J. (2025). DAT: Dynamic Alpha Tuning for Hybrid Retrieval in Retrieval‑Augmented Generation. arXiv:2503.23013.
- Lewis, P. et al. (2020). Retrieval‑Augmented Generation for Knowledge‑Intensive NLP Tasks. arXiv:2005.11401.
- Karpukhin, V. et al. (2020). Dense Passage Retrieval for Open‑Domain Question Answering. arXiv:2004.04906.
- Sun, H. et al. (2018). Open‑Domain Question Answering Using Early Fusion of Knowledge Bases and Text (GRAFT‑Net). arXiv:1809.00782.
- Sun, H.; Bedrax‑Weiss, T.; Cohen, W. W. (2019). PullNet: Open‑Domain Question Answering with Iterative Retrieval on Knowledge Bases and Text. arXiv:1904.09537.
- He, X. et al. (2024). G‑Retriever: Retrieval‑Augmented Generation for Textual Graph Understanding and Question Answering. arXiv:2402.07630.
- Es, S.; James, J.; Espinosa‑Anke, L.; Schockaert, S. (2024). RAGAs: Automated Evaluation of Retrieval Augmented Generation. ACL:2024.eacl-demo.16.
Notas
- ↑ 1.0 1.1 Zhang, Q., et al. A Survey of Graph Retrieval-Augmented Generation for Customized Large Language Models. arXiv, 2025. arXiv:2501.13958.
- ↑ Xu, Z., et al. Retrieval-Augmented Generation with Knowledge Graphs for Customer Service Question Answering. SIGIR, 2024. arXiv:2404.17723; DOI: 10.1145/3626772.3661370.
- ↑ 3.0 3.1 Hu, Y., et al. GRAG: Graph Retrieval‑Augmented Generation. arXiv, 2024. arXiv:2405.16506; também em Findings of NAACL 2025: ACL Anthology.
- ↑ Nakano, R., et al. WebGPT: Browser‑assisted question‑answering with human feedback. arXiv, 2021. arXiv:2112.09332.
- ↑ Yang, R., et al. KG‑IRAG: A Knowledge Graph‑Based Iterative Retrieval‑Augmented Generation Framework for Temporal Reasoning. arXiv, 2025. arXiv:2503.14234.
- ↑ 6.0 6.1 Song, Y., Li, W., Dai, G., Shang, X. Advancements in Complex Knowledge Graph Question Answering: A Survey. Electronics, 2023. DOI: 10.3390/electronics12214395.
- ↑ 7.0 7.1 Nogueira, R., Cho, K. Passage Re‑ranking with BERT. arXiv, 2019. arXiv:1901.04085.
- ↑ Hsu, H.‑L.; Tzeng, J. DAT: Dynamic Alpha Tuning for Hybrid Retrieval in Retrieval‑Augmented Generation. arXiv, 2025. arXiv:2503.23013.
- ↑ Es, S.; James, J.; Espinosa Anke, L.; Schockaert, S. RAGAs: Automated Evaluation of Retrieval Augmented Generation. EACL (System Demonstrations), 2024. ACL:2024.eacl-demo.16; também preprint: arXiv:2309.15217.