O que é GraphRAG?

O que é GraphRAG?

O GraphRAG é uma versão avançada de geração aumentada de recuperação (RAG) que incorpora dados estruturados em gráficos, como gráficos de conhecimento (KGs).1 Ao contrário dos sistemas de RAG básicos que dependem de busca vetorial para recuperar textos semanticamente semelhantes, o GraphRAG aproveita a estrutura relacional dos gráficos para recuperar e processar informações com base em consultas específicas do domínio. 

O GraphRAG foi introduzido pela pesquisa da Microsoft em 2024 para lidar com as limitações dos grandes modelos de linguagem (LLMs).2 Os LLMs tradicionais muitas vezes têm dificuldades com fluxos de trabalho complexos, especialmente no raciocínio de dados privados ou estruturados, porque eles não têm a capacidade de entender os relacionamentos entre entidades. O GraphRAG soluciona esse problema usando bancos de dados gráficos para modelar essas relações, permitindo que ele lide com consultas complexas, recupere informações contextuais e melhore a precisão nas aplicações de IA generativa (IA gen).

As mais recentes tendências em IA, trazidas a você por especialistas

Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Como o GraphRAG funciona?

A geração aumentada de recuperação (RAG) é uma técnica que recupera informações relevantes usando pesquisa por similaridade de bancos de dados de vetores, fontes de conhecimento externas e bases de conhecimento internas. Em seguida, combina essas informações recuperadas com LLMs para gerar saídas precisas e com reconhecimento de contexto. Embora as aplicações de RAG tradicionais melhorem a funcionalidade dos LLMs nas aplicações de IA generativa, elas não têm a capacidade de capturar relações complexas nos dados. Elas têm dificuldades para executar tarefas como raciocínio multihops (combinar informações de várias fontes para obter respostas por meio de conexões lógicas e inferências indiretas), contexto relacional e compreensão de dados hierárquicos. Por exemplo, uma abordagem de RAG tradicional pode ter dificuldades com uma consulta como "Quem desenvolveu a teoria da relatividade?" porque exige raciocínio sobre as relações entre entidades. 

O GraphRAG supera esse problema incorporando dados estruturados em gráficos, que organizam informações como uma rede de nós (entidades como pessoas ou lugares), edges (relações entre essas entidades) e rótulos (atributos que definem a categoria de um nó e edge). Por exemplo, um gráfico de conhecimento pode representar "Albert Einstein—desenvolvido—a teoria da relatividade." como partes de informações estruturadas em gráficos, tornando mais fácil para o GraphRAG recuperar e processar essas informações. Neste exemplo, os nós são "Einstein" e "teoria da relatividade", e a edge é "desenvolvida".

Arquitetura do GraphRAG

Componentes do GraphRAG

O GraphRAG funciona por meio de quatro componentes principais:

  1. Processador de consultas

  2. Recuperador

  3. Organizador

  4. Gerador

Processador de consultas

A consulta do usuário é pré-processada para identificar entidades e relacionamentos-chave relevantes para a estrutura do gráfico. Técnicas como Named Entity Recognition e extração relacional de aprendizado de máquina são usadas para mapear a consulta para nós e edges dentro do gráfico. Por exemplo, uma consulta como "Quem desenvolveu a teoria da relatividade?" identifica "Albert Einstein" como um nó e "desenvolvido " como a relação a ser pesquisada no gráfico. Ferramentas como o Cypher, uma linguagem de consulta gráfica, são usadas para buscar dados específicos do domínio a partir dos gráficos de conhecimento. 

Recuperador

O recuperador localiza e extrai conteúdo relevante de fontes de dados externas do gráfico com base na consulta processada. Ao contrário dos sistemas de RAG tradicionais, que dependem de embeddings para texto ou imagens, os recuperadores GraphRAG lidam com dados estruturados em gráficos aproveitando sinais semânticos e estruturais. Eles usam técnicas como algoritmos de travessia de gráficos (métodos como pesquisa em largura (BFS) ou pesquisa em profundidade (DFS) que Explore o gráfico para localizar nós e edges relevantes). Técnicas adicionais incluem redes neurais gráficas (GNNs) (modelos de IA que aprendem a estrutura de gráficos para recuperar dados de forma eficaz), recuperação adaptativa (ajusta dinamicamente quanto do gráfico pesquisar, reduzindo informações irrelevantes ou ruído) e modelos de embedding. Para a consulta "Quem desenvolveu a teoria da relatividade?", o recuperador localiza o nó "teoria da relatividade" no gráfico e segue a relação "desenvolvida por" para encontrar "Albert Einstein".

