Os problemas da RAG persistem - aqui estão cinco maneiras de correções para eles

Códigos de uma tela de computador são refletidos nos óculos de um homem.

Autores

Alice Gomstyn

Staff Writer

IBM Think

Amanda Downie

Staff Editor

IBM Think

É hora de enfrentar a verdade sobre a geração aumentada de recuperação, ou RAG: é uma solução que precisa de sua própria solução.

A RAG tinha como objetivo melhorar o desempenho de grandes modelos de linguagem e reduzir as alucinações, permitindo que os grandes modelos de linguagem (LLMs) fossem além de seus dados de treinamento com acesso a bases de conhecimento externas. No entanto, os limites reais dos sistemas de RAG tradicionais tornaram-se dolorosamente claros.

"Em grande medida, a RAG é falha", disse Dinesh Nirmal, Vice-presidente Sênior de Software da IBM. “A RAG pura não está realmente dando os resultados ideais esperados.”

Os desafios da RAG que os usuários enfrentam rotineiramente incluem limites em janelas de contexto e operações de agregação, incapacidade de entender relacionamentos complexos e saídas de baixa qualidade associadas à fragmentação abaixo do ideal. Ou seja, a implementação da RAG também pode apresentar preocupações de segurança, como vazamento de dados.

A boa notícia é que os avanços em ferramentas e estratégias de inteligência artificial estão ajudando a compensar as falhas das RAGs tradicionais, resultando em respostas geradas mais precisas para as consultas dos usuários. Vamos dar uma olhada mais de perto em como melhorar o desempenho da RAG.

SQL RAG

Pedir a uma aplicação de LLM que use a tecnologia de RAG tradicional para realizar operações de agregação (como encontrar uma soma) para um conjunto de dados enorme muitas vezes não é difícil - é literalmente impossível. Uma coisa que prejudicaria o desempenho do sistema seria o tamanho da janela de contexto: as janelas de contexto do LLM geralmente não são escaláveis o suficiente para processar, digamos, uma coleção de 100.000 faturas. Além disso, o pipeline de RAG tradicional depende de bancos de dados de vetores, que são projetados para pesquisas de similaridade, não operações.

"Essencialmente, isso significa que um banco de dados de vetores não é suficiente para lidar com esses casos", explicou o IBM Distinguished Engineer Sudheesh Kairali. "A janela de contexto é um problema. O outro é a incapacidade de lidar com operações matemáticas.”

Digite SQL RAG.  

Quando os usuários do LLM buscam respostas em grandes conjuntos de dados, a combinação de uma geração aumentada por recuperação com um SQL pode fornecer resultados precisos, explicou Kairali.

O SQL inclui funções de agregação integradas e os SQL Database têm maior capacidade do que as janelas de contexto do LLM. Se uma empresa realiza ingestão de seus dados de faturas em um SQL database, ela pode usar um LLM para converter consultas, como "Qual é a soma de todas as faturas do ano passado?", em SQL, consulte o SQL database através do RAG e chegue à resposta.

“Você pode fazer muitas agregações se conseguir construir”, disse Kairali. Depois que o SQL database realiza uma agregação, "ele só se torna um exercício de processamento de linguagem natural (NLP)para o LLM nesse ponto".

GraphRAG

Discernir como diferentes partes de informações ou entidades recuperadas se conectam entre si é outro ponto fraco do RAG tradicional. Por exemplo, considere o caso de uso de um paciente com um histórico médico complexo. Por meio do processo tradicional de recuperação de RAG, um LLM pode fornecer informações relevantes. Esses dados podem incluir detalhes como quantos médicos o paciente consultou em um ano, mas podem ter dificuldades para especificar quais tratamentos cada médico prescreveu.

O GraphRAG, lançado em 2024 pela Microsoft pesquisa, lida com esse desafio processando e identificando relações por meio de gráficos de conhecimento. O GraphRAG organiza informações como uma rede de nós e edges que representam entidades e suas relações entre si.

"Se um paciente foi a um hospital e a pergunta é, mostre-me todas as visitas anteriores que ele fez — isso pode ser mostrado não apenas como uma verbosidade, mas como uma representação de conhecimento via gráfico", explicou Nirmal. "Você pode olhar para diferentes pontos e ver os diferentes médicos que ele visitou, os diferentes medicamentos que tomou, os tratamentos pelos quais foi submetido, tudo em uma única representação gráfica."

