Desbloqueando o poder do Graph RAG: Implementação em produção

Desbloqueando o poder do Graph RAG: Implementação em produção

Hoje em dia, parece que todo mundo está fazendo geração aumentada de recuperação (RAG) e mais e mais estão adicionando gráficos de conhecimento para fazer RAG de gráfico . Mas muitos deles ficam presos no estágio de P&D, lutando (pelo menos um pouco) para colocar suas provas de conceito em produção.

O Graph RAG, assim como a maioria das tecnologias de IA, está sujeito a algumas regras difíceis de evitar:

Potencial poderoso

O Graph RAG pode agregar valor empresarial significativo.

Fácil de começar

Implementar um gráfico RAG simples é simples.

Difícil de aperfeiçoar

É difícil levar o gráfico RAG da prova de conceito para a produção.

Uma empresa que obteve sucesso com o graph RAG é a Glean , uma plataforma para conectar os dados internos de uma organização e torná-los todos pesquisáveis ​​e interativos por meio de interfaces e agentes de inteligência artificial (IA). A Glean acaba de garantir mais de US$ 260 milhões em sua última rodada de financiamento, com base na força, popularidade e capacidade de geração de receita de sua plataforma principal — cuja base é o graph RAG.

A Glean implementou uma plataforma baseada em RAG de gráfico que agrega valor, corta custos e simplifica processos internos, facilitando o início do RAG de gráfico usando as ferramentas mais recentes. Mesmo assim, desafios específicos do RAG de gráfico podem dificultar a mudança de P&D para produção, mas há maneiras de maximizar suas chances de sucesso.

Conectar a informação certa na hora certa é $$$$

É importante notar que a Glean é uma usuária avançada de seu próprio produto. Se você está se perguntando sobre o segredo do sucesso desta empresa de cinco anos com uma longa lista de clientes proeminentes (incluindo Pinterest, Reddit e Instacart), uma organização bem administrada dessa escala geralmente simplificou a forma como opera como uma organização. O fato de a Glean ser executada na Glean — e seus clientes estarem muito felizes — tem que ser um dos argumentos mais fortes a favor de seu produto — e seu potencial para adicionar valor empresarial.

Um dos clientes da Glean é "uma das maiores empresas de compartilhamento de caronas do mundo", que recorreu à Glean após tentar construir uma solução interna que não correspondeu às expectativas. Em um mês, a empresa viu o dobro de uso na plataforma Glean em comparação com sua solução interna.

Nós da DataStax amamos o Glean, tanto da perspectiva de sermos clientes por um tempo agora quanto, mais recentemente, como parceiros integrando o Langflow e o Glean . Mas o ponto principal aqui é que a história do Glean é um exemplo perfeito não apenas de quão poderoso e valioso o RAG gráfico pode ser, mas também de como acertar o RAG gráfico é desafiador, mesmo para alguns dos maiores nomes da tecnologia.

A grande empresa de compartilhamento de caronas diz que depois de mudar para a Glean está economizando, em média, de duas a três horas por semana por funcionário e mais de US$ 200 milhões por ano — tudo isso porque os funcionários simplesmente "encontram informações mais rápido", disse Matt Kixmoeller , CMO da Glean, à VentureBeat . Tempo é dinheiro, e muitas horas economizadas são muito dinheiro economizado — mas apenas se o trabalho for bem-feito.

Mais adiante, discutirei algumas diferenças sutis entre o RAG de gráfico medíocre e o RAG de gráfico ótimo, mas primeiro vamos falar sobre como é fácil começar.

Começar a usar o Graph RAG é fácil

Então, se uma grande empresa de compartilhamento de viagens não conseguiu construir sua própria plataforma de forma eficaz, por que eu diria que é fácil implementar o Graph RAG você mesmo?

Bem, antes de tudo, as tecnologias que dão suporte ao RAG e ao RAG gráfico percorreram um longo caminho no ano passado. Doze meses atrás, a maioria das empresas nem tinha ouvido falar de geração aumentada de recuperação. Agora, o suporte ao RAG não é apenas um recurso essencial das melhores ferramentas de construção de IA, como o LangChain , mas agora há o Langflow, um IDE visual para o RAG baseado no LangChain, que permite que você configure um sistema RAG com pouco ou nenhum código.

Alguns recursos para começar

Há muito o que aprender sobre RAG, como nosso guia para geração aumentada de recuperação explica, mas você não precisa saber tudo isso para começar. Leva apenas alguns minutos para colocar um aplicativo RAG em funcionamento (de graça) usando Langflow e DataStax Astra DB .

Graph RAG é uma variante mais nova das estratégias RAG, então as ferramentas de software são geralmente tão maduras quanto as do RAG simples. Mas ainda há algumas maneiras fáceis de começar.

