Ciência e Dados
Menu
  • Home
  • Sobre
  • Contato
Menu
GraphRAG x RAG

IA Generativa – GraphRAG x RAG

Posted on 21 de julho de 202421 de julho de 2024 by David Matos

Este é o segundo artigo da série sobre GraphRAG. Acesse o primeiro artigo clicando aqui.

Dois Tipos de Representação do Conhecimento – Vetores e Grafos

O núcleo do RAG típico – pesquisa vetorial – processa um pedaço de texto como entrada e retorna texto conceitualmente semelhante a partir de um banco de dados vetorial. Isso é agradavelmente automático e muito útil para diversas tarefas.

O que você talvez não pense toda vez que fizer isso é a aparência de um vetor ou o que o cálculo de similaridade está fazendo. Vejamos uma maçã em termos humanos, termos vetoriais e termos de grafos:

apple-vector-knowledge-graph

A representação humana é complexa e multidimensional e não é algo que possamos captar totalmente no papel. Vamos conceder alguma licença poética e imaginar que esta imagem lindamente tentadora representa uma maçã em toda a sua glória perceptiva e conceitual.

A representação vetorial da maçã é uma matriz de números – uma construção do domínio estatístico. A magia dos vetores é que cada um deles captura a essência do texto correspondente em forma codificada. No entanto, em um contexto RAG, eles só são valiosos quando você precisa identificar o quão semelhante um punhado de palavras é a outro.

Fazer isso é tão simples quanto executar um cálculo de similaridade (também conhecido como matemática vetorial) e obter uma correspondência.

No entanto, se você quiser entender o que está dentro de um vetor, entender o que está ao seu redor, entender as coisas representadas em seu texto ou entender como qualquer uma delas se encaixa em um contexto mais amplo, então os vetores como representação simplesmente não são capazes de fazer isso.

Os grafos de conhecimento, por outro lado, são representações declarativas – ou em termos de IA, simbólicas – do mundo. Como resultado, tanto humanos quanto máquinas podem compreender e raciocinar com base em grafos de conhecimento. Além disso, você pode consultar, visualizar, anotar, corrigir e aumentar grafos de conhecimento. Um grafo de conhecimento representa o seu modelo – a parte do mundo que representa o domínio com o qual você está trabalhando.

GraphRAG x RAG

Não é uma competição 🙂.

Consultas vetoriais e de grafos agregam valor ao RAG. Conforme apontado pelo fundador do LlamaIndex, Jerry Liu, é útil pensar no GraphRAG como grafos incluindo vetores. Isso é diferente do “RAG somente vetorial”, que é estritamente baseado na semelhança com embeddings baseadas em palavras no texto.

Fundamentalmente, GraphRAG é RAG, onde o caminho de recuperação inclui um grafo de conhecimento. Como você pode ver abaixo, o padrão principal do GraphRAG é simples. É basicamente a mesma arquitetura do RAG com vetores, mas com um gráfico de conhecimento inserido na imagem.

Padrão GraphRAGgraphrag-architectureNa imagem acima, você vê uma consulta baseada em grafo sendo acionada. Opcionalmente, pode incluir um componente de similaridade vetorial. Você pode optar por armazenar seus grafos e vetores separadamente em dois bancos de dados distintos ou usar um banco de dados de grafos como o Neo4j, que também suporta pesquisa vetorial.

Um dos padrões comuns para usar GraphRAG é o seguinte:

  • Faça uma pesquisa vetorial ou por palavra-chave para encontrar um conjunto inicial de nós.
  • Percorra o grafo para trazer de volta informações sobre nós relacionados.
  • Opcionalmente, reclassifique os documentos usando um algoritmo de classificação baseado em grafo, como o PageRank.

Os padrões variam de acordo com o caso de uso e, como tudo em Inteligência Artificial hoje, o GraphRAG está provando ser um espaço rico, com novas descobertas surgindo a cada semana. 

Ciclo de Vida do GraphRAG

Um aplicativo de IA Generativa que usa GraphRAG segue o mesmo padrão de qualquer aplicativo RAG, com uma etapa adicional de “criar grafo” no início:

graphrag-lifecycle

Criar um grafo é análogo a agrupar documentos e carregá-los em um banco de dados vetorial. Os avanços nas ferramentas tornaram a criação de grafos literalmente muito fácil. A boa notícia é tripla:

1- Os grafos são altamente iterativos – você pode começar com um “grafo mínimo viável” e expandir a partir daí.

2- Uma vez que seus dados estão em um grafo de conhecimento, fica muito fácil evoluir. Você pode adicionar mais tipos de dados para colher os benefícios dos efeitos da rede de dados. Você também pode melhorar a qualidade dos dados para aumentar o valor dos resultados da sua aplicação.