O GraphRAG, observou Nirmal, tem limitações porque a renderização de um gráfico se torna mais difícil à medida que o volume de dados aumenta. Mapear centenas de milhares de nós é mais desafiador do que mapear apenas algumas dezenas, por exemplo. "Tudo vem com limitações", disse Nirmal, "mas a razão pela qual o GraphRAG está decolando é por causa das limitações do próprio RAG puro."

Saiba mais sobre o GraphRAG.

Fragmentação agêntica

A fragmentação é crítica para aplicações de RAG. Na fragmentação tradicional por meio de modelos de embedding, os documentos relevantes são divididos em pontos fixos em partes menores, cada uma representada em um banco de dados de vetores. No entanto, esse método pode fazer com que uma aplicação de LLM forneça respostas incompletas ou imprecisas, mesmo quando está usando um algoritmo de aprendizado de máquina de pesquisa semântica em uma base de conhecimento específica do domínio.

"Neste processo, muitas vezes você perde precisão porque não sabe onde está fragmentando os dados," explicou Nirmal. “Digamos que você tenha fragmentado, ou cortado, no meio de uma mesa, então quando você traz a mesa de volta, traz metade da mesa. Agora, você perdeu a precisão disso.”

Felizmente, melhores estratégias de fragmentação por meio de métodos agênticos podem melhorar a recuperação de informações. Essa fragmentação agêntica inclui estratégias como a criação de fragmentos sobrepostos e a alteração dinâmica dos tamanhos dos gragmentos com base no contexto dos documentos recuperados. Os frameworks de orquestração de LLMs podem ser úteis para essa finalidade. Por exemplo, as ferramentas TextSplitters do LangChain podem dividir o texto em pequenos fragmentos com significado semântico. Essas estratégias ajudam a evitar a perda de informações relevantes quando um documento é decomposto.

Saiba mais sobre fragmentação agêntica.

RAG agêntica

A IA agêntica é útil para a fragmentação e também pode melhorar a precisão da recuperação de outras maneiras. Considere a RAG agêntica: é um framework avançado de IA que pode integrar pipelines de RAG para consultar dados estruturados em SQL Database e dados não estruturados em repositórios de documentos, aproveitando bancos de dados de vetores para pesquisa de similaridade. 

A RAG agêntica também enriquece cada fragmento com metadados. Esse processo correlaciona dados estruturados (os metadados armazenados em um banco de dados transacional) com dados não estruturados para otimizar a precisão da recuperação.

"Se pudermos realmente aproveitar o poder de um banco de dados de vetores juntamente com o aspecto transacional ou SQL dele e juntar esses dois", disse Nirmal, "podemos realmente aumentar a precisão e o desempenho."

Aprenda o que é necessário para superar os três principais desafios dos dados não estruturados.

Data lakehouses governados

O vazamento de dados é um problema conhecido dos sistemas de IA em geral, e os LLMs que usam RAG não são exceção. Sem as medidas certas em vigor, um LLM pode fornecer a usuários de baixo nível informações que eles não estão autorizados a acessar, desde informações de identificação pessoal (PII) até dados financeiros confidenciais.

"Essa é uma realidade com a RAG", disse Kairali. “Quando você começa com a prova de conceito, todos ficam felizes. Mas então, quando você quer enviar para produção e quer ter certeza de que ele está no nível de produção, você começa a entender que há um problema de proteção de dados."

Lidar com o problema significa preservar listas de controle de acesso (ACLs) e outras políticas de governança quando dados não estruturados são ingeridos em vários bancos de dados. "Quando a consulta está chegando e os dados são recuperados, é importante garantir que os ACLs e as políticas de governança estejam sendo respeitados", disse Kairali. "É basicamente um problema de engenharia."

A solução desse problema de engenharia pode ser mais fácil com as plataformas de dados certas, como data lakehouses governados e habilitados para código aberto. Por exemplo, o watsonx.data da IBM, um data lakehouse híbrido e aberto, garante que os controles de acesso sejam herdados dos sistemas de origem do documento quando os dados são recuperados. Também fornece anotação para PII para evitar que informações confidenciais sejam compartilhadas.

À medida que os LLMs e outras IA generativas se tornam mais profundamente enraizados nos fluxos de trabalho diários, a melhoria da RAG ajuda as empresas a liberar maior valor de seus dados corporativos. As ferramentas e estratégias de nível empresarial certas "permitem maior desempenho e precisão para que os dados se tornem gerenciáveis e valiosos", disse Nirmal. “Isso é o que todo cliente está procurando.”

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