Um dos caminhos mais rápidos para um aplicativo RAG de gráfico funcional, particularmente se você já estiver usando o LangChain, é o GraphVectorStore , adicionado recentemente ao LangChain. Ele essencialmente adiciona funcionalidade de gráfico a um armazenamento de vetor típico. Com ele, você pode facilmente transformar RAG em RAG de gráfico usando links que (provavelmente) já estão no seu conjunto de dados de documento.

Muitas pessoas novas em RAG de gráfico acham que há um grande passo em complexidade em relação ao RAG simples ou que precisam de um banco de dados de gráfico especializado. Mas você não precisa de um banco de dados de gráfico para fazer coisas de gráfico, incluindo RAG de gráfico.

Até mesmo dimensionar um sistema RAG de gráfico pode ser simples, como explica o artigo " Escalando Grafos de Conhecimento Eliminando Arestas ".

Quase todos os principais participantes do setor de IA oferecem recursos para entender e começar a usar o RAG (há até um curso no Coursera ).

Com todas as ferramentas e tutoriais disponíveis, começar a usar o Graph RAG é a parte fácil…

Mas trazer o Graph RAG para produção é difícil

O Graph RAG parece promissor para aprimorar sistemas de geração aumentada de recuperação (RAG), especialmente quando a busca vetorial tradicional falha em lidar com consultas complexas envolvendo vários documentos em contextos e formatos variados. No entanto, trazer o Graph RAG para a produção apresenta desafios únicos.

Compreendendo o papel do Graph RAG

Normalmente, os sistemas RAG se destacam em cenários simples, mas têm dificuldades quando as respostas exigem agregação de informações em diversas bases de conhecimento. Isso geralmente leva o sistema a perder documentos cruciais — não devido a um mau funcionamento, mas porque esses documentos não têm similaridade semântica suficiente com a consulta do usuário.

Por exemplo, um sistema RAG pode ignorar documentos relevantes se as informações necessárias estiverem inseridas em conteúdo denso e detalhado ou se os documentos cobrirem uma gama de tópicos apenas vagamente relacionados semanticamente. Isso pode ser particularmente problemático ao abordar consultas de pesquisa semântica que necessitam de informações gerais e específicas.

Abordando a lacuna de recuperação

O problema central que o gráfico RAG pretende resolver é a limitação dos sistemas de geração de recuperação simples-aumentada, que dependem apenas da proximidade semântica, falhando assim em recuperar informações menos semanticamente óbvias, mas relevantes . Modificar a busca de vetores para aprimorar a recuperação frequentemente envolve ajustes complexos em embeddings, que não são apenas tecnicamente exigentes, mas também custosos e potencialmente ineficazes para as nuances específicas de uma consulta de usuário.

Em vez de refinar o modelo semântico para forçar um ajuste — potencialmente causando mais problemas — integrar um gráfico de conhecimento fornece uma abordagem mais direcionada. Os gráficos de conhecimento permitem a conexão de conceitos relacionados que os modelos semânticos perdem. Por exemplo, vincular termos geograficamente ou contextualmente relacionados, como "Space Needle" e "bairro Lower Queen Anne", é mais direto e confiável por meio de um gráfico de conhecimento do que tentar ajustar os embeddings para atingir o mesmo resultado.

Construindo sistemas RAG de gráficos eficazes

A chave para uma implementação bem-sucedida de RAG de gráfico está em capturar e alavancar com precisão os relacionamentos não semânticos entre os dados. Ao aumentar a pesquisa semântica com dados estruturados e baseados em gráfico, podemos aprimorar a recuperação de documentos para responder melhor a consultas complexas.

Para resumir o problema que estamos tentando resolver com o gráfico RAG: há informações semiestruturadas e não semânticas conectando muitos dos conceitos que aparecem em documentos não estruturados. Gostaríamos de usar essas informações de conexão para complementar a pesquisa de vetor semântico para recuperar documentos que são mais adequados para responder a prompts e perguntas dentro dos casos de uso. Queremos simplesmente tornar a recuperação melhor e queremos usar algumas informações externas ou lógica externa para fazer isso, em vez de depender apenas da pesquisa de vetor semântico para conectar prompts com documentos.

Princípios orientadores para integração de Graph e RAG

Alguns princípios orientadores a serem lembrados ao criar e testar um aplicativo RAG gráfico são:

  • O gráfico deve conter conceitos e conexões significativas e de alta qualidade.
  • Conceitos e conexões devem ser relevantes para prompts dentro do conjunto de casos de uso.
  • As conexões gráficas devem complementar, não substituir, a pesquisa vetorial.
  • A utilidade das conexões gráficas de uma e duas etapas deve ser priorizada; depender de mais de três etapas para fazer conexões deve ser reservado apenas para casos de uso especializados.

A adoção desses princípios visa aumentar conjuntamente a explicabilidade, evitar a complexidade excessiva e maximizar a eficiência da construção e utilização de um sistema RAG gráfico.

Desafios de mover o Graph RAG para produção