Organizador

Os dados do gráfico recuperados são refinados para remover informações irrelevantes ou barulhentas por meio de técnicas como poda de gráficos, reclassificação e aumento. O organizador ajuda a garantir que o gráfico recuperado esteja limpo, compacto e pronto para processamento, preservando informações contextuais críticas. Para a consulta "Quem desenvolveu a teoria da relatividade?" o organizador refina os dados do gráfico recuperados removendo nós e edges, ajudando a garantir que apenas a relação relevante, "Albert Einstein—desenvolveu—a teoria da relatividade," seja mantida. 

Gerador

Os dados limpos do gráfico são então usados para produzir a saída final. Isso pode envolver a geração de respostas baseadas em texto usando LLMs ou a criação de novas estruturas gráficas para tarefas científicas, como projeto de moléculas ou expansão de gráficos de conhecimento. Para a consulta "Quem desenvolveu a teoria da relatividade?", o GraphRAG recupera "Albert Einstein" do gráfico e gera a resposta: "Albert Einstein desenvolveu a teoria da relatividade". Técnicas de IA generativa são usadas para sintetizar a resposta final. 

Exemplo do GraphRAG

Aplicações do GraphRAG

O GraphRAG é transformador em todos os setores, combinando raciocínio baseado em gráficos, pesquisa vetorial e IA generativa para lidar com tarefas específicas do domínio que exigem informações contextuais profundas. Abaixo, exploramos algumas das principais aplicações do GraphRAG:

  1. Resumo de texto com foco em consultas (QFS)

  2. Recomendações personalizadas

  3. Apoio à decisão

  4. Detecção e prevenção de fraude

  5. Gerenciamento e recuperação de conhecimento

Resumo de texto com foco em consultas (QFS)

O GraphRAG pode ser usado para sumarização de texto focado em consultas. Ele se concentra em responder a consultas específicas do usuário, recuperando e sintetizando informações de uma representação estruturada em gráficos do texto. Um estudo demonstrou a eficácia do GraphRAG em responder a perguntas exploratórias globais em grandes conjuntos de dados, como transcrições de podcasts e artigos de notícias.3 Ele superou os sistemas RAG tradicionais baseados em vetores em tarefas que exigem insights abrangentes e diversos. Por exemplo, o GraphRAG foi testado em um conjunto de dados de podcast (~1M de tokens) apresentando conversas com líderes de tecnologia e um conjunto de dados de notícias (~1,7M tokens) cobrindo tópicos de saúde, negócios e tecnologia. As perguntas incluíam "Como os líderes de tecnologia veem as leis de privacidade?" e "Quais são as principais prioridades de saúde pública?" 

O GraphRAG processa esses conjuntos de dados construindo um gráfico de conhecimento com entidades (por exemplo, "Leis de privacidade") e relacionamentos (por exemplo, "impacto na tecnologia"), organizando-os em comunidades hierárquicas (grupo de nós conectados organizando tópicos de alto nível para subtópicos específicos). Os resumos da comunidade pré-gerados permitem que o sistema recupere e combine insights relevantes de forma eficiente. Em comparação com a RAG tradicional, o GraphRAG alcançou maior abrangência (72-83%) e diversidade (62-82%) nas respostas geradas, ao mesmo tempo em que exigiu até 97% menos tokens para resumos de nível raiz. Essa capacidade torna o GraphRAG uma ferramenta ideal para tarefas de criação de sentido em domínios como jornalismo, educação e pesquisa.

Recomendações personalizadas

Em domínios como comércio eletrônico e entretenimento, o GraphRAG permite que chatbots e mecanismos de recomendação proporcionem experiências personalizadas. Por exemplo, no comércio eletrônico, as interações anteriores entre usuários e produtos podem formar um gráfico. O GraphRAG ajuda a gerenciar o crescente volume de dados de interação do usuário, extraindo subgráficos importantes que revelam as preferências e comportamentos do usuário. Pesquisas demonstraram que o uso de vários recuperadores para extrair subgráficos relevantes melhora a previsão de ações do usuário, enquanto a recuperação de subgráficos de problemas anteriores semelhantes melhora a qualidade dos sistemas de perguntas e respostas de atendimento ao cliente.4

