Avaliando sistemas RAG multimodais usando Trulens
À medida que arquiteturas multimodais se tornam mais proeminentes em IA Generativa (GenAI), as organizações constroem cada vez mais soluções usando modelos multimodais como GPT-4V e Gemini Pro Vision. Esses modelos oferecem uma vantagem fundamental: eles podem incorporar semanticamente e interpretar vários tipos de dados—texto, imagens e mais—tornando-os mais versáteis e eficazes do que os modelos de linguagem grandes tradicionais (LLMs) em uma gama mais ampla de aplicações.
No entanto, à medida que cresce o interesse em modelos multimodais, também crescem os desafios de garantir sua confiabilidade e precisão. Assim como os LLMs, os modelos multimodais são propensos a "alucinações", nas quais produzem saídas incorretas ou irrelevantes—particularmente quando encarregados de processar diferentes tipos de dados de entrada simultaneamente. Geração Aumentada por Recuperação Multimodal (RAG) aborda essas limitações enriquecendo os modelos com informações contextuais relevantes de fontes externas.
Em um Unstructured Data Meetup organizado pela Zilliz, Josh Reini, Developer Advocate na TruEra (agora adquirida pela Snowflake), compartilhou insights sobre os desafios e soluções de trabalhar com frameworks multimodais. Josh enfatizou como poderíamos mitigar alucinações de IA usando ferramentas de código aberto como Trulens e como a integração do banco de dados vetorial Milvus pode aprimorar o desempenho de sistemas RAG multimodais.
Josh Reini falando no SF Unstructured Data Meetup de novembro
Neste blog, recapitularemos os insights de Josh e discutiremos o papel crítico que as avaliações (ou "Evals") desempenham na melhoria de sistemas RAG multimodais, garantindo que esses sistemas entreguem resultados precisos e relevantes ao lidar com dados complexos. Você também pode assistir à palestra completa de Josh no YouTube para mais insights.
Entendendo Modelos Multimodais e RAG Multimodal
Modelos multimodais são modelos de aprendizado de máquina que podem processar e integrar vários tipos de dados ou modalidades, como texto, imagens, áudio e vídeo. Diferentemente dos modelos de linguagem tradicionais, que se concentram em um único tipo de entrada, os modelos multimodais combinam informações de várias fontes para criar saídas mais contextualmente precisas. Essa versatilidade os torna particularmente úteis em cenários nos quais os dados vêm de diferentes formatos. Por exemplo, um modelo multimodal pode usar uma imagem e uma descrição em texto para gerar uma resposta mais precisa do que um modelo que depende de apenas um tipo de entrada.
Assim como os LLMs, os modelos multimodais são otimizados para generalização, permitindo que respondam a diversas entradas. No entanto, essa otimização tem um custo. Os modelos são frequentemente penalizados por memorizar dados específicos, criando uma tensão entre ser flexível e preciso. Esse ato de equilíbrio se torna complicado quando a tarefa envolve cruzar referências entre múltiplas modalidades, como diagnosticar uma doença com base em sintomas descritos em texto e imagens de raio-X.
Para fornecer a esses modelos de uso geral memórias de longo prazo, podemos descarregar conhecimento específico "memorizado" para recursos externos, como um armazenamento vetorial (por exemplo, Milvus). Essa técnica é conhecida como RAG Multimodal.
Os sistemas de RAG Tradicional se concentram em recuperar texto relevante para aprimorar o processo generativo dos LLMs, produzindo respostas mais precisas e personalizadas. O RAG Multimodal vai além do texto ao integrar tipos de dados adicionais — imagens, áudio, vídeos e muito mais — ao processo de recuperação e geração usando modelos multimodais e bancos de dados vetoriais. Essa abordagem permite que os sistemas de RAG Multimodal tenham um desempenho mais eficaz em tarefas que exigem uma compreensão mais profunda de entradas textuais e não textuais.
Por exemplo, o RAG Multimodal pode recuperar imagens ou vídeos relevantes em sistemas de resposta a perguntas visuais para gerar respostas mais precisas. Da mesma forma, em tarefas como legendagem de imagens ou sistemas de diálogo multimodal, a capacidade de combinar dados visuais e textuais garante que o sistema forneça saídas mais contextualmente relevantes e precisas.
Ao aproveitar os pontos fortes complementares dos modelos multimodais e dos mecanismos avançados de recuperação, o RAG Multimodal oferece uma solução poderosa para lidar com dados complexos e multiformato e gerar respostas ricas e conscientes do contexto em uma ampla gama de aplicações.
Como o RAG Multimodal funciona?
Agora que apresentamos o conceito de RAG Multimodal, vamos explorar como esses sistemas operam. Usaremos um sistema de resposta visual a perguntas aumentado por recuperação como exemplo para ilustrar o processo:
Figura- Como funciona um sistema RAG multimodal
Processamento de Entrada Multimodal: O sistema RAG recebe uma consulta do usuário juntamente com uma imagem.
Embedding: Tanto a imagem quanto a consulta de texto são transformadas em embeddings vetoriais usando um modelo de embedding multimodal. Esses embeddings permitem que o sistema analise e compare a entrada em diferentes modalidades (texto e imagem), tornando-o capaz de entender as relações entre as duas.
Recuperação em Banco de Dados Vetorial: O sistema usa embeddings de imagem para consultar um banco de dados vetorial, como Milvus ou sua versão gerenciada, Zilliz Cloud, para recuperar imagens semelhantes e suas anotações associadas ou dados relevantes. Esta etapa de recuperação enriquece o conhecimento do modelo ao fornecer contexto adicional a partir de dados do mundo real.
Conclusão: Os dados recuperados (imagens semelhantes e suas anotações) são combinados com a consulta de entrada original. O modelo multimodal usa esse contexto enriquecido para gerar uma resposta abrangente ou conclusão que aproveita tanto a entrada original quanto as informações recuperadas.
Resposta: Por fim, o sistema gera uma resposta precisa integrando os dados externos recuperados à entrada original. Isso permite que o modelo produza uma resposta mais consciente do contexto, relevante e precisa para a consulta do usuário.
Ao incorporar dados externos por meio da recuperação, os sistemas de RAG Multimodal vão além do que o modelo sabe internamente, garantindo saídas mais precisas e contextualmente relevantes.
A Necessidade de Avaliações Sistemáticas
Apesar da poderosa combinação de modelos multimodais e sistemas de recuperação, desafios permanecem. Embora demos impressionantes possam demonstrar o potencial do RAG Multimodal, transformar uma demo em uma aplicação robusta, pronta para produção, é muito mais difícil.
A chave para superar esses desafios é a avaliação sistemática. Essas avaliações ajudam a identificar fraquezas, modos de falha e áreas para melhoria em aplicações multimodais, permitindo que os desenvolvedores as refinem e otimizem ao longo do tempo. No campo da IA, frequentemente vemos dois tipos de equipes:
Equipes que criam protótipos empolgantes que funcionam cerca de 80% do tempo.
Equipes que conseguem implantar esses sistemas em produção, o que é uma tarefa muito mais complexa e exigente.
Para o segundo grupo—aqueles focados em produção—iteração e avaliação sistemáticas são essenciais, particularmente em áreas como educação (tutores baseados em LLM), suporte ao cliente (resumo de transcrições) e serviços financeiros (chatbots internos ou voltados para clientes), onde confiabilidade e precisão são críticas.
É aqui que as ferramentas de avaliação, frequentemente chamadas de Evals, tornam-se indispensáveis. As ferramentas de avaliação permitem que os desenvolvedores monitorem o desempenho, testem a confiabilidade e identifiquem áreas para melhoria à medida que iteram rumo a uma solução pronta para produção. Ferramentas de avaliação populares incluem Trulens, Ragas, LangFuse, OpenAI Evals, DeepEval, Phoenix e LangSmith.
Nas seções a seguir, usaremos TruLens, uma ferramenta de avaliação de código aberto, como estudo de caso para demonstrar como avaliações sistemáticas podem ser aplicadas a sistemas RAG multimodais.
Como o TruLens Ajuda na Avaliação de RAG Multimodal
Trulens é uma ferramenta de código aberto para avaliar grandes modelos de linguagem (LLMs) e aplicações RAG multimodais. Sua força está em sua capacidade de monitorar, testar e depurar aplicações, tornando-a especialmente útil para identificar áreas de melhoria e garantir a confiabilidade do aplicativo.
Depois que os desenvolvedores conectam seu aplicativo ao TruLens, eles podem registrar logs e definir funções de avaliação que avaliam sistematicamente o desempenho do modelo. Essas avaliações são cruciais para detectar alucinações, que podem levar a respostas imprecisas ou irrelevantes, especialmente em sistemas RAG multimodais complexos.
Em um sistema RAG típico, três componentes centrais precisam de avaliação:
Figura- Três Pilares do RAG (Tríade RAG)
Consulta: O usuário envia uma consulta, que pode estar na forma de texto ou de texto e imagens combinados.
Contexto: O sistema recupera informações relevantes, como imagens e texto, de um banco de dados vetorial para fornecer contexto ao modelo.
Resposta: O LLM ou modelo multimodal gera uma resposta com base no contexto recuperado e na consulta original.
Para garantir que o modelo permaneça preciso e confiável, avaliações são realizadas em cada etapa para detectar alucinações e avaliar quão bem o sistema está funcionando. Isso é frequentemente chamado de Tríade RAG, como mostrado no diagrama anexo.
Há três tipos críticos de avaliações para garantir que a saída do sistema seja confiável:
Relevância do Contexto: Isso verifica quão estreitamente as informações recuperadas (texto ou imagens) se alinham com a consulta original. O contexto recuperado é relevante e útil para a consulta em questão?
Fundamentação: A fundamentação avalia se o contexto recuperado dá suporte à resposta gerada. A resposta se baseia nas informações recuperadas ou está gerando dados sem suporte ou incorretos?
Relevância da Resposta: Isso mede a utilidade e a precisão da resposta do modelo. A resposta é significativa e relevante para a pergunta do usuário?
Ao integrar o TruLens, os desenvolvedores podem acompanhar e melhorar continuamente o desempenho de seus sistemas RAG multimodais, garantindo que o modelo permaneça preciso, fundamentado em evidências e contextualmente relevante, ao mesmo tempo em que minimiza alucinações.
Para obter um guia passo a passo sobre como implementar e avaliar RAG usando Trulens, leia este tutorial: Evaluations for Retrieval Augmented Generation: TruLens + Milvus.
Exemplo do mundo real: Avaliando um sistema RAG visual de perguntas e respostas
Para entender melhor isso, vamos considerar um exemplo de um sistema RAG visual de perguntas e respostas. Nesse sistema, o usuário fornece tanto uma consulta quanto uma imagem. O modelo gera um embedding a partir da imagem e pesquisa em um banco de dados vetorial por imagens semelhantes, que então são combinadas com anotações para gerar a resposta final.
Em cada etapa, devemos avaliar se as imagens recuperadas são relevantes para a consulta original, se a resposta do LLM está fundamentada no contexto fornecido e se a resposta final é relevante para a pergunta original. Se o sistema recuperar imagens irrelevantes ou gerar diagnósticos incorretos, as avaliações nos ajudarão a identificar o modo de falha e melhorar o modelo.
Uma equipe, X-ray Insight, criou um app durante um hackathon que ilustra essas avaliações em ação. Eles coletaram imagens de raios X e anotações (diagnósticos), transformaram as imagens em embeddings de imagem, carregaram esses embeddings junto com metadados (os diagnósticos) no banco de dados vetorial Milvus/Zilliz e usaram uma imagem fornecida pelo usuário (que também foi transformada em embeddings) para recuperar casos semelhantes. Os metadados (por exemplo, diagnósticos) associados a essas imagens foram usados para gerar um diagnóstico final por meio de um modelo multimodal.
Figura: Como funciona o sistema X-ray Insight
Usando TruLens, a equipe do X-ray Insight conseguiu avaliar o desempenho de seu modelo em várias etapas:
Geração de embeddings: Pré-processar a imagem, calcular o embedding (um processo demorado) e garantir a qualidade do embedding.
Recuperação de casos: Pesquisar casos relevantes no banco de dados vetorial com base nos embeddings calculados.
Diagnóstico final: Gerar um diagnóstico a partir das notas do paciente e compará-lo com os dados recuperados.
Depois que essas avaliações estão em vigor, o TruLens permite que a equipe analise características compartilhadas entre diagnósticos, identifique modos de falha e melhore com base nos insights obtidos.
Conclusão
Em resumo, implantar modelos multimodais e sistemas RAG em produção exige mais do que criar um protótipo interessante. A iteração sistemática por meio de avaliações como relevância do contexto, fundamentação e relevância da resposta é essencial para garantir que esses modelos sejam confiáveis e precisos. Ferramentas como TruLens fornecem uma estrutura para rastrear, testar e depurar esses apps, ajudando os desenvolvedores a refinar seus modelos e evitar alucinações.
À medida que continuamos a expandir os limites do que os modelos multimodais podem fazer, as avaliações continuarão sendo um pilar do processo de desenvolvimento. Elas garantirão que esses modelos gerem saídas de maneira fundamentada e relevante.
Recursos adicionais
Continue lendo

Introducing Zilliz MCP Server: Natural Language Access to Your Vector Database
Developers can easily manage and query vector databases with natural language via Zilliz MCP Server in AI-native environments.

AI Agents Are Quietly Transforming E-Commerce — Here’s How
Discover how AI agents transform e-commerce with autonomous decision-making, enhanced product discovery, and vector search capabilities for today's retailers.

Vector Databases vs. Graph Databases
Use a vector database for AI-powered similarity search; use a graph database for complex relationship-based queries and network analysis.