A maioria dos desenvolvedores entende que há muita incerteza na construção de um sistema como o RAG de gráfico. Coisas inesperadas podem acontecer durante a preparação e o carregamento de dados, durante a construção de um gráfico de conhecimento, durante a consulta e a travessia do gráfico, durante a compilação de resultados e construção de prompts e em praticamente qualquer outro ponto do fluxo de trabalho. Embora implementar inicialmente o RAG de gráfico não seja difícil, aqui estão alguns desafios subsequentes de construir e testar ainda mais um aplicativo RAG de gráfico:

  • O Graph RAG não está indo muito melhor do que o RAG simples: Este é um sintoma muito comum com muitas causas possíveis. Uma delas pode ser que a busca vetorial encontre os documentos certos sem usar geração aumentada de recuperação de grafos.
  • Você (ainda) vê alucinações: isso geralmente não é causado pelo gráfico, e a incapacidade de gerar respostas relevantes está presente mesmo ao desabilitar os aspectos gráficos do RAG.
  • O gráfico é muito grande: Muitas arestas ou nós podem causar problemas de escala e na qualidade das conexões feitas durante a travessia do gráfico.
  • O gráfico é muito pequeno: um número baixo de arestas ou nós leva a um número baixo de conexões gráficas significativas.
  • Sua implementação requer maior complexidade de implantação: implantações difíceis são sempre um desafio, especialmente se envolverem ferramentas de software novas e especializadas.
  • Sua implementação não é escalável: este artigo sobre escalonamento de gráficos de conhecimento discute esse desafio e oferece uma solução potencial.

Esta lista de problemas potenciais não é abrangente, mas representa alguns dos problemas potenciais que temos observado. Para lidar com eles, estamos começando a construir ferramentas que simplificam a mudança da experimentação para a produção usando a API do Langflow . Espero que isso possa ajudar com alguns desses problemas.

Simplificando o sucesso do Graph RAG

Arjun Landes , gerente de engenharia da Glean, observou no VentureBeat: "O fato de termos conseguido construir um gráfico de conhecimento tão sofisticado e combiná-lo com LLMs [modelos de grande linguagem] é onde está o verdadeiro poder". Não sei detalhes do sistema deles, mas concordo com a ideia de que o poder está na combinação, o que a Glean parece ter feito muito bem.

É importante notar que o conjunto de dados de documentos internos da Glean é um caso de uso ideal para o RAG gráfico. Ele conecta efetivamente elementos internos como pessoas, projetos e produtos — gerenciáveis ​​devido ao escopo finito de dados organizacionais em comparação com, digamos, os dados expansivos da Wikipedia. Esse foco provavelmente contribuiu significativamente para o sucesso da Glean ao tornar seu desafio mais tratável.

Ter os dados certos é essencial

Mesmo com um caso de uso ideal, a qualidade do gráfico de conhecimento é essencial; ele deve conectar os elementos certos nos momentos certos sem sobrecarregar o sistema com dados irrelevantes. Um gráfico excessivamente denso pode sobrecarregar o sistema, forçando-o a peneirar o excesso de informações, enquanto um gráfico esparso, mas de alta qualidade, ainda pode superar os sistemas RAG tradicionais ao focar em conexões essenciais.

Glean também se destacou na integração de diversas bases de conhecimento em várias plataformas, um feito mais sobre engenharia de dados sólida do que proeza de IA. O advento da IA ​​generativa (GenAI) e dos modelos de linguagem grande (LLMs) tornou a integração de tipos de dados díspares mais fácil, permitindo que Glean reunisse diversas fontes de dados em um sistema RAG coeso.

A interface de usuário do Glean também se destaca, oferecendo uma experiência perfeita que mascara as complexidades das tecnologias integradas. Este design centrado no usuário tornou seu sistema não apenas eficaz, mas também acessível, aprimorando a experiência geral do usuário.

Olhando para a frente

O progresso em sistemas RAG de grafos significa uma mudança em direção a aplicações mais sofisticadas de modelos de IA no processamento e vinculação de dados complexos. Essa evolução promete

Conteúdo Relacionado

O Rails 8 sempre foi um divisor de águas...
Na era do declínio do império dos Estados Unidos...
Os aplicativos da Web são uma pedra fundamental da...
O mundo da tecnologia tem estado agitado com discussões...
Os desenvolvedores Java enfrentam uma variedade de erros relacionados...
Com várias décadas de experiência, adoro criar aplicativos corporativos...
A escalabilidade é um fator crítico quando se trata...
Ao trabalhar em um projeto de código aberto no...
A Inteligência Artificial (IA) tem se tornado cada vez...
A maioria das organizações enfrenta desafios ao se adaptar...
Quando nós, desenvolvedores, encontramos alguns bugs em nossos logs,...
A cibersegurança é um tópico cada vez mais importante...
A experiência do desenvolvedor (DX) é um tópico cada...
Ao relatar estatísticas resumidas para resultados de testes de...
Explorando as Engrenagens do Kernel Semântico Falei um pouco...
Tillbaka till blogg

Lämna en kommentar

Notera att kommentarer behöver godkännas innan de publiceras.