Apoio à decisão

Na área da saúde, o GraphRAG auxilia os médicos no diagnóstico de pacientes com sintomas complexos, analisando as relações entre doenças, sintomas e tratamentos em um banco de dados gráfico. Ele recupera estudos médicos relevantes, relatórios de casos e informações sobre medicamentos para sugerir possíveis diagnósticos, destacar opções de tratamento eficazes e até alertar sobre possíveis interações medicamentosas. Esse recurso permite que os profissionais de saúde tomem decisões mais informadas, reduzam erros de diagnóstico e forneçam atendimento personalizado aos pacientes.  

Por exemplo, um estudo recente introduziu o MedGraphRAG, um framework projetado para aplicações médicas.5 Ele organiza dados médicos em três níveis: dados privados de usuários (por exemplo, relatórios médicos), literatura médica recente avaliada por pares e dicionários médicos fundamentais, ajudando a garantir precisão, rastreabilidade e relevância. Usando uma estrutura gráfica hierárquica e uma estratégia de "U-recuperar", ele recupera e sintetiza informações para consultas de usuários de forma eficiente, melhorando o desempenho dos LLMs ao gerar respostas confiáveis e baseadas em evidências com citações de fontes. Esta framework demonstra o potencial para fluxos de trabalho clínicos seguros, transparentes e eficientes, ajudando os profissionais de saúde com insights praticáveis.

Detecção e prevenção de fraudes

O GraphRAG identifica padrões incomuns que se desviam do comportamento esperado. Por exemplo, no setor de serviços financeiros, ele pode detectar padrões de transações suspeitas para evitar fraudes ou descobrir oportunidades de venda cruzada analisando o comportamento do cliente. Ao conectar múltiplas transações pequenas entre contas, o GraphRAG pode revelar esquemas fraudulentos maiores, ajudando os bancos a aprimorar o gerenciamento de riscos e fornecer serviços mais personalizados. 

Gerenciamento e recuperação de conhecimento

O GraphRAG pode aprimorar o gerenciamento de conhecimento, organizando e recuperando documentos de uma maneira que torne o conhecimento mais acessível e adaptado a consultas específicas. Ele analisa o contexto e as relações entre vários documentos e ajuda a extrair as informações mais relevantes de forma rápida e eficaz. Por exemplo, um caso de uso proeminente do GraphRAG é em empresas de advocacia, onde se destaca no gerenciamento de vastas coleções de documentos jurídicos. Ao analisar as relações e o contexto em milhares de documentos jurídicos, o GraphRAG pode recuperar com eficiência precedentes de casos relevantes ou referências jurídicas, otimizando os fluxos de trabalho de pesquisa e melhorando significativamente a precisão.

AI Academy

A ascensão da IA generativa para negócios

Saiba mais sobre a ascensão histórica da IA generativa e o que isso significa para os negócios.

Desafios do GraphRAG

Os sistemas GraphRAG apresentam desafios como o gerenciamento de relacionamentos complexos de dados, ajudando a garantir a recuperação eficiente e a integração com modelos de linguagem. É possível lidar com esses desafios por meio de um projeto cuidadoso do esquema gráfico, de estratégias de consulta otimizadas e do uso de ferramentas robustas. Os principais desafios associados ao GraphRAG são:

  1. Escalabilidade

  2. Otimização da integração de componentes

  3. Confiabilidade

  4. Privacidade e segurança

  5. Explicabilidade

Escalabilidade

Conforme o volume de dados aumenta, é difícil escalonar os sistemas GraphRAG. Os desafios incluem gerenciamento de dados não estruturados, armazenamento eficiente de gráficos, otimização de consultas de gráficos, amostragem de subgráficos, geração responsiva, organização de componentes recuperados, treinamento e ajuste fino. A implementação de soluções avançadas de hardware, como aceleração de GPU, compressão de modelos e manutenção, adiciona mais complexidade.

Otimização da integração de componentes

Projetar um sistema GraphRAG coeso requer interação perfeita entre o processador de consultas, o recuperador, o organizador e os componentes do gerador. Garantir que esses componentes operem harmoniosamente, mantendo a eficiência e a precisão, é um desafio complexo.

