RAG multimodal : aller au-delà du texte pour une IA plus intelligente
Au cours de l’année et demie écoulée, la génération augmentée par récupération (RAG) est devenue une technique puissante pour améliorer les réponses des grands modèles de langage (LLM) avec des informations contextuelles pertinentes, réduisant considérablement le risque d’hallucinations, lorsque les LLM génèrent des réponses qui semblent plausibles mais sont factuellement incorrectes.
Cependant, les données du monde réel vont souvent bien au-delà du texte : nous rencontrons également des images, des vidéos, des tableaux et divers formats de documents. C’est là que le RAG multimodal devient essentiel, en permettant l’intégration de différents types de données afin de fournir des connaissances encore plus fiables aux modèles d’IA.
Dans cet article, nous aborderons :
- L’évolution du RAG, du RAG traditionnel basé sur le texte au RAG multimodal
- Comment la base de données vectorielle Milvus permet le stockage et la recherche de divers types de données
- Le rôle des GPU NVIDIA dans l’accélération de ces opérations complexes
- Les applications et avantages potentiels de cette technologie
Que vous soyez un passionné d’IA ou un développeur cherchant à ajouter le RAG à vos projets, cet article vous fournira des éclairages précieux sur une technologie appelée à redéfinir les capacités des systèmes RAG.
L’évolution du RAG : du centré sur le texte au multimodal
RAG traditionnel
Le RAG basé sur le texte améliore les réponses des LLM en récupérant un contexte textuel pertinent à partir d’une base de connaissances. Voici un aperçu d’un flux de travail RAG typique :
- L’utilisateur soumet une requête textuelle au système.
- La requête est transformée en embedding vectoriel, qui est ensuite utilisé pour rechercher dans une base de données vectorielle , telle que Milvus, où les passages de texte sont stockés sous forme d’embeddings. La base de données vectorielle récupère les passages qui correspondent étroitement à la requête en fonction de la similarité vectorielle.
- Les passages de texte pertinents sont transmis au LLM comme contexte supplémentaire, enrichissant sa compréhension de la requête.
- Le LLM traite la requête avec le contexte fourni, générant une réponse plus informée et plus précise.
Figure 1- Fonctionnement de RAG.png
Figure : Fonctionnement de RAG
Le RAG traditionnel s’est révélé très efficace pour améliorer la sortie des LLM, mais il reste limité aux données textuelles. Dans de nombreuses applications du monde réel, les connaissances vont bien au-delà du texte, intégrant des images, des graphiques et d’autres modalités qui fournissent un contexte essentiel.
RAG multimodal : s’étendre au-delà du texte
Le RAG multimodal répond à la limitation ci-dessus en permettant l’utilisation de différents types de données, fournissant un meilleur contexte aux LLM.
Un acteur clé de cette évolution est LLaVA (Large Language and Vision Assistant), un modèle multimodal conçu pour intégrer à la fois le langage (texte) et la vision (images) afin d’améliorer les capacités des grands modèles de langage (LLM). LLaVA extrait des informations significatives du contenu visuel et les convertit en descriptions textuelles, qui peuvent être traitées par des modèles d’embedding et stockées dans des bases de données vectorielles comme Milvus.
Voici un exemple de la manière dont LlaVA fonctionne avec des modèles d’embedding et des bases de données vectorielles.
Figure : Un exemple de ce que LlaVa peut produire lorsqu’on l’interroge sur une image
Figure : Un exemple de ce que LlaVa peut produire lorsqu’on l’interroge sur une image
Composants clés d’un pipeline RAG multimodal
Pour traiter divers types de données, un pipeline RAG multimodal convertit toutes les modalités en un format unifié, généralement du texte. Cette conversion est habituellement réalisée à l’aide de Vision Language Models (VLMs) spécialisés, qui traitent les images générales et les données graphiques comme les graphiques. Les VLMs extraient des informations significatives de ces sources non textuelles et les transforment en embeddings textuels pouvant être utilisés par les grands modèles de langage (LLMs) pour la génération de contexte.
En plus des VLMs, plusieurs autres composants essentiels garantissent également que les systèmes RAG multimodaux fonctionnent efficacement et à grande échelle. Vous trouverez ci-dessous les composants clés d’un tel pipeline, ainsi que quelques exemples majeurs illustrant la manière dont ces composants sont mis en œuvre.
Vision Language Models (VLMs) : Ces modèles traitent et convertissent le contenu visuel — tel que les images, les diagrammes et les graphiques — en formats textuels ou intégrés que les LLMs peuvent utiliser.
- Exemple : Neva 22B (NVIDIA) : Une variante affinée de LLaVA, optimisée pour la compréhension générale des images, capable d’interpréter et de générer des descriptions textuelles à partir d’entrées visuelles.
- Exemple : DePlot (Google) : Spécialisé dans le traitement et l’analyse de données graphiques comme les diagrammes et les tracés, ce qui le rend idéal pour les contenus visuels plus techniques.
Bases de données vectorielles : Les bases de données vectorielles sont un composant crucial d’un système RAG multimodal qui stocke et récupère des embeddings vectoriels pour divers types de données, notamment le texte, les images et d’autres modalités. Elles effectuent des recherches de similarité, garantissant que les informations les plus pertinentes sont rapidement accessibles au LLM.
Exemple : Milvus est un excellent exemple de base de données vectorielle prenant en charge la recherche vectorielle accélérée par GPU NVIDIA, offrant des performances exceptionnelles pour les données multimodales à grande échelle.
- Accélération GPU : Milvus utilise les GPU NVIDIA pour accélérer l’indexation et l’interrogation vectorielles.
- Évolutivité : Il gère des recherches de similarité à l’échelle du milliard, ce qui le rend adapté aux applications à fort volume.
- Efficacité : La combinaison de l’indexation et de l’interrogation GPU garantit un débit maximal et des réponses en temps réel avec une latence minimale.
Modèles d’embedding de texte : Ces modèles convertissent les entrées textuelles en embeddings vectoriels, essentiels pour les recherches de similarité dans un système RAG.
- Exemple : NV Embed : Un modèle d’embedding accéléré par GPU qui transforme efficacement le texte en embeddings pour une récupération rapide dans les bases de données vectorielles, offrant des avantages significatifs en matière de vitesse par rapport aux solutions basées sur CPU.
Grands modèles de langage (LLMs) : Les LLMs constituent le cœur du système RAG, générant des réponses sur la base de la requête et des données contextuelles récupérées. Ces modèles sont souvent affinés pour des tâches spécifiques afin d’améliorer la précision des réponses.
- Exemple : Llama 3.1 (variante 70B Instruct) : Développée par Meta, cette version est affinée pour les tâches de suivi d’instructions, améliorant sa capacité à générer des réponses précises et orientées tâche.
Frameworks d’orchestration : Ces frameworks gèrent le flux de données sur l’ensemble du pipeline — depuis le traitement de la requête initiale et la récupération du contenu multimodal pertinent jusqu’à la génération de la réponse finale.
- Exemple : LlamaIndex : Un framework qui orchestre le traitement des requêtes, la récupération du contexte et la génération des réponses, assurant une coordination fluide entre tous les composants du système RAG multimodal
Figure : Une architecture RAG multimodale (Crédit NVIDIA)
Figure : Une architecture RAG multimodale (Crédit NVIDIA)
Le diagramme ci-dessus illustre l’architecture d’un exemple de pipeline RAG multimodal présenté par NVIDIA, construit sur plusieurs composants clés : Llama 3 sert de grand modèle de langage (LLM) fondamental, tandis que LlamaIndex orchestre l’ensemble du workflow. NV Embed gère l’intégration de texte, tandis que Milvus agit comme base de données vectorielle pour une récupération rapide. NeVA 22B traite les images, et DePlot gère les graphiques et les tracés, permettant au système de prendre en charge une grande variété de formats de données.
Pour plus d’informations sur la façon de créer un RAG multimodal, consultez les ressources ci-dessous :
- Vidéo : Building Multimodal AI RAG with LlamaIndex, NVIDIA NIM, and Milvus | LLM App Development
- Tutoriel : Build a Multimodal RAG with Gemini, BGE-M3, Milvus and LangChain
- Tutoriel : Build Better Multimodal RAG Pipelines with FiftyOne, LlamaIndex, and Milvus
- Tutoriel : Multimodal RAG locally with CLIP and Llama3
Principales fonctionnalités des systèmes RAG multimodaux
Ce système RAG multimodal utilise de nombreuses fonctionnalités avancées qui permettent de traiter et de comprendre divers types de données :
- Traitement multiformat : Ce système RAG multimodal gère un large éventail de types de documents, notamment les fichiers texte, les PDF, les présentations PowerPoint et les images. Ce qui le rend utile à différentes fins, comme la recherche, la business intelligence, etc.
- Analyse d’images via des modèles de langage visuel : Avec l’intégration de modèles comme NeVA 22B, le système peut analyser et décrire du contenu visuel, tel que des images et des diagrammes.
- Indexation et récupération efficaces : En tirant parti de Milvus en combinaison avec les GPU NVIDIA, le système offre une indexation vectorielle et une recherche de similarité ultra-rapides. Cette capacité lui permet de traiter efficacement d’immenses quantités de données, ce qui le rend idéal pour les applications nécessitant une récupération en temps réel d’informations multimodales.
En combinant ces fonctionnalités puissantes, ce système RAG multimodal fournit des solutions complètes pour extraire des insights à partir de divers types de données. Que vous travailliez avec du texte, des images ou une combinaison des deux, le système vous permet d’exploiter différents formats pour améliorer la compréhension et la prise de décision.
Conclusion : Faire progresser la compréhension de contenu alimentée par l’IA
Dans cet article de blog, nous avons expliqué comment créer une application RAG multimodale à l’aide des GPU NVIDIA et de Milvus. Milvus, avec ses capacités de recherche vectorielle accélérée par GPU, joue ici un rôle crucial, garantissant des performances élevées et une grande évolutivité. Nous vous encourageons à expérimenter en consultant le Notebook sur Github pour explorer davantage.
Nous aimerions connaître votre avis !
Si vous aimez cet article de blog, nous vous serions vraiment reconnaissants de nous attribuer une étoile sur GitHub ! Vous êtes également invité à rejoindre notre communauté Milvus sur Discord pour partager vos expériences. Si vous souhaitez en savoir plus, consultez notre référentiel Bootcamp sur GitHub pour des exemples de création d’applications RAG multimodales avec Milvus.
Ressources supplémentaires
- Top 10 des modèles d’IA multimodaux de 2024
- Évaluez votre RAG multimodal avec Trulens
- Exploration des embeddings multimodaux avec FiftyOne et Milvus
- Exploration d’OpenAI CLIP : l’avenir de l’apprentissage IA multimodal
- Centre de ressources sur l’IA générative | Zilliz
- Les modèles d’IA les plus performants pour vos applications GenAI | Zilliz
- Comparaison des bases de données vectorielles
Continuer à lire

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.

Introducing Functions and Model Inference on Zilliz Cloud: Automatic Embedding and Reranking with Hosted Models
Zilliz Cloud Functions auto-generate embeddings via OpenAI, Voyage AI, Cohere, or Zilliz Hosted Models. Built-in reranking — just insert text and search.

Zilliz Cloud Update: Tiered Storage, Business Critical Plan, Cross-Region Backup, and Pricing Changes
This release offers a rebuilt tiered storage with lower costs, a new Business Critical plan for enhanced security, and pricing updates, among other features.



