O que é GraphRAG?
Estamos prestes a perceber que, para fazer algo realmente útil com IA Generativa, não dá para depender apenas de LLMs autorregressivos para tomar decisões. Sabemos o que você está pensando: “RAG é a solução! Ou o fine-tuning, ou talvez o GPT-5”.
[Obs.: Caso não tenham nenhuma introdução sobre RAG, leia este artigo antes: O que é RAG?].
De fato, técnicas como o RAG baseado em vetores e o fine-tuning podem ajudar e são suficientes para alguns casos de uso. No entanto, há toda uma outra classe de situações em que essas técnicas esbarram em limitações. O RAG baseado em vetores, assim como o fine-tuning, aumenta a probabilidade de obter uma resposta correta para muitos tipos de perguntas. Contudo, nenhuma dessas técnicas oferece a certeza de uma resposta exata. Muitas vezes, também faltam contexto, profundidade e uma conexão com o que você já sabe ser verdade. Além disso, essas ferramentas raramente fornecem pistas sobre o porquê de uma decisão ter sido tomada.
Descobriu-se que construir um grafo de conhecimento dos seus dados e usá-lo no RAG traz várias vantagens poderosas. Há uma base sólida de pesquisas que comprova que isso resulta em respostas melhores para a maioria das perguntas, se não para todas, que você poderia fazer a um LLM usando apenas o RAG vetorial.
Vamos nos aprofundar um pouco mais e entender como ele funciona internamente.
RAG vs GraphRAG
O GraphRAG se diferencia do RAG tradicional ao incorporar grafos de conhecimento ao processo de recuperação de informações, enquanto o RAG tradicional depende exclusivamente de vetores para calcular similaridades entre textos. No RAG, as respostas são baseadas em correspondências estatísticas de palavras, o que pode resultar em respostas corretas, mas sem garantia de contexto ou explicabilidade. Por outro lado, o GraphRAG utiliza grafos para representar relações entre entidades, proporcionando respostas mais completas, contextualizadas e explicáveis, além de permitir auditoria e iteração mais fácil. Essa abordagem torna o GraphRAG mais preciso e eficaz em casos complexos, onde a compreensão de interconexões entre informações é fundamental.
Vamos considerar um exemplo usando GraphRAG para entender uma consulta sobre finanças.
Consulta: “Explique como as taxas de juros afetam o mercado imobiliário”.
Pesquisa Global
Processo: O grafo de conhecimento é pesquisado em toda sua extensão para identificar todas as possíveis conexões entre as taxas de juros e o mercado imobiliário.
Resultados: A pesquisa pode revelar não apenas os efeitos diretos das taxas de juros no setor imobiliário, mas também ligações indiretas através de fatores econômicos, políticas governamentais e o comportamento de outros mercados financeiros.
Exemplo de saída:
- Aumentos nas taxas de juros afetam o custo dos empréstimos, tornando as hipotecas mais caras para compradores de imóveis;
- O aumento nas taxas de juros pode desacelerar o crescimento do mercado imobiliário ao reduzir a demanda por imóveis;
- As taxas de juros influenciam o comportamento dos investidores, que podem preferir títulos com rendimento mais alto em vez de investimentos em propriedades.
Pesquisa Local
Processo: A busca é limitada a um subgráfico focado nas conexões mais próximas entre as taxas de juros e o mercado imobiliário.
Resultados: A pesquisa revela interações diretas entre as taxas de juros e o mercado imobiliário, focando nas conexões imediatas entre esses dois elementos.
Exemplo de saída:
- A elevação das taxas de juros resulta diretamente no aumento das taxas de hipoteca, impactando a acessibilidade para novos compradores;
- O mercado imobiliário e as taxas de juros são fortemente relacionados através de políticas monetárias que afetam a oferta de crédito imobiliário.
No exemplo de finanças, uma consulta sobre como as taxas de juros afetam o mercado imobiliário seria tratada de forma diferente pelo RAG e pelo GraphRAG. Com o RAG tradicional, o sistema retornaria trechos de texto que mencionam taxas de juros e mercado imobiliário com base na similaridade de palavras, sem explorar as relações mais profundas ou indiretas entre os dois conceitos. A resposta poderia ser correta, mas limitada ao texto encontrado, sem revelar conexões mais ricas. Já o GraphRAG, ao utilizar um grafo de conhecimento, buscaria não apenas as interações diretas, mas também as indiretas, como o impacto das taxas de juros em outros mercados financeiros e políticas econômicas, oferecendo uma explicação mais completa e contextualizada, conectando entidades e suas inter-relações no domínio financeiro.
Engenheiros de IA e pesquisadores estão descobrindo o mesmo que o Google: que o segredo para romper essas barreiras são os grafos de conhecimento. Em outras palavras, é necessário incorporar o conhecimento sobre “coisas” ao conjunto de técnicas estatísticas baseadas em texto. Isso funciona de forma semelhante a outros tipos de RAG, mas com uma consulta a um grafo de conhecimento, além do uso de um índice vetorial. Em outras palavras, GraphRAG!
Essa vantagem por si só já será um grande motor de adoção do GraphRAG. Além disso, o desenvolvimento se torna mais fácil, pois os dados ficam visíveis ao construir sua aplicação. Outro grande benefício é que os grafos são compreensíveis e podem ser utilizados tanto por humanos quanto por máquinas. Construir com GraphRAG, portanto, é mais simples, proporciona melhores resultados e, o que é essencial para muitas indústrias, é explicável e auditável!
O artigo “The GraphRAG Manifesto: Adding Knowledge to GenAI” discute o conceito de GraphRAG, uma evolução do sistema de Recuperação Baseada em Geração (RAG) que integra grafos de conhecimento ao processo, em vez de depender apenas de vetores. O autor, Philip Rathle, CTO da Neo4j, argumenta que as técnicas tradicionais de RAG, que utilizam apenas vetores, têm limitações significativas. Embora essas técnicas aumentem a probabilidade de respostas corretas, elas não garantem certeza, contexto ou explicações claras sobre como as decisões foram tomadas.
Ele faz uma analogia com a evolução dos motores de busca, destacando que, em 2012, o Google introduziu o Knowledge Graph para melhorar a busca ao lidar com “coisas” e não apenas “strings” de texto. Hoje, algo semelhante está acontecendo com a IA generativa, onde muitos projetos encontram limites ao depender de strings em vez de “coisas”, ou seja, informações estruturadas em grafos.
A proposta do GraphRAG é trazer os grafos de conhecimento para o processo de recuperação de informações, proporcionando respostas mais precisas, contextualizadas e explicáveis. O autor aponta que os grafos são intuitivos, fáceis de desenvolver e auditar, o que traz benefícios tanto para desenvolvedores quanto para usuários. Além disso, os grafos permitem uma iteração rápida e fácil, uma vez que os dados podem ser continuamente melhorados e expandidos.
Três principais vantagens do GraphRAG são destacadas:
- Maior precisão e respostas mais úteis: estudos mostraram que o GraphRAG melhora a precisão em até três vezes em relação ao RAG baseado apenas em vetores;
- Facilidade de desenvolvimento e manutenção: o uso de grafos facilita a construção e depuração de aplicativos, pois os dados são mais acessíveis e compreensíveis;
- Governança e explicabilidade: o GraphRAG oferece maior transparência e controle, permitindo rastrear decisões, o que é crucial em setores regulamentados como o financeiro e de saúde.
Por fim, assim como o Google percebeu a importância dos grafos para a busca na web, o GraphRAG será o próximo passo natural para sistemas de IA generativa que precisam de explicabilidade, segurança e privacidade. Acreditamos que, em breve, o GraphRAG substituirá o RAG baseado apenas em vetores e se tornará a arquitetura padrão para a maioria dos casos de uso.
A triggo.ai vem atuando na fronteira deste desafio, implementando soluções robustas e inovadoras de IA Generativa e aplicando metodologias de Data & AI Products para elevar e acelerar a jornada Data Driven das organizações. Fale com um de nossos consultores especialistas!