Técnicas Avançadas de RAG: Conectando Texto e Visuais para Respostas Mais Precisas
Grandes modelos de linguagem (LLMs) demonstraram capacidades excepcionais na compreensão e geração de vários tipos de conteúdo, textual ou visual, tornando-se amplamente adotados em diversos setores. Apesar de sua versatilidade, os LLMs frequentemente produzem informações imprecisas ou inventadas—conhecidas como alucinações—devido ao conhecimento de domínio limitado e a dados desatualizados.
A Geração Aumentada por Recuperação (RAG) é uma técnica que aborda esses desafios combinando as capacidades generativas dos LLMs com sistemas de recuperação que buscam informações relevantes em fontes externas. Ao fundamentar as respostas dos LLMs em dados do mundo real e atualizados, a RAG melhora a precisão e a relevância contextual das respostas e aumenta a eficiência geral do sistema. Essa combinação de geração e recuperação impulsiona a inovação, transforma o processamento de dados e torna os LLMs mais confiáveis em aplicações do mundo real.
Em um recente Unstructured Data Meetup organizado pela Zilliz, Yi Ding, ex-Head de Typescript e Partnerships na LlamaIndex, compartilhou insights sobre uma nova abordagem para RAG: Small to Slide. Esse método melhora o desempenho de LLMs multimodais ao lidar com dados visuais, como apresentações ou documentos com imagens. Neste blog, exploraremos como a RAG funciona, os desafios da RAG e técnicas avançadas de RAG, como Small to Slide RAG.
Entendendo a RAG
A RAG combina o poder dos LLMs com a capacidade de recuperar informações específicas de uma base de conhecimento alimentada por bancos de dados vetoriais. Quando um usuário faz uma pergunta, o sistema RAG pesquisa no banco de dados informações relevantes e usa essas informações para gerar uma resposta mais precisa. Vamos ver como o processo de RAG funciona.
Figura: Como a RAG funciona
Um sistema RAG consiste em três componentes principais: um modelo de embedding, um banco de dados vetorial e um LLM.
O modelo de embedding converte documentos em embeddings vetoriais, que são armazenados em um banco de dados vetorial como o Milvus.
Quando um usuário faz uma pergunta, o sistema transforma a consulta em um vetor usando o mesmo modelo de embedding.
O banco de dados vetorial então realiza uma busca por similaridade para recuperar as informações mais relevantes. Essas informações recuperadas são combinadas com a pergunta original para formar uma "pergunta com contexto", que é então enviada ao LLM.
O LLM processa essa entrada enriquecida para gerar uma resposta mais precisa e contextualmente relevante.
Esse método é particularmente valioso para lidar com conhecimento especializado ou informações dinâmicas e frequentemente atualizadas, garantindo que os sistemas de IA forneçam respostas precisas e confiáveis.
Por exemplo, uma grande plataforma de e-commerce poderia usar essa abordagem para alimentar seu sistema de recomendação de produtos. O sistema poderia processar milhões de descrições de produtos, avaliações de clientes e dados de uso e armazená-los como vetores. Quando um usuário pesquisa por um produto, o sistema recupera rapidamente os itens mais relevantes, considerando não apenas palavras-chave, mas o significado semântico da consulta.
Desafios do RAG e Técnicas Avançadas de RAG
Embora o RAG ofereça capacidades poderosas, ele também enfrenta desafios que podem impactar sua eficácia, especialmente à medida que os dados se tornam grandes e complexos.
Velocidade: Pesquisar em bancos de dados maiores leva mais tempo. Isso pode ser mitigado aproveitando a computação acelerada por hardware, como a otimização para GPUs ou outros sistemas de alto desempenho.
Precisão: Garantir que estamos recuperando as informações mais relevantes é desafiador. Os desenvolvedores precisam de maneiras de equilibrar desempenho e precisão dos dados com base em suas necessidades.
Dados Multimodais: Um RAG básico tem dificuldades com dados não textuais, como imagens ou gráficos. Lidar com diferentes tipos de dados vetoriais torna-se crucial nesses casos.
Nas seções a seguir, exploraremos várias técnicas avançadas de RAG—Small to Big RAG, Small to Slide RAG e ColPali—que abordam esses desafios, aprimorando a velocidade, a precisão e a versatilidade dos sistemas RAG.
Small to Big RAG
Small to Big RAG é um método para aprimorar a precisão dos sistemas RAG. A ideia central é dividir documentos em partes menores, focadas na intenção, para buscas precisas, mas recuperar seções de contexto maiores em vez de retornar apenas os trechos de correspondência exata, a fim de garantir que os LLMs possam gerar respostas significativas e completas. Isso ocorre porque, embora partes menores melhorem a precisão da busca ao focar em detalhes específicos, elas também podem perder contexto crítico, levando a respostas incompletas ou imprecisas.
Vejamos um exemplo.
Considere a consulta: “Onde a Sra. Churilo trabalha?”
Quando processado, o modelo de embeddings pode priorizar a palavra menos comum “Churilo” em vez de termos mais importantes como “trabalha.” Como resultado, o sistema poderia recuperar frases que mencionam “Churilo” mas não fornecer a informação-chave: “Chris é atualmente VP de Marketing na Zilliz.”
O Small to Big RAG aborda essa limitação recuperando o parágrafo inteiro onde seu cargo é mencionado, dando ao LLM o contexto completo necessário para entregar uma resposta correta e completa.
Figura: Recuperação incorreta no RAG tradicional
O Small to Big RAG é particularmente eficaz para lidar com dados de texto complexos ou em múltiplas camadas. Em um sistema de suporte técnico, por exemplo, recuperar uma única frase com uma palavra-chave relevante poderia deixar de fora detalhes ao redor que são críticos para o entendimento. Em vez disso, o Small to Big RAG recupera todas as seções relacionadas à consulta. Por exemplo, quando um usuário pergunta, “Como faço para redefinir minha senha?” o sistema poderia recuperar o parágrafo com a resposta direta e incluir contexto adicional, como recomendações de segurança, tornando a resposta mais abrangente e útil.
Ao combinar a precisão de embeddings menores com a profundidade contextual de uma recuperação mais ampla, o Small to Big RAG garante um equilíbrio entre precisão e completude. Essa abordagem permite que sistemas de IA forneçam respostas que não são apenas precisas, mas também ricas em contexto, melhorando sua confiabilidade em aplicações do mundo real.
Small to Slide RAG
Embora o Small to Big RAG se destaque no tratamento de dados baseados em texto, ele tem dificuldade para capturar informações incorporadas em elementos visuais, como slides, gráficos ou diagramas. Small to Slide RAG é um método RAG aprimorado que resolve esse problema ao incorporar texto de elementos visuais, como slides, mas recuperando a imagem inteira do slide. Esse resultado recuperado é então fornecido e processado por um LLM multimodal capaz de analisar tanto texto quanto imagens.
Veja como funciona:
Incorporação de texto: O sistema extrai e incorpora texto dos slides.
Recuperação visual: Em vez de recuperar apenas texto, ele recupera a imagem inteira do slide que contém as informações relevantes.
Processamento multimodal: As imagens de slides recuperadas são inseridas em um LLM multimodal (por exemplo, GPT-4 com capacidades de visão) que pode processar simultaneamente os componentes visuais e textuais.
Esse método é particularmente útil para lidar com documentos complexos nos quais informações cruciais são transmitidas por meio de elementos visuais. Por exemplo, em relatórios financeiros trimestrais, insights importantes costumam ser encontrados em gráficos ou diagramas que sistemas RAG tradicionais baseados em texto podem deixar passar. Ao recuperar e analisar a imagem inteira do slide, o Small to Slide RAG garante que nenhum detalhe crítico seja negligenciado, fornecendo uma resposta mais precisa e abrangente.
Para demonstrar o poder do Small to Slide RAG, Yi Ding apresentou uma demonstração de um exemplo prático usando uma apresentação de slides da Nvidia. Você pode conferir a demonstração aqui.
Figura: Uma comparação entre o contexto recuperado por um RAG tradicional e um Small to Slide RAG
Nesta demonstração, Yi Ding comparou o contexto recuperado por um sistema RAG tradicional com o Small to Slide RAG ao responder à mesma pergunta: "Quais plataformas SaaS o NVIDIA AI Enterprise suporta?"
RAG tradicional: O sistema RAG tradicional baseado em texto teve dificuldade em fornecer uma resposta completa. Ele se baseou apenas no texto extraído dos slides, deixando de lado informações críticas incorporadas em gráficos e diagramas. Essa limitação resultou em uma resposta incompleta e menos informativa.
Small to Slide RAG: Em contraste, o Small to Slide RAG entregou resultados muito melhores. O sistema recuperou as imagens reais dos slides contendo as informações relevantes e as inseriu em um LLM multimodal (por exemplo, GPT-4 com capacidades de visão). Isso permitiu que o modelo interpretasse tanto o texto quanto os elementos visuais, gerando uma resposta muito mais abrangente e precisa.
Este exemplo ilustra a força única do Small to Slide RAG: sua capacidade de lidar com documentos complexos nos quais informações-chave estão espalhadas entre texto e elementos visuais, tornando-o uma ferramenta inestimável para processar conteúdo visualmente rico.
Para que esses métodos RAG funcionem sem problemas, eles exigem infraestrutura para gerenciar consultas complexas e operações de recuperação.
ColPali: Expandindo os limites
No final de sua palestra, Yi apresentou uma técnica emergente chamada ColPali, um novo modelo de recuperação de documentos que expande os limites da Geração Aumentada por Recuperação (RAG). Diferentemente dos métodos tradicionais que convertem documentos com dados visuais (como slides e PDFs) em texto, o ColPali trabalha diretamente com os recursos visuais dos documentos, permitindo indexar e recuperar informações sem a etapa propensa a erros de extração de texto.
Como o ColPali funciona
Embora ainda esteja em seus estágios iniciais, o ColPali muda a forma como geralmente conduzimos a recuperação de documentos ao se concentrar em dados visuais:
Os documentos são tratados como imagens, contornando completamente a conversão de texto.
Múltiplos embeddings, semelhantes a n-gramas visuais, são gerados por imagem para capturar características visuais refinadas.
As buscas são realizadas comparando embeddings visuais com a consulta, identificando as áreas mais relevantes do documento.
Figura: Documento em francês sobre produção de petróleo no Cazaquistão, com certas áreas destacadas
Vamos analisar o exemplo mostrado na imagem acima: um documento em francês sobre produção de petróleo no Cazaquistão. Quando questionado sobre produção de petróleo offshore, o ColPali destaca áreas específicas do documento — como gráficos e diagramas — que são mais relevantes para a consulta. Isso garante que tanto os elementos textuais quanto os visuais sejam considerados, oferecendo uma compreensão abrangente do conteúdo.
Por que o ColPali é Empolgante
O ColPali oferece várias vantagens importantes em relação aos sistemas RAG tradicionais:
Ao trabalhar diretamente com imagens, ele evita imprecisões introduzidas pela conversão de documentos complexos (por exemplo, PDFs) em texto.
Ele captura informações visuais, como layouts, diagramas e formatação, que frequentemente são perdidas em métodos baseados em texto.
O ColPali permite recuperação e busca de dados visuais, abrindo possibilidades em áreas como design técnico, documentação jurídica e muito mais.
Uma aplicação prática do ColPali poderia ser em revisões de design arquitetônico. Imagine um sistema de IA analisando plantas e desenhos técnicos diretamente. Quando consultado sobre elementos específicos do projeto, o sistema poderia destacar partes relevantes dos desenhos, incorporando tanto anotações textuais quanto características visuais.
Desafios e Limitações do ColPali
Embora o ColPali seja promissor, ele ainda está em seus estágios iniciais e apresenta alguns desafios:
Alta Demanda Computacional: Gerar e comparar múltiplos embeddings por imagem é computacionalmente intensivo, tornando a aceleração por GPU essencial para uso prático.
Ecossistema Limitado: Em comparação com técnicas RAG mais estabelecidas, há menos ferramentas e recursos disponíveis para implementar o ColPali.
Modelos Específicos de Idioma e Treinamento: Atualmente, os modelos ColPali dependem de conjuntos de dados de treinamento específicos, o que pode limitar a generalização em diferentes domínios.
Prós e Contras de Cada Técnica RAG
Cada uma das técnicas que discutimos acima oferece vantagens e limitações distintas.
Figura: Comparação de diferentes técnicas RAG
RAG baseado em texto é o mais simples de implementar, beneficiando-se de amplo suporte de ferramentas. No entanto, ele tem dificuldade em manter informações multimodais e nem sempre lida perfeitamente com a fragmentação. Por outro lado, Small to Slide melhora a captura de dados multimodais, embora exija uma configuração mais complexa e funcione melhor com tipos específicos de dados. Por fim, ColPali simplifica o processo ao evitar a necessidade de conversão para texto e integrar atribuição incorporada, mas requer GPUs e modelos personalizados, o que pode limitar a acessibilidade para alguns projetos.
Implementando RAG Avançado: Considerações Práticas
Se você está considerando implementar essas técnicas avançadas de RAG em seus próprios projetos, aqui estão alguns pontos a ter em mente.
Avaliação de Dados
Observe os tipos de dados com os quais você está trabalhando. Se você tem muitos documentos com gráficos, imagens ou layouts complexos, abordagens como Small to Slide RAG podem ser particularmente benéficas. Por exemplo, se você está criando um sistema para analisar relatórios financeiros, que frequentemente contêm uma mistura de texto, tabelas e gráficos, o Small to Slide RAG poderia fornecer insights mais abrangentes do que uma abordagem somente textual.
Recursos Computacionais
Métodos como Small to Slide RAG e ColPali podem ser mais intensivos computacionalmente do que o RAG tradicional. Certifique-se de ter os recursos necessários, especialmente ao trabalhar com grandes conjuntos de dados.
Seleção de Modelo
Essas técnicas avançadas geralmente exigem tipos específicos de modelos. Para o Small to Slide RAG, você precisará de um LLM multimodal capaz de processar texto e imagens. Certifique-se de escolher um modelo que atenda às suas necessidades e de ter os recursos para executá-lo.
Capacidades do Banco de Dados Vetorial
Escolher o banco de dados vetorial certo é crucial para implementar um sistema RAG adaptado às suas necessidades. Por exemplo, se você estiver implementando um Small to Big RAG, precisará de um banco de dados vetorial capaz de recuperar com eficiência blocos maiores de texto usando embeddings gerados a partir de blocos menores. A escalabilidade se torna fundamental se a sua aplicação lida com grandes quantidades de dados vetoriais, como conjuntos de dados em escala de bilhões. Soluções como Milvus e seu serviço gerenciado, Zilliz Cloud, foram projetadas para esses cenários, oferecendo recuperação vetorial altamente escalável e eficiente.
Métricas de Avaliação
Desenvolva métricas claras para avaliar o desempenho do seu sistema RAG, incluindo a relevância das informações recuperadas, a precisão das respostas geradas e a velocidade de recuperação e geração.
Desenvolvimento Iterativo
O RAG está evoluindo rapidamente. Planeje um processo de desenvolvimento iterativo que permita testar e comparar facilmente diferentes abordagens. Comece com uma implementação básica de RAG e, em seguida, introduza gradualmente técnicas mais avançadas, como Small to Big RAG ou Small to Slide RAG. Avalie continuamente o desempenho e o feedback dos usuários para orientar seu processo de desenvolvimento.
Conclusão
As técnicas de RAG continuam a evoluir, oferecendo diferentes abordagens, como RAG baseado em texto, Small to Slide RAG e ColPali, para atender a necessidades variadas. Embora o RAG baseado em texto forneça um ponto de partida sólido para aplicações gerais, casos mais especializados, especialmente aqueles que lidam com dados visuais, podem se beneficiar de métodos avançados como Small to Slide RAG ou ColPali.
Escolher o método certo depende dos seus dados e dos recursos disponíveis. Cada abordagem oferece uma maneira de melhorar a eficiência e a precisão dos sistemas de IA, permitindo um melhor equilíbrio entre complexidade, velocidade e custo. Ao alinhar sua abordagem aos seus requisitos específicos, você pode aproveitar o RAG para criar sistemas que ofereçam aos usuários as informações certas no momento certo e no formato certo.
Recursos Adicionais
Continue lendo

Zilliz Cloud Now Available in AWS Asia Pacific (Seoul)
Zilliz Cloud is now available in AWS Seoul — low-latency vector search, in-country data residency, and one-step migration for Korean AI teams. 31 regions across 5 clouds.

Introducing Customer-Managed Encryption Keys (CMEK) on Zilliz Cloud
We're announcing the general availability of Customer-Managed Encryption Keys (CMEK) on Zilliz Cloud.

Data Deduplication at Trillion Scale: How to Solve the Biggest Bottleneck of LLM Training
Explore how MinHash LSH and Milvus handle data deduplication at the trillion-scale level, solving key bottlenecks in LLM training for improved AI model performance.