3- Esta parte da pilha está melhorando rapidamente, o que significa que a criação de grafos só ficará mais fácil à medida que as ferramentas se tornarem mais sofisticadas.

Adicionar a etapa de criação do grafo à imagem anterior fornece um pipeline semelhante a este:

graph-creationVamos falar sobre os benefícios do GraphRAG no próximo artigo.

David Matos

Referências:

IA Generativa e LLMs Para Processamento de Linguagem Natural

The GraphRAG Manifesto: Adding Knowledge to GenAI

GraphRAG: A New Approach for Question & Answering on Private Data

Compartilhar

  • Clique para compartilhar no X(abre em nova janela) 18+
  • Clique para compartilhar no Facebook(abre em nova janela) Facebook
  • Clique para compartilhar no LinkedIn(abre em nova janela) LinkedIn
  • Clique para compartilhar no WhatsApp(abre em nova janela) WhatsApp
  • Clique para compartilhar no Telegram(abre em nova janela) Telegram
  • Clique para compartilhar no Tumblr(abre em nova janela) Tumblr
  • Clique para compartilhar no Pinterest(abre em nova janela) Pinterest

Relacionado

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Buscar

Tags Mais Comuns nos Posts

Agentes de IA Analytics Análise de Negócios Apache Spark AWS Big Data Blockchain Business Intelligence Cache-Augmented Generation (CAG) ChatGPT Cientista de Dados Cientistas de Dados Ciência de Dados Cloud Computing Data Lake Data Mesh Data Science Data Scientist Data Warehouse Deep Learning Deploy Engenharia de Dados Estatística GPU GraphRAG Hadoop IA Generativa Inteligência Artificial Internet of Things Linguagem Python Linguagem R LLM LLMs Machine Learning Metadados Normalização NVIDIA Oracle Pipeline de Dados Predictive Analytics Probabilidade PySpark Python RAG Storytelling

Histórico de Posts

  • maio 2025 (1)
  • abril 2025 (2)
  • março 2025 (4)
  • fevereiro 2025 (8)
  • janeiro 2025 (5)
  • dezembro 2024 (4)
  • novembro 2024 (1)
  • outubro 2024 (1)
  • setembro 2024 (1)
  • agosto 2024 (1)
  • julho 2024 (3)
  • junho 2024 (1)
  • maio 2024 (1)
  • abril 2024 (2)
  • março 2024 (1)
  • fevereiro 2024 (1)
  • janeiro 2024 (1)
  • dezembro 2023 (1)
  • outubro 2023 (2)
  • setembro 2023 (1)
  • agosto 2023 (4)
  • julho 2023 (2)
  • junho 2023 (4)
  • maio 2023 (2)
  • abril 2023 (2)
  • março 2023 (3)
  • fevereiro 2023 (3)
  • janeiro 2023 (3)
  • dezembro 2022 (7)
  • novembro 2022 (6)
  • outubro 2022 (2)
  • setembro 2022 (3)
  • agosto 2022 (2)
  • julho 2022 (2)
  • junho 2022 (3)
  • maio 2022 (1)
  • abril 2022 (3)
  • março 2022 (1)
  • fevereiro 2022 (3)
  • janeiro 2022 (2)
  • dezembro 2021 (1)
  • novembro 2021 (5)
  • outubro 2021 (2)
  • setembro 2021 (3)
  • agosto 2021 (1)
  • junho 2021 (1)
  • fevereiro 2021 (2)
  • janeiro 2021 (1)
  • dezembro 2020 (1)
  • novembro 2020 (1)
  • outubro 2020 (2)
  • agosto 2020 (1)
  • abril 2020 (1)
  • março 2020 (1)
  • fevereiro 2020 (2)
  • agosto 2019 (1)
  • abril 2019 (1)
  • setembro 2018 (2)
  • julho 2018 (1)
  • junho 2018 (3)
  • abril 2018 (1)
  • março 2018 (1)
  • fevereiro 2018 (2)
  • janeiro 2018 (1)
  • dezembro 2017 (1)
  • novembro 2017 (1)
  • outubro 2017 (1)
  • setembro 2017 (1)
  • julho 2017 (1)
  • junho 2017 (1)
  • maio 2017 (2)
  • abril 2017 (1)
  • janeiro 2017 (1)
  • novembro 2016 (1)
  • outubro 2016 (1)
  • setembro 2016 (1)
  • julho 2016 (1)
  • junho 2016 (1)
  • maio 2016 (1)
  • abril 2016 (1)
  • fevereiro 2016 (1)
  • janeiro 2016 (3)
  • dezembro 2015 (4)
  • novembro 2015 (6)
  • outubro 2015 (9)
  • setembro 2015 (9)
  • agosto 2015 (9)
©2025 Ciência e Dados
 

Carregando comentários...