DeepRAG: Do Pensamento à Recuperação Passo a Passo para Grandes Modelos de Linguagem
Imagine que você está planejando uma viagem de carro e pergunta ao seu assistente digital: Qual é a rota mais rápida para as montanhas agora? Sem informações em tempo real, ele sugere uma rodovia com base em padrões de tráfego desatualizados, deixando você preso em um desvio. Mas, com atualizações de tráfego ao vivo, ele teria detectado o bloqueio e guiado você por uma rota panorâmica mais rápida. Isso destaca uma limitação central dos grandes modelos de linguagem (LLMs): sua dependência de conhecimento estático e pré-treinado frequentemente leva a respostas desatualizadas ou incompletas.Geração aumentada por recuperação (RAG) aborda isso combinando LLMs com fontes externas de conhecimento, como bancos de dados ou mecanismos de busca. Em vez de depender apenas do conhecimento armazenado, a RAG recupera informações relevantes e as incorpora à resposta do modelo. Isso é útil para responder a perguntas sobre eventos recentes ou tópicos especializados. No entanto, os sistemas RAG tradicionais estão longe de ser perfeitos. Eles frequentemente recuperam informações irrelevantes, deixam passar detalhes cruciais ou desperdiçam recursos em consultas desnecessárias.O DeepRAG, apresentado no artigo DeepRAG: Pensando na recuperação passo a passo para grandes modelos de linguagem, resolve esses problemas com uma abordagem mais adaptativa. Em vez de tratar a recuperação como uma única etapa, ele divide perguntas complexas em subconsultas menores e decide, em cada estágio, se deve confiar no conhecimento interno ou buscar dados externos. Técnicas como busca em árvore binária, que explora diferentes caminhos de resposta, e aprendizagem por imitação, na qual o modelo é treinado usando exemplos de especialistas, ajudam o DeepRAG a recuperar apenas o que é necessário. Essa abordagem passo a passo reduz buscas desperdiçadas e melhora a precisão das respostas.Neste artigo, exploraremos como o DeepRAG funciona, detalharemos seus principais componentes e mostraremos como bancos de dados vetoriais como Milvus e Zilliz Cloud podem aprimorar ainda mais suas capacidades de recuperação.
As deficiências do conhecimento estático e da recuperação ingênua
Embora os grandes modelos de linguagem (LLMs) se destaquem na geração de respostas coerentes, eles falham quando as consultas exigem conhecimento atual, específico ou profundamente contextual. Isso ocorre porque seu conhecimento se baseia em conjuntos de dados estáticos coletados durante o treinamento, o que limita sua capacidade de responder a perguntas que requerem informações em tempo real ou especializadas. Depois que o treinamento é concluído, seu conhecimento fica congelado, tornando-os pouco confiáveis para consultas que exigem atualidade, especificidade ou contexto dinâmico.
Atualidade: Para tópicos como eventos atuais ou atualizações ao vivo, os LLMs fornecem informações desatualizadas. Quando perguntado, “Quem ganhou a Copa do Mundo este ano?”, o modelo pode responder com base em torneios passados, em vez dos resultados mais recentes.
Especificidade: Os LLMs frequentemente falham em domínios de nicho como medicina, direito ou normas técnicas, nos quais conhecimento atualizado ou altamente especializado é essencial. Por exemplo, uma consulta sobre os tratamentos mais recentes aprovados pela FDA para a doença de Alzheimer pode produzir recomendações desatualizadas.
Contexto dinâmico: Informações que evoluem rapidamente, como preços de ações, tendências de redes sociais ou condições meteorológicas, estão fora de seu alcance. Sem atualizações externas, o modelo faz suposições em vez de fornecer respostas informadas.
A geração aumentada por recuperação (RAG) amplia as capacidades dos LLMs ao trazer informações externas de bancos de dados, mecanismos de busca ou APIs antes de gerar respostas. No entanto, os sistemas RAG tradicionais introduzem seu próprio conjunto de problemas:
Recuperação excessiva: Quando a RAG recupera documentos irrelevantes demais, ela inunda o modelo com ruído, tornando as respostas menos precisas. Por exemplo, se perguntado, “O que causou os incêndios florestais de 2023 no Havaí?”, um sistema RAG tradicional poderia recuperar uma variedade de artigos sobre prevenção de incêndios florestais ou incêndios históricos, em vez da causa específica.
Sub-recuperação: Consultas mal formuladas ou excessivamente amplas podem resultar na perda de detalhes importantes. Pesquisar apenas por “causas dos incêndios florestais no Havaí” pode excluir relatórios investigativos oficiais que atribuem a causa a linhas de energia derrubadas.
Desperdício computacional: Recuperar e processar grandes volumes de informações desnecessárias aumenta os tempos de resposta e os custos sem melhorar a qualidade da resposta.
A raiz desses problemas é que os sistemas RAG tradicionais tratam todas as consultas da mesma forma, recuperando informações externas indiscriminadamente sem avaliar se isso é necessário. Essa falta de adaptabilidade resulta em ineficiências para perguntas simples e respostas incompletas para perguntas complexas. Consultas simples, como “O que é fotossíntese?”, não exigem recuperação externa porque a resposta já está dentro do conhecimento interno do modelo. Em contraste, perguntas complexas ou de várias etapas, como “Compare a eficácia das vacinas de mRNA entre diferentes faixas etárias”, exigem informações externas e podem envolver a divisão da consulta em subperguntas para recuperar os dados mais relevantes.
Essa abordagem rígida destaca a necessidade de um sistema mais adaptativo que possa equilibrar o conhecimento interno com a recuperação externa, ajustando sua estratégia com base na complexidade e nos requisitos de cada consulta.
Como o DeepRAG adapta a recuperação passo a passo
O DeepRAG aborda as limitações dos sistemas RAG tradicionais ao introduzir um processo adaptativo que espelha como nós, humanos, abordamos perguntas complexas. Em vez de recuperar informações de uma só vez ou para cada consulta, o DeepRAG divide perguntas em subconsultas menores e mais gerenciáveis e decide, em cada etapa, se informações externas são necessárias. Esse processo adaptativo reduz buscas desnecessárias e melhora a precisão.
A chave da abordagem do DeepRAG está em como ele estrutura e navega pelo processo de recuperação. Em vez de tratar uma consulta como um bloco único, ele segue uma narrativa de recuperação, uma sequência lógica em que cada subconsulta se baseia nas etapas anteriores para formar gradualmente uma resposta completa. Em cada estágio, o DeepRAG toma decisões atômicas para determinar se deve confiar no conhecimento interno ou buscar dados externos, permitindo que permaneça eficiente e focado no que é realmente necessário para responder à pergunta.
Veja a ilustração a seguir, que mostra como o DeepRAG espelha o pensamento humano.
Figura 1: Ilustração de como o DeepRAG espelha o pensamento humano
Ao estruturar o processo de raciocínio por meio de uma narrativa de recuperação bem definida e tomar decisões atômicas precisas em cada etapa, o DeepRAG garante que recupere informações apenas quando necessário e confie no conhecimento interno quando apropriado. Essa abordagem equilibrada leva a respostas mais eficientes e precisas, ao mesmo tempo em que reduz o custo computacional associado à recuperação excessiva ou irrelevante. Esse framework adaptativo não apenas melhora a qualidade das respostas, mas também otimiza o uso de recursos, tornando o DeepRAG uma solução mais prática e escalável para tarefas complexas de recuperação de informações.
Os principais componentes por trás da recuperação adaptativa do DeepRAG
O processo de recuperação adaptativa do DeepRAG depende de uma abordagem estruturada que divide perguntas complexas, toma decisões informadas sobre quando recuperar informações externas e refina suas estratégias de raciocínio por meio de treinamento. Esse processo é construído sobre quatro componentes interconectados; modelagem de Processo de Decisão de Markov (MDP), busca em árvore binária, aprendizado por imitação e uma cadeia de calibração, todos os quais trabalham juntos para equilibrar eficiência e precisão ao responder perguntas.
Visão geral do Processo de Decisão de Markov (MDP)
No centro do processo de tomada de decisão do DeepRAG está o framework Processo de Decisão de Markov (MDP) , que ajuda o sistema a mapear sistematicamente as etapas necessárias para responder a uma pergunta. O MDP consiste em quatro componentes:
Estados (S): Representam o progresso atual ao responder a uma pergunta. Um estado inclui a pergunta original junto com quaisquer subconsultas e suas respostas correspondentes geradas até o momento.
Ações (A): Em cada estado, o modelo toma duas decisões para orientar suas ações. A decisão de término determina se o modelo deve parar e fornecer uma resposta final ou continuar gerando subconsultas. A decisão atômica decide se o modelo deve usar seu conhecimento interno ou recuperar informações externas para abordar a próxima subconsulta.
Transições (P): Definem como o sistema passa de um estado para outro com base nas ações escolhidas.
Recompensas (R): Um sistema de pontuação que recompensa o modelo por encontrar a resposta correta enquanto penaliza recuperações desnecessárias ou excessivas.
Por exemplo, suponha que se pergunte ao sistema “Qual é a duração total de todos os filmes de O Senhor dos Anéis?”. O estado inicial s_0 contém apenas a pergunta. A primeira ação do modelo poderia ser gerar uma subconsulta como “Quais são os títulos dos filmes de O Senhor dos Anéis?”. Em seguida, ele decide se deve usar conhecimento interno ou recuperar dados externos. Depois que obtém a lista de filmes, o sistema faz a transição para um novo estado s_1, agora contendo os títulos dos filmes. Em seguida, ele gera subconsultas como “Qual é a duração de A Sociedade do Anel?” e continua tomando decisões semelhantes até coletar todas as informações necessárias. Por fim, ele soma as durações e fornece o total, alcançando um estado terminal.
Estratégia de Busca em Árvore Binária
Para gerenciar esse processo de tomada de decisão de forma eficaz, o DeepRAG usa uma busca em árvore binária. Essa estratégia permite que o sistema explore múltiplos caminhos de raciocínio tratando cada decisão como um nó em uma árvore. Para cada subconsulta, o DeepRAG gera dois ramos:
Um ramo representa o uso de conhecimento paramétrico (conhecimento interno).
O outro representa a recuperação de documentos externos.
À medida que o sistema explora a árvore, ele constrói uma narrativa de recuperação, que é uma sequência de subconsultas e respostas que levam à resposta final. A busca em árvore binária ajuda o modelo a avaliar diferentes caminhos de raciocínio, decidindo quando a recuperação é necessária e quando o conhecimento interno é suficiente.
Essa abordagem permite que o DeepRAG divida consultas complexas em subconsultas menores e gerenciáveis e tome decisões adaptativas em cada etapa. Ao navegar pela árvore binária, o modelo pode equilibrar o trade-off entre depender de conhecimento pré-treinado e recuperar dados externos, melhorando, em última instância, a precisão e a eficiência das respostas. A natureza estruturada da busca em árvore binária garante que o DeepRAG não apenas recupere informações quando isso é essencial, mas também evite recuperações desnecessárias, otimizando recursos computacionais enquanto mantém a qualidade da resposta.
Aprendizado por Imitação
Embora a busca em árvore binária ajude o DeepRAG a explorar caminhos de raciocínio, ele ainda precisa aprender quais caminhos são os mais eficientes. É aqui que o aprendizado por imitação desempenha um papel. O aprendizado por imitação ensina o DeepRAG mostrando exemplos de caminhos de raciocínio ideais, aqueles que resultam em respostas corretas enquanto minimizam recuperações seguindo o algoritmo a seguir.
Figura: Algoritmo que o DeepRAG usa para construir caminhos de raciocínio ideais.
A figura acima descreve como o DeepRAG constrói caminhos de raciocínio ideais usando aprendizado por imitação. O sistema emprega uma fila de prioridade para explorar trajetórias de raciocínio, favorecendo caminhos com menos recuperações. Veja como o algoritmo funciona:
Inicialização: Ele começa colocando a pergunta original em uma fila de prioridade com uma contagem de recuperação igual a zero.
Exploração de Caminhos: O algoritmo remove da fila o caminho com o menor número de recuperações e gera a próxima subconsulta.
Tomada de Decisão: A cada etapa, o modelo decide se deve parar e fornecer uma resposta final (decisão de término) ou continuar gerando subconsultas.
Geração de Resposta: Se o modelo optar por responder diretamente, ele adiciona esse caminho de volta à fila. Se decidir recuperar documentos, ele adiciona o novo caminho com uma contagem de recuperação incrementada.
Término: O processo continua até que o algoritmo identifique um caminho de raciocínio que chegue à resposta correta com a menor quantidade de recuperação.
Cadeia de Calibração
Mesmo após o aprendizado por imitação, o DeepRAG pode ter dificuldade em saber quando recuperar informações externas em vez de confiar no conhecimento interno. Para refinar seu processo de tomada de decisão, o DeepRAG usa uma cadeia de calibração, que ajusta finamente o comportamento de recuperação do modelo com base em pares de preferência, exemplos que indicam a ação preferida (recuperação ou conhecimento interno) para cada subconsulta.A cadeia de calibração ajusta a tomada de decisão do modelo usando a seguinte função de perda:
L = - log σ [ β log ( πθ(yw | si, qi) / πref(yw | si, qi) ) - β log ( πθ(yl | si, qi) / πref(yl | si, qi) ) ]
Veja como a fórmula funciona:
σ é a função logística, normalizando as saídas do modelo.
β é um hiperparâmetro que controla a penalidade por desviar do caminho de decisão preferido.
πθ(yw | si, qi) representa a probabilidade de responder à subconsulta qi no estado si usando conhecimento paramétrico.
πθ(yl | si, qi) representa a probabilidade de responder à subconsulta com base em documentos recuperados.
πref é o modelo de referência usado como linha de base para comparação.
Esta função de perda incentiva o modelo a favorecer o caminho de raciocínio mais eficiente, decidindo se deve usar conhecimento interno ou recuperar dados externos, com base nos exemplos ideais fornecidos durante o aprendizado por imitação. Se o modelo recuperar informações desnecessariamente ou deixar de recuperar quando necessário, a cadeia de calibração corrige essas tendências, ajudando o sistema a alcançar um equilíbrio entre eficiência e precisão.
A figura a seguir ilustra como o DeepRAG integra busca em árvore binária, aprendizado por imitação e cadeia de calibração para construir caminhos de raciocínio eficientes. Ela mostra o processo passo a passo de decomposição de consultas, tomada de decisão e calibração do modelo que permite ao DeepRAG equilibrar conhecimento interno e recuperação externa.
Figura: _Uma visão geral da estrutura do DeepRAG compreende três etapas_Por meio da integração da modelagem MDP, busca em árvore binária, aprendizado por imitação e cadeia de calibração, o DeepRAG alcança um processo de recuperação adaptativo capaz de lidar com perguntas complexas e de várias etapas.
Desempenho do DeepRAG em Benchmarks
Após refinar sua estratégia de recuperação e seu processo de raciocínio adaptativo, o DeepRAG demonstra forte desempenho em vários benchmarks de perguntas e respostas (QA) de domínio aberto. Esses benchmarks avaliam a capacidade do DeepRAG de decompor consultas complexas, tomar decisões de recuperação eficientes e gerar respostas com precisão, mesmo em cenários dinâmicos ou multi-hop. O DeepRAG foi avaliado em cinco conjuntos de dados diversos: HotpotQA e 2WikiMultihopQA para QA factual multi-hop, CAG para consultas sensíveis ao tempo, e PopQA e WebQuestions para tarefas de QA de domínio aberto. Cada conjunto de dados apresenta desafios únicos, como raciocínio em várias etapas, mudanças temporais nos dados ou tratamento de consultas fora da distribuição.
No HotpotQA, o DeepRAG alcança uma pontuação F1 de 51.54, superando métodos como UAR (34.2) e FLARE (32.0). No 2WikiMultihopQA, que exige raciocínio multi-hop complexo, o DeepRAG obtém 53.25 em F1, superando modelos de linha de base que frequentemente têm dificuldade com consultas em várias etapas. Para tarefas sensíveis ao tempo como CAG, o DeepRAG atinge uma pontuação de Correspondência Exata (EM) de 59.8, superando sistemas RAG tradicionais. Em conjuntos de dados de QA de domínio aberto, como PopQA e WebQuestions, o DeepRAG alcança pontuações EM de 43.2 e 38.8, respectivamente, mantendo alta precisão enquanto reduz recuperações desnecessárias. Esses resultados destacam a capacidade do DeepRAG de equilibrar eficiência de recuperação e precisão das respostas, superando sistemas RAG tradicionais e recuperadores densos ao decidir efetivamente quando recuperar informações externas e quando confiar em seu conhecimento interno.
Integração do DeepRAG com Bancos de Dados Vetoriais para Recuperação Aprimorada
Uma das forças do DeepRAG é sua capacidade de decidir quando recuperar informações externas e quando confiar no conhecimento interno. No entanto, a qualidade e a eficiência da recuperação também dependem do sistema que ele usa para armazenar e pesquisar dados. É aqui que bancos de dados vetoriais como Milvus e Zilliz Cloud aprimoram o desempenho do DeepRAG, oferecendo soluções escaláveis e eficientes para lidar com grandes volumes de dados não estruturados.
Bancos de dados vetoriais armazenam dados como vetores de alta dimensionalidade, permitindo pesquisas de similaridade rápidas e precisas. No fluxo de trabalho do DeepRAG, quando o sistema gera uma subconsulta que exige informações externas, ele pode consultar um banco de dados vetorial como o Milvus para encontrar os documentos mais relevantes com base na similaridade semântica. Essa abordagem melhora tanto a velocidade quanto a relevância dos dados recuperados, impactando diretamente a qualidade das respostas do DeepRAG.
Milvus é um banco de dados vetorial de código aberto otimizado para pesquisas de similaridade de alto desempenho, capaz de lidar com dados vetoriais em escala de bilhões. Zilliz Cloud, construído sobre o Milvus, oferece uma solução gerenciada baseada em nuvem que simplifica o dimensionamento e a manutenção. Esses bancos de dados fornecem a infraestrutura de que o DeepRAG precisa para realizar recuperações eficientes, especialmente para aplicações em larga escala.
Exemplo: Automação de Suporte ao Cliente Considere um sistema de suporte ao cliente integrado ao DeepRAG e ao Milvus para lidar com consultas complexas de clientes. Um usuário envia a pergunta: “Como posso transferir minha conta para outro usuário e garantir que minhas informações de cobrança sejam atualizadas?” Essa pergunta envolve várias etapas e exige informações de diferentes seções da documentação de uma empresa.
Etapa 1 – Geração de subconsultas: O DeepRAG começa decompondo a consulta complexa em subconsultas menores e gerenciáveis. Neste caso, ele identifica duas subperguntas distintas: “Como transferir uma conta para outro usuário?” e “Como atualizar as informações de cobrança?”. Essa decomposição permite que o DeepRAG se concentre em responder a cada parte da solicitação do usuário individualmente, melhorando tanto a eficiência da recuperação quanto a qualidade da resposta final.
Etapa 2 – Recuperação com Milvus: Depois que as subconsultas são geradas, o DeepRAG usa o Milvus para buscar documentos relevantes. Cada subconsulta é convertida em um vetor e comparada com os documentos armazenados no Milvus, que também são indexados como vetores. Para a primeira subconsulta, o sistema recupera um documento intitulado “Transferência de propriedade da conta”, detalhando as etapas necessárias para transferir uma conta. Para a segunda subconsulta, ele encontra um documento chamado “Atualização dos seus dados de cobrança”, que descreve como os usuários podem alterar suas informações de pagamento. A busca semântica do Milvus garante que apenas os documentos mais relevantes sejam recuperados, minimizando dados desnecessários.
Etapa 3 – Montagem da resposta: Após recuperar os documentos, o DeepRAG processa as informações para extrair os detalhes mais úteis. Ele lê o conteúdo dos artigos recuperados e resume as etapas essenciais. Para a subconsulta de transferência de conta, o DeepRAG gera uma resposta como: “Para transferir sua conta, vá para Settings > Account Management e selecione ‘Transfer Ownership’. Insira os dados do novo usuário e confirme a alteração.” Para a atualização de cobrança, ele produz: “Para atualizar as informações de cobrança, acesse Billing Settings e clique em ‘Edit Payment Method’. Faça as alterações necessárias e salve.” Esta etapa garante que os usuários recebam instruções claras e concisas, adaptadas às suas perguntas específicas.
Etapa 4 – Resposta final: Por fim, o DeepRAG combina as respostas individuais em uma resposta coerente, abordando diretamente a consulta em várias partes do usuário. O sistema mescla as orientações de ambas as subconsultas em uma resposta fluida, fornecendo ao usuário todas as informações de que ele precisa sem fazê-lo ler vários documentos. Essa integração de sub-respostas resulta em uma resposta completa e útil que resolve o problema do usuário com eficiência.
Neste exemplo, a integração do DeepRAG com o Milvus permite que o sistema lide com consultas complexas de forma eficiente. O raciocínio passo a passo do DeepRAG, combinado com a recuperação rápida e precisa do Milvus, garante que o usuário obtenha uma resposta precisa e completa sem precisar vasculhar documentos irrelevantes.
Essa abordagem destaca como bancos de dados vetoriais como Milvus e Zilliz Cloud podem aprimorar o processo de recuperação do DeepRAG, tornando-o adequado para aplicações do mundo real em que a recuperação eficiente e precisa de informações é fundamental.
Direções futuras para o DeepRAG
Embora o DeepRAG tenha feito progressos significativos na geração aumentada por recuperação, há áreas em que pesquisas futuras poderiam aprimorar ainda mais suas capacidades:
Integração de recuperação multimodal: Expandir o DeepRAG para lidar com dados multimodais, como imagens, áudio e vídeos, ampliaria muito sua aplicabilidade. Esse aprimoramento permitiria que o sistema processasse e recuperasse informações de diversas fontes, possibilitando que ele respondesse a consultas mais complexas que exigem conhecimento além do texto. Por exemplo, em um ambiente médico, o DeepRAG poderia recuperar tanto relatórios textuais quanto imagens médicas relevantes para fornecer uma resposta mais abrangente.
Decisões de recuperação conscientes do contexto: Melhorar a capacidade do DeepRAG de tomar decisões de recuperação mais sensíveis ao contexto é um próximo passo crucial. Atualmente, o sistema depende de sua estrutura baseada em MDP para decidir quando recuperar dados externos, mas iterações futuras poderiam incorporar uma compreensão mais nuançada da intenção e do contexto da consulta. Isso ajudaria o modelo a avaliar melhor quando a recuperação é necessária e a adaptar sua abordagem a consultas complexas ou ambíguas, melhorando tanto a eficiência quanto a precisão.
Recuperação de dados em tempo real e dinâmicos:Aprimorar a capacidade do DeepRAG de acessar e processar fontes de dados em tempo real o tornaria mais eficaz para aplicações sensíveis ao tempo. Integrar fluxos de dados ao vivo, como feeds de notícias ou atualizações do mercado de ações, permitiria que o DeepRAG lidasse com consultas que exigem informações atualizadas. Essa capacidade seria especialmente valiosa em domínios como finanças, agregação de notícias ou resposta a emergências, onde o acesso aos dados mais atuais é crítico.
Conclusão
O DeepRAG avança a geração aumentada por recuperação ao combinar decomposição adaptativa de consultas com estratégias eficientes de recuperação, levando a respostas mais precisas enquanto minimiza buscas desnecessárias. Seu forte desempenho em benchmarks destaca sua capacidade de lidar com consultas complexas de várias etapas com raciocínio aprimorado e eficiência de recuperação. Embora o modelo principal opere de forma independente, integrar o DeepRAG a bancos de dados vetoriais como Milvus e Zilliz Cloud pode aprimorar ainda mais suas capacidades de recuperação em aplicações de larga escala. Com melhorias futuras em recuperação multimodal, decisões conscientes do contexto e acesso a dados em tempo real, o DeepRAG está bem posicionado para se tornar uma solução versátil e poderosa para uma ampla gama de tarefas complexas de recuperação de informações.
Recursos adicionais
Artigos acadêmicos:
[2502.01142] DeepRAG: Thinking to Retrieval Step by Step for Large Language Models
[2404.19456] A Survey of Imitation Learning Methods, Environments and Metrics
Robust Markov Decision Processes: A Place Where AI and Formal Methods Meet
Artigos:
Continue lendo

Zilliz Cloud BYOC Now Available Across AWS, GCP, and Azure
Zilliz Cloud BYOC is now generally available on all three major clouds. Deploy fully managed vector search in your own AWS, GCP, or Azure account — your data never leaves your VPC.

Context Engineering Strategies for AI Agents: A Developer’s Guide
Learn practical context engineering strategies for AI agents. Explore frameworks, tools, and techniques to improve reliability, efficiency, and cost.

Smarter Autoscaling in Zilliz Cloud: Always Optimized for Every Workload
With the latest upgrade, Zilliz Cloud introduces smarter autoscaling—a fully automated, more streamlined, elastic resource management system.


