Líderes de pensamento
Evolução RAG – Um Guia para RAG Agêntico
O que é RAG (Geração Aumentada por Recuperação)?
Geração Aumentada por Recuperação (RAG) é uma técnica que combina as forças dos grandes modelos de linguagem (LLMs) com a recuperação de dados externos para melhorar a qualidade e a relevância das respostas geradas. Os LLMs tradicionais usam suas bases de conhecimento pré-treinadas, enquanto os pipelines RAG consultam bancos de dados ou documentos externos em tempo de execução e recuperam informações relevantes para usar na geração de respostas mais precisas e contextualmente ricas. Isso é particularmente útil em casos em que a pergunta é complexa, específica ou baseada em um período de tempo específico, dado que as respostas do modelo são informadas e enriquecidas com informações de domínio atualizadas.
O Paisagem Atual do RAG
Os grandes modelos de linguagem revolucionaram completamente a forma como acessamos e processamos informações. A dependência apenas do conhecimento pré-input interno, no entanto, pode limitar a flexibilidade de suas respostas – especialmente para perguntas complexas. A Geração Aumentada por Recuperação aborda esse problema permitindo que os LLMs adquiram e analisem dados de outras fontes externas disponíveis para produzir respostas mais precisas e esclarecedoras.
O desenvolvimento recente na recuperação de informações e processamento de linguagem natural, especialmente LLM e RAG, abre novas fronteiras de eficiência e sofisticação. Esses desenvolvimentos podem ser avaliados nas seguintes linhas gerais:
- Recuperação de Informações Aumentada: A melhoria da recuperação de informações nos sistemas RAG é bastante importante para funcionar com eficiência. Trabalhos recentes desenvolveram vários vetores, algoritmos de reclassificação, métodos de busca híbrida para a melhoria da busca precisa.
- Cache Semântico: Isso se revela como uma das principais maneiras pelas quais o custo computacional é reduzido sem ter que abrir mão de respostas consistentes. Isso significa que as respostas às consultas atuais são armazenadas em cache junto com seu contexto semântico e pragmático anexado, o que novamente promove tempos de resposta mais rápidos e fornece informações consistentes.
- Integração Multimodal: Além dos sistemas LLM e RAG baseados em texto, essa abordagem também cobre visualizações e outras modalidades do framework. Isso permite o acesso a uma variedade maior de material de fonte e resulta em respostas cada vez mais sofisticadas e progressivamente mais precisas.
Desafios com Arquiteturas RAG Tradicionais
Enquanto o RAG está evoluindo para atender às diferentes necessidades. Ainda existem desafios que se opõem às Arquiteturas RAG Tradicionais:
- Sumarização: Sumarizar documentos enormes pode ser difícil. Se o documento for longo, a estrutura RAG convencional pode perder informações importantes porque só obtém os principais K itens.
- Comparação de Documentos: A comparação eficaz de documentos ainda é um desafio. O framework RAG frequentemente resulta em uma comparação incompleta, pois seleciona os principais K pedaços aleatórios de cada documento aleatoriamente.
- Análise de Dados Estruturados: É difícil lidar com consultas de dados numéricos estruturados, como descobrir quando um funcionário tirará sua próxima folga dependendo de onde ele mora. A recuperação e análise de pontos de dados precisos não são precisas com esses modelos.
- Lidar com Consultas com Várias Partes: Responder perguntas com várias partes ainda é limitado. Por exemplo, descobrir padrões de licença comuns em todas as áreas de uma grande organização é um desafio quando limitado a K itens, limitando a pesquisa completa.
Movendo-se em Direção ao RAG Agêntico
RAG Agêntico usa agentes inteligentes para responder a perguntas complicadas que exigem planejamento cuidadoso, raciocínio multi-etapa e integração de ferramentas externas. Esses agentes desempenham as funções de um pesquisador habilidoso, navegando habilmente por uma multidão de documentos, comparando dados, resumindo descobertas e produzindo respostas abrangentes e precisas.
O conceito de agentes é incluído no framework RAG clássico para melhorar a funcionalidade e as capacidades do sistema, resultando na criação do RAG agêntico. Esses agentes realizam tarefas e raciocínio adicionais além da recuperação e criação de informações básicas, bem como orquestram e controlam os vários componentes do pipeline RAG.
Três Estratégias Agênticas Principais
Os roteadores enviam consultas para os módulos ou bancos de dados apropriados dependendo do tipo. Os roteadores tomam decisões dinamicamente usando grandes modelos de linguagem sobre o contexto de uma solicitação, para fazer uma chamada no motor de escolha que deve ser enviado para melhorar a precisão e eficiência do pipeline.
As transformações de consultas são processos envolvidos na reescrita da consulta do usuário para melhor corresponder às informações solicitadas ou, vice-versa, para melhor corresponder ao que o banco de dados está oferecendo. Pode ser uma das seguintes: reescrita, expansão ou quebra de perguntas complexas em subperguntas mais simples que são mais facilmente manejadas.
Também exige um motor de consulta de subpergunta para atender ao desafio de responder a uma consulta complexa usando várias fontes de dados.
Primeiro, a pergunta complexa é decomposta em perguntas mais simples para cada uma das fontes de dados. Em seguida, todas as respostas intermediárias são reunidas e um resultado final é sintetizado.
Camadas Agênticas para Pipelines RAG
- Encaminhamento: A pergunta é encaminhada para o processamento baseado em conhecimento relevante. Exemplo: Quando o usuário deseja obter recomendações para certas categorias de livros, a consulta pode ser encaminhada para um conhecimento que contém conhecimento sobre essas categorias de livros.
- Planejamento de Consulta: Isso envolve a decomposição da consulta em subconsultas e, em seguida, enviá-las para seus respectivos pipelines individuais. O agente produz subconsultas para todos os itens, como o ano, nesse caso, e as envia para seus respectivos bancos de dados.
- Uso de Ferramentas: Um modelo de linguagem fala com uma API ou ferramenta externa, sabendo o que isso envolveria, em qual plataforma a comunicação deve ocorrer e quando seria necessário fazê-lo. Exemplo: Dada uma solicitação do usuário para uma previsão do tempo para um dia específico, o LLM se comunica com a API do tempo, identificando o local e a data, e, em seguida, analisa o retorno vindo da API para fornecer as informações corretas.
- Reagir é um processo iterativo de pensamento e ação acoplado ao planejamento, uso de ferramentas e observação.
Por exemplo, para projetar um plano de viagem de ponta a ponta, o sistema considerará as demandas do usuário e buscará detalhes sobre a rota, atrações turísticas, restaurantes e hospedagem, chamando APIs. Em seguida, o sistema verificará os resultados com respeito à correção e relevância, produzindo um plano de viagem detalhado relevante para o prompt e o cronograma do usuário. - Planejamento de Consulta Dinâmico: Em vez de realizar sequencialmente, o agente executa várias ações ou subconsultas simultaneamente e, em seguida, agrega esses resultados.
Por exemplo, se alguém quiser comparar os resultados financeiros de duas empresas e determinar a diferença em alguma métrica, então o agente processaria os dados para ambas as empresas em paralelo antes de agregar os achados; LLMCompiler é um framework que leva a essa orquestração eficiente de chamadas paralelas de funções.
RAG Agêntico e LLMaIndex
LLMaIndex representa uma implementação muito eficiente de pipelines RAG. A biblioteca simplesmente preenche a peça em falta na integração de dados organizacionais estruturados em modelos de IA gerativos, fornecendo conveniência para ferramentas no processamento e recuperação de dados, bem como interfaces para várias fontes de dados. Os principais componentes do LlamaIndex são descritos abaixo.
LlamaParse analisa documentos.
A Llama Cloud para serviço de empresa com pipelines RAG implantados com o mínimo de mão de obra manual.
Usando vários LLMs e armazenamento de vetores, o LlamaIndex fornece uma maneira integrada de construir aplicativos em Python e TypeScript com RAG. Suas características o tornam um esqueleto muito demandado por empresas dispostas a aproveitar a IA para uma tomada de decisão baseada em dados aprimorada.
Componentes Chave da Implementação de RAG Agêntico com LLMaIndex
Vamos mergulhar em profundidade em alguns dos ingredientes do RAG agêntico e como eles são implementados no LlamaIndex.
1. Uso de Ferramentas e Encaminhamento
O agente de encaminhamento escolhe qual LLM ou ferramenta é melhor usar para uma pergunta dada, com base no tipo de prompt. Isso leva a decisões contextualmente sensíveis, como se o usuário deseja uma visão geral ou um resumo detalhado. Exemplos de tais abordagens são o Motor de Consulta do Roteador no LlamaIndex, que dinamicamente escolhe ferramentas que maximizariam as respostas às consultas.
2. Retenção de Contexto de Longo Prazo
Enquanto o trabalho mais importante da memória é reter o contexto ao longo de várias interações, em contraste, os agentes equipados com memória na variante agêntica do RAG permanecem continuamente cientes das interações que resultam em respostas coerentes e contextualmente carregadas.
O LlamaIndex também inclui um mecanismo de conversa que tem memória para conversas contextuais e consultas de um único disparo. Para evitar o transbordamento da janela de contexto do LLM, tal memória precisa ser controlada durante discussões longas e reduzida a uma forma resumida.
3. Motores de Subpergunta para Planejamento
Muitas vezes, é necessário quebrar uma consulta complicada em trabalhos menores e gerenciáveis. O motor de consulta de subpergunta é uma das funcionalidades principais para as quais o LlamaIndex é usado como um agente, por meio do qual uma grande consulta é quebrada em menores, executadas sequencialmente e, em seguida, combinadas para formar uma resposta coerente. A capacidade dos agentes de investigar várias facetas de uma consulta passo a passo representa a noção de planejamento multi-etapa versus linear.
4. Reflexão e Correção de Erros
Agentes reflexivos produzem saída, mas então verificam a qualidade dessa saída para fazer correções, se necessário. Essa habilidade é de suma importância para garantir a precisão e que o que sai é o que foi pretendido por uma pessoa. Graças ao fluxo de trabalho auto-reflexivo do LlamaIndex, um agente revisará seu desempenho, seja reexperimentando ou ajustando atividades que não atendem a certos níveis de qualidade. Mas, porque é auto-corrigível, o RAG Agêntico é um pouco confiável para aplicações de empresa nas quais a confiabilidade é fundamental.
5. Raciocínio Agêntico Complexo:
A exploração baseada em árvore se aplica quando os agentes precisam investigar uma série de rotas possíveis para alcançar algo. Em contraste com a tomada de decisão sequencial, o raciocínio baseado em árvore permite que um agente considere várias estratégias ao mesmo tempo e escolha a mais promissora com base em critérios de avaliação atualizados em tempo real.
LlamaCloud e LlamaParse
Com sua ampla gama de serviços gerenciados projetados para aumento de contexto de empresa de nível empresarial dentro de aplicações LLM e RAG, a LlamaCloud é um grande salto no ambiente LlamaIndex. Essa solução permite que os engenheiros de IA se concentrem no desenvolvimento da lógica de negócios, reduzindo o processo complexo de manipulação de dados.
Outro mecanismo de análise disponível é o LlamaParse, que se integra convenientemente com pipelines de ingestão e recuperação no LlamaIndex. Isso constitui um dos elementos mais importantes que lida com documentos semi-estruturados complicados com objetos incorporados, como tabelas e figuras. Outro bloco de construção importante é a API de ingestão e recuperação gerenciada, que fornece várias maneiras de carregar facilmente, processar e armazenar dados de uma grande variedade de fontes, como o repositório central de dados LlamaHub ou saídas do LlamaParse. Além disso, ele suporta várias integrações de armazenamento de dados.
Conclusão
O RAG Agêntico representa uma mudança na forma como processamos informações, introduzindo mais inteligência nos agentes em si. Em muitas situações, o RAG agêntico pode ser combinado com processos ou diferentes APIs para fornecer um resultado mais preciso e refinado. Por exemplo, no caso de resumo de documentos, o RAG agêntico avaliaria o propósito do usuário antes de criar um resumo ou comparar detalhes. Ao oferecer suporte ao cliente, o RAG agêntico pode responder com precisão e individualmente a consultas de clientes cada vez mais complexas, não apenas com base em seu modelo de treinamento, mas também com base na memória disponível e nas fontes externas. O RAG Agêntico destaca uma mudança de modelos gerativos para sistemas mais ajustados que aproveitam outros tipos de fontes para alcançar um resultado robusto e preciso. No entanto, sendo gerativos e inteligentes como são agora, esses modelos e RAGs Agênticos estão em uma busca por uma maior eficiência à medida que mais e mais dados são adicionados aos pipelines.












