RAG multimodal: expansión más allá del texto para una IA más inteligente
Durante el último año y medio, Retrieval Augmented Generation (RAG) se ha convertido en una técnica poderosa para mejorar las respuestas de los modelos de lenguaje grandes (LLM) con información contextual relevante, reduciendo significativamente el riesgo de alucinaciones, donde los LLM generan respuestas que suenan plausibles pero son factualmente incorrectas.
Sin embargo, los datos del mundo real a menudo van mucho más allá del texto: también encontramos imágenes, videos, tablas y diversos formatos de documentos. Aquí es donde Multimodal RAG se vuelve crítico, permitiendo la integración de diferentes tipos de datos para proporcionar conocimiento aún más confiable a los modelos de IA.
En esta publicación, hablaremos sobre:
- La evolución de RAG, desde el RAG tradicional basado en texto hasta el RAG multimodal
- Cómo la base de datos vectorial Milvus permite el almacenamiento y la búsqueda de diversos tipos de datos
- El papel de las GPU NVIDIA en la aceleración de estas operaciones complejas
- Las posibles aplicaciones y beneficios de esta tecnología
Ya seas un entusiasta de la IA o un desarrollador que busca añadir RAG a tus proyectos, esta publicación proporcionará información valiosa sobre una tecnología destinada a redefinir las capacidades de los sistemas RAG.
La evolución de RAG: de centrado en texto a multimodal
RAG tradicional
El RAG basado en texto mejora las respuestas de los LLM recuperando contexto relevante basado en texto de una base de conocimientos. A continuación se presenta una descripción general de un flujo de trabajo típico de RAG:
- El usuario envía una consulta de texto al sistema.
- La consulta se transforma en un embedding vectorial, que luego se usa para buscar en una base de datos vectorial , como Milvus, donde los pasajes de texto se almacenan como embeddings. La base de datos vectorial recupera pasajes que coinciden estrechamente con la consulta según la similitud vectorial.
- Los pasajes de texto relevantes se pasan al LLM como contexto suplementario, enriqueciendo su comprensión de la consulta.
- El LLM procesa la consulta junto con el contexto proporcionado, generando una respuesta más informada y precisa.
Figura 1- Cómo funciona RAG.png
Figura: Cómo funciona RAG
El RAG tradicional ha sido muy eficaz para mejorar la salida del LLM, pero sigue estando limitado a datos textuales. En muchas aplicaciones del mundo real, el conocimiento va mucho más allá del texto, incorporando imágenes, gráficos y otras modalidades que proporcionan contexto crítico.
RAG multimodal: expandiéndose más allá del texto
Multimodal RAG aborda la limitación anterior al permitir el uso de diferentes tipos de datos, proporcionando mejor contexto a los LLM.
Un actor clave en esta evolución es LLaVA (Large Language and Vision Assistant), un modelo multimodal diseñado para integrar tanto lenguaje (texto) como visión (imágenes) para mejorar las capacidades de los modelos de lenguaje grandes (LLM). LLaVA extrae información significativa del contenido visual y la convierte en descripciones textuales, que pueden ser procesadas por modelos de embedding y almacenadas en bases de datos vectoriales como Milvus.
A continuación se muestra un ejemplo de cómo LlaVA funciona con modelos de embedding y bases de datos vectoriales.
Figura: Un ejemplo de lo que LlaVa puede producir cuando se le pregunta sobre una imagen
Figura: Un ejemplo de lo que LlaVa puede producir cuando se le pregunta sobre una imagen
Componentes clave de un pipeline de RAG multimodal
Para procesar diversos tipos de datos, una canalización RAG multimodal convierte todas las modalidades en un formato unificado, normalmente texto. Esta conversión suele lograrse mediante Modelos de Lenguaje Visual (VLMs) especializados, que manejan imágenes generales y datos gráficos como diagramas. Los VLMs extraen información significativa de estas fuentes no textuales y la transforman en embeddings basados en texto que los grandes modelos de lenguaje (LLMs) pueden usar para la generación de contexto.
Además de los VLMs, varios otros componentes críticos también garantizan que los sistemas RAG multimodales funcionen de manera eficiente y a escala. A continuación se muestran los componentes clave de una canalización de este tipo, junto con algunos ejemplos destacados que ilustran cómo se implementan estos componentes.
Modelos de Lenguaje Visual (VLMs): Estos modelos procesan y convierten contenido visual —como imágenes, diagramas y gráficos— en formatos textuales o embebidos que los LLMs pueden utilizar.
- Ejemplo: Neva 22B (NVIDIA): Una variante ajustada de LLaVA, optimizada para la comprensión general de imágenes, capaz de interpretar y generar descripciones textuales a partir de entradas visuales.
- Ejemplo: DePlot (Google): Especializado en procesar y analizar datos gráficos como diagramas y gráficos, lo que lo hace ideal para contenido visual más técnico.
Bases de datos vectoriales: Las bases de datos vectoriales son un componente cruial de un sistema RAG multimodal que almacena y recupera embeddings vectoriales para diversos tipos de datos, incluidos texto, imágenes y otras modalidades. Realizan búsquedas de similitud, asegurando que la información más relevante sea rápidamente accesible para el LLM.
Ejemplo: Milvus es un ejemplo destacado de bases de datos vectoriales que admite búsqueda vectorial acelerada por GPU de NVIDIA, proporcionando un rendimiento excepcional para datos multimodales a gran escala.
- Aceleración por GPU: Milvus utiliza GPUs de NVIDIA para acelerar la indexación y consulta de vectores.
- Escalabilidad: Maneja búsquedas de similitud a escala de miles de millones, lo que lo hace adecuado para aplicaciones de alto volumen.
- Eficiencia: La combinación de indexación y consulta con GPU garantiza el máximo rendimiento y respuestas en tiempo real con una latencia mínima.
Modelos de embeddings de texto: Estos modelos convierten entradas textuales en embeddings vectoriales, que son esenciales para las búsquedas de similitud en un sistema RAG.
- Ejemplo: NV Embed: Un modelo de embeddings acelerado por GPU que transforma eficientemente texto en embeddings para una recuperación rápida en bases de datos vectoriales, ofreciendo ventajas de velocidad significativas frente a soluciones basadas en CPU.
Grandes Modelos de Lenguaje (LLMs): Los LLMs forman el núcleo del sistema RAG, generando respuestas basadas en la consulta y los datos contextuales recuperados. Estos modelos a menudo se ajustan para tareas específicas con el fin de mejorar la precisión de las respuestas.
- Ejemplo: Llama 3.1 (variante 70B Instruct): Desarrollada por Meta, esta versión está ajustada para tareas de seguimiento de instrucciones, lo que mejora su capacidad para generar respuestas precisas y orientadas a tareas.
Marcos de orquestación: Estos marcos gestionan el flujo de datos a través de toda la canalización: desde procesar la consulta inicial, recuperar el contenido multimodal relevante, hasta generar la respuesta final.
- Ejemplo: LlamaIndex: Un marco que orquesta el procesamiento de consultas, la recuperación de contexto y la generación de respuestas, asegurando una coordinación fluida entre todos los componentes del sistema RAG multimodal
Figura: Una arquitectura RAG multimodal (Crédito NVIDIA)
Figura: Una arquitectura RAG multimodal (Crédito NVIDIA)
El diagrama anterior ilustra la arquitectura de un ejemplo de pipeline RAG multimodal presentado por NVIDIA, construido sobre varios componentes clave: Llama 3 sirve como el modelo de lenguaje grande (LLM) fundacional, con LlamaIndex orquestando todo el flujo de trabajo. NV Embed se encarga de la incrustación de texto, mientras que Milvus actúa como la base de datos vectorial para una recuperación rápida. NeVA 22B procesa imágenes, y DePlot gestiona gráficos y diagramas, lo que permite al sistema manejar una amplia variedad de formatos de datos.
Para obtener más información sobre cómo construir un RAG multimodal, consulta los siguientes recursos:
- Video: Building Multimodal AI RAG with LlamaIndex, NVIDIA NIM, and Milvus | LLM App Development
- Tutorial: Build a Multimodal RAG with Gemini, BGE-M3, Milvus and LangChain
- Tutorial: Build Better Multimodal RAG Pipelines with FiftyOne, LlamaIndex, and Milvus
- Tutorial: Multimodal RAG locally with CLIP and Llama3
Características clave de los sistemas RAG multimodales
Este sistema RAG multimodal utiliza muchas características avanzadas que hacen posible procesar y comprender diversos tipos de datos:
- Procesamiento multiformato: Este sistema RAG multimodal maneja una amplia gama de tipos de documentos, incluidos archivos de texto, PDFs, presentaciones de PowerPoint e imágenes. Lo que lo hace útil para diferentes propósitos, como investigación, inteligencia empresarial, etc.
- Análisis de imágenes mediante modelos de lenguaje visual: Con la integración de modelos como NeVA 22B, el sistema puede analizar y describir contenido visual, como imágenes y diagramas.
- Indexación y recuperación eficientes: Aprovechando Milvus en combinación con GPUs de NVIDIA, el sistema ofrece indexación vectorial y búsqueda por similitud ultrarrápidas. Esta capacidad le permite procesar eficientemente enormes cantidades de datos, lo que lo hace ideal para aplicaciones que requieren recuperación en tiempo real de información multimodal.
Al combinar estas potentes características, este sistema RAG multimodal ofrece soluciones integrales para extraer información valiosa de diversos tipos de datos. Ya sea que trabajes con texto, imágenes o una combinación de ambos, el sistema te permite aprovechar varios formatos para mejorar la comprensión y la toma de decisiones.
Conclusión: Avanzando en la comprensión de contenido impulsada por IA
En esta publicación del blog, hemos cubierto cómo construir una aplicación RAG multimodal utilizando GPUs de NVIDIA y Milvus. Milvus, con sus capacidades de búsqueda vectorial acelerada por GPU, desempeña un papel crucial aquí, garantizando alto rendimiento y escalabilidad. Te animamos a experimentar consultando el Notebook on Github para explorar más.
¡Nos encantaría saber qué opinas!
Si te gusta esta publicación del blog, ¡te agradeceríamos mucho que pudieras darnos una estrella en GitHub! También eres bienvenido a unirte a nuestra comunidad de Milvus en Discord para compartir tus experiencias. Si te interesa aprender más, consulta nuestro Bootcamp repository en GitHub para ver ejemplos de cómo construir aplicaciones RAG multimodales con Milvus.
Recursos adicionales
- Los 10 mejores modelos de IA multimodal de 2024
- Evalúa tu RAG multimodal usando Trulens
- Explorando embeddings multimodales con FiftyOne y Milvus
- Explorando OpenAI CLIP: El futuro del aprendizaje de IA multimodal
- Centro de recursos de IA generativa | Zilliz
- Modelos de IA de alto rendimiento para tus apps de GenAI | Zilliz
- Comparación de bases de datos vectoriales
Sigue leyendo

Introducing Loon: A New Storage Engine for Vector Data That Never Stops Changing
Loon is a new storage engine for Milvus 3.0 and Zilliz Vector Lakebase, built to manage evolving vector datasets with ColumnGroups, row ID alignment, and Manifests.

We spent 8 years making vector databases faster. Then we stopped.
Rarely queried embeddings still need to stay searchable. See how Vector Lakebase enables on-demand vector search without always-on compute costs.

Introducing Zilliz CLI and Agent Skills for Zilliz Cloud
Manage your vector database from your terminal or AI coding agent. Zilliz CLI and Agent Skills work with Claude Code, Cursor, Codex, and Copilot.