Confiabilidade

Garantir baixas taxas de erro em raciocínio em várias etapas é desafiador devido ao acúmulo de erros na recuperação e geração de múltiplos saltos.

Privacidade e segurança

A estrutura relacional dos gráficos introduz riscos significativos de vazamento de informações confidenciais, pois as conexões e padrões dentro do gráfico podem revelar dados privados. A proteção dessas informações em todo o pipeline do GraphRAG requer técnicas robustas de preservação da privacidade. Os sistemas GraphRAG são suscetíveis a ataques adversários, incluindo a invasão de estruturas gráficas e manipulação de prompt, enfatizando ainda mais a necessidade de medidas de segurança aprimoradas.

Explicabilidade

Embora o GraphRAG ofereça explicabilidade aprimorada por meio de relações explícitas entre os nós, gerar caminhos de raciocínio ou explicações claras e interpretáveis continua sendo um desafio. Garantir que essas explicações sejam abrangentes e fiéis à lógica do sistema é crítico para a confiança em domínios de alto risco, como saúde, direito e finanças.

Frameworks para construir um sistema GraphRAG

Os sistemas GraphRAG podem ser implementados usando várias ferramentas e frameworks, incluindo opções de código aberto, para compatibilidade com o processamento de documentos, criação de gráficos de conhecimento, pesquisa semântica e integração de LLM. Ferramentas populares incluem LangChain, LlamaIndex, Neo4j e OpenAI, com recursos adicionais e tutoriais disponíveis em plataformas como GitHub. 

O LlamaIndex é usado para indexar documentos, extrair entidades e relacionamentos para criar gráficos de conhecimento, gerar embeddings e integração com LLMs como o GPT. O Neo4j serve como banco de dados para armazenar e gerenciar estruturas de gráficos, permitindo recuperação eficiente por meio de relações semânticas e transversais de gráficos. 

Essas ferramentas trabalham juntas para permitir a pesquisa semântica usando embeddings, tratamento de metadados para transparência e geração de respostas com reconhecimento de contexto. Os LLMs , incluindo os modelos OpenAI GPT, integrados por meio de APIs, ajudam a produzir respostas precisas e relevantes com base nos dados dos gráficos recuperados. 

O GraphRAG é um grande avanço em relação aos sistemas de RAG tradicionais, que são limitados por métodos de recuperação linear. Ele combina o poder dos gráficos de conhecimento, a pesquisa semântica e os modelos de linguagem avançados. À medida que os setores exigem uma compreensão mais profunda e insights interconectados, o GraphRAG está pronto para se tornar uma tecnologia chave. Ela possibilitará sistemas de informação mais inteligentes, dinâmicos e altamente adaptáveis no futuro.

AI Academy

A ascensão da IA generativa para negócios

Saiba mais sobre a ascensão histórica da IA generativa e o que isso significa para os negócios.

Soluções relacionadas
IBM watsonx.ai

Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.

Conheça o watsonx.ai
Soluções de inteligência artificial

Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

Explore as soluções de IA
Serviços de IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

Explore os serviços de IA
Dê o próximo passo

Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

Explore o watsonx.ai Agende uma demonstração em tempo real
Notas de rodapé

1 Han, H., Wang, Y., Shomer, H., Guo, K., Ding, J., Lei, Y., ... & Tang, J. (2024). Retrieval-augmented generation with graphs (graphrag). arXiv preprint arXiv:2501.00309.

2 Larson, J., & Truitt, S. (2024). GraphRAG: Unlocking LLM discovery on narrative private data. Microsoft Research Blog. https://www.microsoft.com/br-pt/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/

3 Edge, D., Trinh, H., Cheng, N., Bradley, J., Chao, A., Mody, A., ... & Larson, J. (2024). From local to global: A graph rag approach to query-focused summarization. arXiv preprint arXiv:2404.16130.

4 Peng, B., Zhu, Y., Liu, Y., Bo, X., Shi, H., Hong, C., ... & Tang, S. (2024). Graph retrieval-augmented generation: A survey. arXiv preprint arXiv:2408.08921.

5 Wu, J., Zhu, J., Qi, Y., Chen, J., Xu, M., Menolascina, F., & Grau, V. (2024). Medical graph rag: Towards safe medical large language model via graph retrieval-augmented generation. arXiv preprint arXiv:2408.04187.