Líderes de pensamento
RAG Evolution – Uma introdução ao RAG Agentic
O que é RAG (Retrieval-Augmented Generation)?
Geração Aumentada de Recuperação (RAG) é uma técnica que combina os pontos fortes 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 consultarão bancos de dados ou documentos externos em tempo de execução e recuperarão 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 determinado período de tempo, dado que as respostas do modelo são informadas e enriquecidas com informações específicas do domínio atualizadas.
O cenário atual do RAG
Grandes modelos de linguagem revolucionaram completamente a forma como acessamos e processamos informações. A dependência somente do conhecimento interno pré-entrada, no entanto, pode limitar a flexibilidade de suas respostas, especialmente para perguntas complexas. A Retrieval-Augmented Generation aborda esse problema permitindo que os LLMs adquiram e analisem dados de outras fontes externas disponíveis para produzir respostas mais precisas e perspicazes.
O desenvolvimento recente em recuperação de informação e processamento de linguagem natural, especialmente LLM e RAG, abre novas fronteiras de eficiência e sofisticação. Esses desenvolvimentos podem ser avaliados nos seguintes contornos amplos:
- Recuperação de Informação Aprimorada: A melhoria da recuperação de informação em sistemas RAG é muito importante para trabalhar de forma eficiente. Trabalhos recentes desenvolveram vários vetores, algoritmos de reclassificação, métodos de busca híbridos para a melhoria da busca precisa.
- Cache semântico: Esta acaba sendo uma das principais maneiras pelas quais o custo computacional é cortado sem ter que abrir mão de respostas consistentes. Isso significa que as respostas para 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 entrega informações consistentes.
- Integração multimodal: além dos sistemas LLM e RAG baseados em texto, essa abordagem também abrange os visuais e outras modalidades da estrutura. Isso permite acesso a uma maior variedade de material de origem e resulta em respostas que são cada vez mais sofisticadas e progressivamente mais precisas.
Desafios com arquiteturas RAG tradicionais
Enquanto o RAG está evoluindo para atender às diferentes necessidades, ainda há desafios que se colocam diante das Arquiteturas RAG Tradicionais:
- resumo: Resumir documentos enormes pode ser difícil. Se o documento for longo, a estrutura RAG convencional pode ignorar informações importantes porque só pega as K partes principais.
- Comparação de documentos: A comparação efetiva de documentos ainda é um desafio. A estrutura 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 estruturadoss: É difícil lidar com consultas estruturadas de dados numéricos, como calcular quando um funcionário tirará as próximas férias dependendo de onde mora. A recuperação e a análise precisas de pontos de dados não são precisas com esses modelos.
- Manipulando consultas com várias partes: Responder a perguntas com várias partes ainda é restrito. Por exemplo, descobrir padrões comuns de licenças em todas as áreas de uma grande organização é desafiador quando limitado a K partes, limitando a pesquisa completa.
Mova-se em direção ao Agentic RAG
RAG agente usa agentes inteligentes para responder a perguntas complicadas que exigem planejamento cuidadoso, raciocínio multietapas e a integração de ferramentas externas. Esses agentes desempenham as funções de um pesquisador proficiente, navegando habilmente por uma infinidade de documentos, comparando dados, resumindo descobertas e produzindo respostas abrangentes e precisas.
O conceito de agentes é incluído na estrutura clássica do RAG para aprimorar a funcionalidade e as capacidades do sistema, resultando na criação do RAG agêntico. Esses agentes realizam tarefas e raciocínios extras além da recuperação e criação básicas de informações, além de orquestrar e controlar os diversos componentes do pipeline do RAG.
Três estratégias primárias de agentes
Os roteadores enviam consultas aos módulos ou bancos de dados apropriados, dependendo do tipo. Os roteadores tomam decisões dinamicamente usando Large Language Models nos quais o contexto de uma solicitação se enquadra, para fazer uma chamada no mecanismo de escolha para o qual ela deve ser enviada para melhorar a precisão e a eficiência do seu pipeline.
Transformações de consulta são processos que envolvem a reformulação da consulta do usuário para melhor corresponder às informações solicitadas ou, vice-versa, para melhor corresponder ao que o banco de dados oferece. Pode ser um dos seguintes: reformulação, expansão ou divisão de perguntas complexas em subperguntas mais simples e de fácil processamento.
Ele também exige um mecanismo de consulta de subperguntas para enfrentar o desafio de responder a uma consulta complexa usando diversas fontes de dados.
Primeiro, a pergunta complexa é decomposta em perguntas mais simples para cada uma das fontes de dados. Então, todas as respostas intermediárias são reunidas e um resultado final sintetizado.
Camadas Agentic para Pipelines RAG
- Roteamento: A pergunta é roteada para o processamento baseado em conhecimento relevante com base na relevância. Exemplo: Quando o usuário deseja obter recomendações para certas categorias de livros, a consulta pode ser roteada para uma base de conhecimento contendo 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 neste caso, e as envia para suas respectivas bases de conhecimento.
- Uso da ferramenta: Um modelo de linguagem se comunica com uma API ou ferramenta externa, sabendo o que isso implicaria, em qual plataforma a comunicação deve ocorrer e quando seria necessário. Exemplo: Dada a solicitação de um usuário para uma previsão do tempo para um determinado dia, o LLM se comunica com a API do tempo, identificando o local e a data e, em seguida, analisa o retorno da API para fornecer as informações corretas.
- Reagir é um processo iterativo de pensamento e ação, juntamente com planejamento, uso de ferramentas e observação.
Por exemplo, para criar um plano de férias completo, o sistema considera as demandas do usuário e busca detalhes sobre a rota, atrações turísticas, restaurantes e acomodações por meio de APIs. Em seguida, o sistema verifica a exatidão e a relevância dos resultados, produzindo um plano de viagem detalhado e relevante para as solicitações e a programação do usuário. - Planejando Consulta Dinâmica: Em vez de executar sequencialmente, o agente executa diversas ações ou subconsultas simultaneamente e, então, 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, o agente processará os dados de ambas as empresas em paralelo antes de agregar as descobertas; o LLMCompiler é uma dessas estruturas que leva a essa orquestração eficiente de chamadas paralelas de funções.
Agente RAG e LLMaIndex
LLMaIndex representa uma implementação muito eficiente de pipelines RAG. A biblioteca simplesmente preenche a parte que falta na integração de dados organizacionais estruturados em modelos de IA generativos, 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.
O Llama Cloud para serviços empresariais com pipelines RAG implantados com a menor quantidade de trabalho manual.
Usando múltiplos LLMs e armazenamento vetorial, o LlamaIndex fornece uma maneira integrada de construir aplicativos em Python e TypeScript com RAG. Suas características o tornam um backbone altamente demandado por empresas dispostas a alavancar IA para tomada de decisão aprimorada baseada em dados.
Principais componentes da implementação do Agentic Rag com LLMaIndex
Vamos nos aprofundar em alguns dos ingredientes do RAG agentic e como eles são implementados no LlamaIndex.
1. Uso e roteamento de ferramentas
O agente de roteamento escolhe qual LLM ou ferramenta é melhor usar para uma determinada pergunta, com base no tipo de prompt. Isso leva a decisões contextualmente sensíveis, como se o usuário quer uma visão geral ou um resumo detalhado. Exemplos dessas abordagens são o Router Query Engine no LlamaIndex, que escolhe dinamicamente ferramentas que maximizariam as respostas às consultas.
2. Retenção de contexto de longo prazo
Embora a tarefa mais importante da memória seja reter o contexto ao longo de diversas 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 carregadas de contexto.
O LlamaIndex também inclui um mecanismo de bate-papo que tem memória para conversas contextuais e consultas de disparo único. Para evitar estouro da janela de contexto do LLM, essa memória tem que estar sob controle rígido durante discussões longas e reduzida a uma forma resumida.
3. Motores de subquestões para planejamento
Muitas vezes, é preciso dividir uma consulta complicada em tarefas menores e gerenciáveis. O mecanismo de consulta de subquestões é uma das principais funcionalidades para as quais o LlamaIndex é usado como um agente, por meio do qual uma consulta grande é dividida em menores, executada sequencialmente e, então, combinada para formar uma resposta coerente. A capacidade dos agentes de investigar múltiplas facetas de uma consulta passo a passo representa a noção de planejamento multietapas versus um linear.
4. Reflexão e correção de erros
Agentes reflexivos produzem resultados, mas verificam a qualidade desses resultados para fazer correções, se necessário. Essa habilidade é de extrema importância para garantir a precisão e que o resultado seja o pretendido pelo usuário. Graças ao fluxo de trabalho autorreflexivo do LlamaIndex, um agente revisará seu desempenho repetindo ou ajustando atividades que não atendem a determinados níveis de qualidade. No entanto, por ser autocorretivo, o Agentic RAG é relativamente confiável para aplicações corporativas nas quais a confiabilidade é fundamental.
5. Raciocínio agêntico complexo:
A exploração baseada em árvore se aplica quando os agentes têm que investigar uma série de rotas possíveis para atingir algo. Em contraste com a tomada de decisão sequencial, o raciocínio baseado em árvore permite que um agente considere estratégias múltiplas de uma só vez 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 nível empresarial dentro de aplicativos LLM e RAG, o LlamaCloud é um grande salto no ambiente LlamaIndex. Esta solução permite que engenheiros de IA se concentrem no desenvolvimento de lógica de negócios chave, reduzindo o complexo processo de disputa de dados.
Outro mecanismo de análise sintática disponível é o LlamaParse, que se integra convenientemente aos pipelines de ingestão e recuperação do LlamaIndex. Este constitui um dos elementos mais importantes para lidar com documentos complexos e semiestruturados com objetos incorporados, como tabelas e figuras. Outro componente importante é a API de ingestão e recuperação gerenciada, que oferece diversas maneiras de carregar, processar e armazenar dados facilmente de um grande conjunto de fontes, como o repositório central de dados do LlamaHub ou as saídas do LlamaParse. Além disso, ele suporta diversas integrações de armazenamento de dados.
Conclusão
O Agentic RAG representa uma mudança no processamento de informações, introduzindo mais inteligência nos próprios agentes. Em muitas situações, o Agentic RAG pode ser combinado com processos ou diferentes APIs para fornecer um resultado mais preciso e refinado. Por exemplo, no caso de sumarização de documentos, o Agentic RAG avaliaria a finalidade do usuário antes de elaborar um resumo ou comparar detalhes. Ao oferecer suporte ao cliente, o Agentic RAG 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 na memória disponível e em fontes externas. O Agentic RAG destaca uma mudança de modelos generativos para sistemas mais refinados que alavancam outros tipos de fontes para alcançar um resultado robusto e preciso. No entanto, sendo generativos e inteligentes como são agora, esses modelos e os Agentic RAGs buscam maior eficiência à medida que mais e mais dados são adicionados aos pipelines.








