RAG Multimodal: Expandindo Além do Texto para uma IA Mais Inteligente
Ao longo do último ano e meio, Retrieval Augmented Generation (RAG) tornou-se uma técnica poderosa para melhorar as respostas de large language model (LLM) com informações contextuais relevantes, reduzindo significativamente o risco de alucinações—quando LLMs geram respostas que parecem plausíveis, mas são factualmente incorretas.
No entanto, dados do mundo real muitas vezes vão muito além de texto—também encontramos imagens, vídeos, tabelas e vários formatos de documentos. É aqui que Multimodal RAG se torna crucial, permitindo a integração de diferentes tipos de dados para fornecer conhecimento ainda mais confiável aos modelos de IA.
Neste post, falaremos sobre:
- A evolução do RAG, do RAG tradicional baseado em texto ao RAG Multimodal
- Como o banco de dados vetorial Milvus permite o armazenamento e a busca de diversos tipos de dados
- O papel das GPUs NVIDIA na aceleração dessas operações complexas
- As possíveis aplicações e benefícios desta tecnologia
Seja você um entusiasta de IA ou um desenvolvedor procurando adicionar RAG aos seus projetos, este post fornecerá insights valiosos sobre uma tecnologia que está pronta para redefinir as capacidades dos sistemas RAG.
A Evolução do RAG: De Centrado em Texto a Multimodal
RAG Tradicional
O RAG baseado em texto aprimora as respostas de LLMs recuperando contexto relevante baseado em texto de uma base de conhecimento. Abaixo está uma visão geral de um fluxo de trabalho típico de RAG:
- O usuário envia uma consulta de texto ao sistema.
- A consulta é transformada em um embedding vetorial, que é então usado para pesquisar em um banco de dados vetorial , como Milvus, onde passagens de texto são armazenadas como embeddings. O banco de dados vetorial recupera passagens que correspondem de perto à consulta com base na similaridade vetorial.
- As passagens de texto relevantes são passadas para o LLM como contexto suplementar, enriquecendo sua compreensão da consulta.
- O LLM processa a consulta juntamente com o contexto fornecido, gerando uma resposta mais informada e precisa.
Figura 1- Como o RAG funciona.png
Figura: Como o RAG funciona
O RAG tradicional tem sido altamente eficaz para melhorar a saída do LLM, mas continua limitado a dados textuais. Em muitas aplicações do mundo real, o conhecimento vai muito além do texto—incorporando imagens, gráficos e outras modalidades que fornecem contexto crítico.
RAG Multimodal: Expandindo Além do Texto
RAG Multimodal aborda a limitação acima permitindo o uso de diferentes tipos de dados, fornecendo melhor contexto aos LLMs.
Um ator-chave nessa evolução é LLaVA (Large Language and Vision Assistant), um modelo multimodal projetado para integrar tanto linguagem (texto) quanto visão (imagens) para aprimorar as capacidades de modelos de linguagem grandes (LLMs). O LLaVA extrai informações significativas de conteúdo visual e as converte em descrições textuais, que podem ser processadas por modelos de embedding e armazenadas em bancos de dados vetoriais como Milvus.
Abaixo está um exemplo de como o LlaVA funciona com modelos de embedding e bancos de dados vetoriais.
Figura: Um exemplo do que o LlaVa pode produzir quando perguntado sobre uma imagem
Figura: Um exemplo do que o LlaVa pode produzir quando perguntado sobre uma imagem
Componentes Principais de um Pipeline RAG Multimodal
Para processar diversos tipos de dados, um pipeline de RAG multimodal converte todas as modalidades em um formato unificado, normalmente texto. Essa conversão geralmente é realizada usando Modelos de Linguagem Visual (VLMs) especializados, que lidam com imagens gerais e dados gráficos, como gráficos. Os VLMs extraem informações significativas dessas fontes não textuais e as transformam em embeddings baseados em texto que podem ser usados por grandes modelos de linguagem (LLMs) para geração de contexto.
Além dos VLMs, vários outros componentes críticos também garantem que os sistemas de RAG multimodal operem de forma eficiente e em escala. Abaixo estão os principais componentes desse tipo de pipeline, juntamente com alguns exemplos importantes que ilustram como esses componentes são implementados.
Modelos de Linguagem Visual (VLMs): Esses modelos processam e convertem conteúdo visual—como imagens, gráficos e diagramas—em formatos textuais ou incorporados que os LLMs podem utilizar.
- Exemplo: Neva 22B (NVIDIA): Uma variante ajustada do LLaVA, otimizada para compreensão geral de imagens, capaz de interpretar e gerar descrições textuais a partir de entradas visuais.
- Exemplo: DePlot (Google): Especializado em processar e analisar dados gráficos, como gráficos e plots, tornando-o ideal para conteúdo visual mais técnico.
Bancos de dados vetoriais: Bancos de dados vetoriais são um componente crucial de sistemas RAG multimodais que armazenam e recuperam embeddings vetoriais para vários tipos de dados, incluindo texto, imagens e outras modalidades. Eles realizam buscas por similaridade, garantindo que as informações mais relevantes estejam rapidamente acessíveis ao LLM.
Exemplo: Milvus é um excelente exemplo de banco de dados vetorial que oferece suporte à busca vetorial acelerada por GPUs NVIDIA, proporcionando desempenho excepcional para dados multimodais em larga escala.
- Aceleração por GPU: Milvus usa GPUs NVIDIA para acelerar a indexação e a consulta de vetores.
- Escalabilidade: Ele lida com buscas por similaridade em escala de bilhões, tornando-o adequado para aplicações de alto volume.
- Eficiência: A combinação de indexação e consulta por GPU garante máxima taxa de transferência e respostas em tempo real com latência mínima.
Modelos de embedding de texto: Esses modelos convertem entradas textuais em embeddings vetoriais, que são essenciais para buscas por similaridade em um sistema RAG.
- Exemplo: NV Embed: Um modelo de embedding acelerado por GPU que transforma texto em embeddings de forma eficiente para recuperação rápida em bancos de dados vetoriais, oferecendo vantagens significativas de velocidade em relação a soluções baseadas em CPU.
Grandes Modelos de Linguagem (LLMs): Os LLMs formam o núcleo do sistema RAG, gerando respostas com base na consulta e nos dados contextuais recuperados. Esses modelos frequentemente são ajustados para tarefas específicas a fim de melhorar a precisão das respostas.
- Exemplo: Llama 3.1 (variante 70B Instruct): Desenvolvida pela Meta, esta versão é ajustada para tarefas de seguir instruções, aprimorando sua capacidade de gerar respostas precisas e orientadas a tarefas.
Frameworks de orquestração: Esses frameworks gerenciam o fluxo de dados em todo o pipeline—desde o processamento da consulta inicial, a recuperação do conteúdo multimodal relevante, até a geração da resposta final.
- Exemplo: LlamaIndex: Um framework que orquestra o processamento de consultas, a recuperação de contexto e a geração de respostas, garantindo uma coordenação fluida entre todos os componentes do sistema RAG multimodal
Figura: Uma arquitetura RAG multimodal (Crédito NVIDIA)
Figura: Uma arquitetura RAG multimodal (Crédito NVIDIA)
O diagrama acima ilustra a arquitetura de um exemplo de pipeline RAG Multimodal apresentado pela NVIDIA, construído sobre vários componentes-chave: Llama 3 serve como o modelo de linguagem grande (LLM) fundamental, com LlamaIndex orquestrando todo o fluxo de trabalho. NV Embed lida com a incorporação de texto, enquanto Milvus atua como o banco de dados vetorial para recuperação rápida. NeVA 22B processa imagens, e DePlot gerencia gráficos e plots, permitindo que o sistema lide com uma ampla variedade de formatos de dados.
Para obter mais informações sobre como criar um RAG multimodal, confira os recursos abaixo:
- Vídeo: Criando RAG de IA Multimodal com LlamaIndex, NVIDIA NIM e Milvus | Desenvolvimento de apps LLM
- Tutorial: Crie um RAG Multimodal com Gemini, BGE-M3, Milvus e LangChain
- Tutorial: Crie pipelines RAG Multimodais melhores com FiftyOne, LlamaIndex e Milvus
- Tutorial: RAG Multimodal localmente com CLIP e Llama3
Principais recursos dos sistemas RAG Multimodais
Este sistema RAG Multimodal usa muitos recursos avançados que tornam possível processar e compreender diversos tipos de dados:
- Processamento multiformato: Este sistema RAG multimodal lida com uma ampla variedade de tipos de documentos, incluindo arquivos de texto, PDFs, apresentações PowerPoint e imagens. Tornando-o útil para diferentes finalidades, como pesquisa, inteligência de negócios, etc.
- Análise de imagens via modelos de linguagem visual: Com a integração de modelos como NeVA 22B, o sistema pode analisar e descrever conteúdo visual, como imagens e diagramas.
- Indexação e recuperação eficientes: Aproveitando o Milvus em combinação com GPUs NVIDIA, o sistema oferece indexação vetorial e busca por similaridade extremamente rápidas. Esse recurso permite processar com eficiência enormes quantidades de dados, tornando-o ideal para aplicações que exigem recuperação em tempo real de informações multimodais.
Ao combinar esses recursos poderosos, este sistema RAG Multimodal oferece soluções abrangentes para extrair insights de diversos tipos de dados. Seja trabalhando com texto, imagens ou uma combinação de ambos, o sistema permite aproveitar vários formatos para melhorar a compreensão e a tomada de decisões.
Conclusão: Avançando a compreensão de conteúdo impulsionada por IA
Nesta postagem do blog, abordamos como criar uma aplicação RAG multimodal usando GPUs NVIDIA e Milvus. O Milvus, com seus recursos de busca vetorial acelerada por GPU, desempenha um papel crucial aqui, garantindo alto desempenho e escalabilidade. Incentivamos você a experimentar consultando o Notebook no Github e explorar mais.
Adoraríamos saber o que você acha!
Se você gostou desta postagem do blog, ficaríamos muito gratos se pudesse nos dar uma estrela no GitHub! Você também é bem-vindo para se juntar à nossa comunidade Milvus no Discord para compartilhar suas experiências. Se você tiver interesse em aprender mais, confira nosso repositório Bootcamp no GitHub para exemplos de como criar apps RAG Multimodais com Milvus.
Recursos adicionais
- Os 10 principais modelos de IA multimodal de 2024
- Avalie seu RAG multimodal usando Trulens
- Explorando embeddings multimodais com FiftyOne e Milvus
- Explorando o OpenAI CLIP: O futuro do aprendizado de IA multimodal
- Hub de recursos de IA generativa | Zilliz
- Modelos de IA com melhor desempenho para seus apps GenAI | Zilliz
- Comparação de bancos de dados vetoriais
Continue lendo

Zilliz Cloud Audit Logs Goes GA: Security, Compliance, and Transparency at Scale
Zilliz Cloud Audit Logs are now GA, giving enterprises real-time visibility, compliance-ready trails, and stronger security across AWS, GCP, and Azure.

Expanding Our Global Reach: Zilliz Cloud Launches in Azure Central India
Zilliz Cloud expands to Azure Central India. This new region helps customers meet compliance, reduce latency, and optimize cloud costs when building AI applications.

Milvus WebUI: A Visual Management Tool for Your Vector Database
Explore Milvus WebUI to monitor, manage, and optimize your vector database with real-time insights, performance tracking, and system health monitoring.



