Créer des pipelines RAG pour des données en temps réel avec Cloudera et Milvus
À l’ère actuelle du big data, les entreprises génèrent d’énormes quantités de données qui nécessitent un traitement efficace pour en exploiter tout le potentiel. Par conséquent, le traitement des données à grande échelle, l’adaptabilité à divers environnements cloud et la capacité à prendre des décisions en temps réel tout en maintenant la gouvernance et la sécurité des données figurent parmi les fonctionnalités essentielles requises dans une plateforme de gestion des données.
Lors d’un récent Unstructured Data Meetup organisé par Zilliz, Chris Burns, ingénieur principal Gen AI chez Cloudera, a expliqué comment Cloudera — une plateforme cloud de données d’entreprise pour gérer le cycle de vie des données de bout en bout — peut être utilisée pour créer des pipelines de génération augmentée par récupération (RAG) efficaces. Il a abordé l’importance de la RAG pour les applications de grands modèles de langage (LLM), les défis qui peuvent se présenter et les étapes pour créer un pipeline RAG avec Milvus afin de générer de meilleures données.
Dans ce blog, nous récapitulerons ses points clés et explorerons comment Cloudera peut être intégré à Milvus pour mettre en œuvre efficacement certaines des fonctionnalités clés des pipelines RAG. Pour plus de détails, regardez la rediffusion complète de son intervention sur YouTube.
Un bref aperçu de Cloudera
Cloudera est une plateforme de données d’entreprise complète qui prend en charge l’ensemble du cycle de vie des données — de l’ingestion et du stockage à l’analytique. Elle offre un déploiement rapide et la capacité de créer de l’IA à grande échelle avec des coûts et des risques réduits sur n’importe quel centre de données ou plateforme cloud. Grâce à des capacités telles que le streaming en temps réel, l’ingénierie des données, le stockage multi-température et l’adaptabilité aux données multimodales, Cloudera est une excellente plateforme pour créer des applications Gen AI flexibles destinées aux entreprises.
Créer des pipelines RAG avec des données en temps réel
La génération augmentée par récupération (RAG) est une technique permettant d’améliorer les performances des LLM en accédant à des informations provenant de sources externes telles que des bases de données. Ces informations supplémentaires (lac) permettent aux LLM de produire des réponses plus pertinentes sur le plan contextuel et plus précises, ancrées dans des connaissances propres à un domaine, qui n’étaient autrement pas disponibles dans les données d’entraînement du LLM. C’est une technique efficace pour permettre à un LLM de répondre à des cas d’utilisation spécifiques sans devoir être réentraîné à chaque fois. Le défi consiste à créer un pipeline capable de gérer les complexités de l’ingestion, du traitement et de la récupération des données en temps réel, tout en maintenant une faible latence et des coûts réduits, ainsi qu’une grande précision. C’est là que l’infrastructure robuste de Cloudera et des outils comme Milvus entrent en jeu, en prenant en charge l’IA privée et la récupération en temps réel.
Avant d’examiner les workflows prêts à l’emploi pour les pipelines RAG, commençons par comprendre certains des concepts théoriques impliqués.
Comment procéder pour créer des pipelines RAG ?
Créer un pipeline RAG implique plusieurs étapes, de la compréhension de la théorie de base à la mise en œuvre de configurations avancées. Décomposons cela :
RAG - 101 - Défis courants et configuration de base
Chris commence par parler du défi courant de l’hallucination dont souffrent la plupart des LLM. Cependant, ici, il reformule cela en parlant de confabulation et de fabrication. La confabulation désigne le fait que les LLM comblent les informations manquantes avec des informations plausibles mais incorrectes, tandis que la fabrication désigne la création d’un texte imaginaire. Pour gérer ces problèmes, Chris mentionne qu’il est très important de comprendre contextuellement la requête, en plus d’effectuer un raisonnement automatique multi-sauts et de maintenir la traçabilité pour suivre le flux des données ou des objets.
Après avoir parlé des défis, comprenons la configuration de base d’un système RAG. À la base, un pipeline RAG se compose de deux composants principaux :
Retriever : Ce composant recherche dans un grand ensemble de données (par exemple, une base de données vectorielle) afin de trouver des informations pertinentes en fonction d’une requête.
Generator : Ce composant utilise les informations récupérées pour générer une réponse cohérente et contextuellement exacte.
Le retriever et le generator fonctionnent de concert pour garantir que le système fournisse des réponses exactes et pertinentes, même lorsqu’il traite des requêtes complexes. Cependant, comme le souligne Chris, un projet ML réussi nécessite non seulement de bonnes données, mais aussi une expertise métier. Les données doivent être pertinentes et cohérentes, et la connaissance du domaine est essentielle pour garantir la pertinence.
RAG - 201 - Analyse statistique et inférence hybride
Analyse statistique - Pour améliorer les performances des pipelines RAG, effectuer une analyse statistique peut aider à mieux comprendre la qualité des réponses des LLM.
L’utilisation d’une matrice de confusion dans le contexte de la Gen AI pourrait aider à comprendre quantitativement les taux de réussite de la récupération.
Anthropomorphiser les réponses des LLM en refusant de répondre lorsque les réponses ne sont pas connues, plutôt que d’inventer de fausses affirmations, pourrait ajouter une touche plus humaine aux réponses.
- Inférence hybride - L’inférence hybride est une excellente technique permettant aux entreprises d’équilibrer performance et sécurité dans le cadre de contraintes budgétaires. Elle utilise une combinaison de règles prédéfinies et de modèles de machine learning pour gérer les cas limites et améliorer la qualité des réponses. L’objectif ici est de pouvoir reproduire les résultats sur différentes plateformes ; l’accent doit donc être mis sur des architectures agiles, évolutives et adaptées au temps réel.
RAG - 301 - Considérations relatives aux types de données
Pour stocker efficacement les données dans la base de données vectorielle, il est essentiel de concevoir des stratégies appropriées de partitionnement et de découpage en segments. Le partitionnement désigne la division des données en unités plus petites et plus faciles à gérer, tandis que le découpage en segments consiste à regrouper ces partitions en fonction du contenu des éléments. Pour déterminer les deux, il est crucial de connaître le type de données.
Types de stratégies de découpage en segments
Types de stratégies de découpage en segments
Les données sous forme de romans, de documentation technique ou d’e-mails sont classées comme données denses, c’est-à-dire comportant très peu de valeurs nulles, ce qui signifie que chaque élément est important. En revanche, les données telles que les données de capteurs, les données catégorielles ou les données de graphe sont appelées données clairsemées, car elles comportent de nombreuses valeurs nulles.
Un exemple de données denses et clairsemées
Un exemple de données denses et clairsemées
Le type de données utilisé dans un pipeline RAG peut avoir un impact significatif sur ses performances et sa précision. Différents types de données, comme le texte, les images et l’audio, nécessitent différentes techniques de traitement et de récupération. Comprendre le type de données utilisé et la manière de le traiter efficacement est crucial pour construire un pipeline RAG réussi.
RAG - 401 - Configurations de la base de données vectorielle Milvus
Milvus est une base de données vectorielle open source conçue pour le stockage, l’indexation et la recherche efficaces d’embeddings vectoriels de haute dimension. Elle est optimisée pour la recherche de similarité, ce qui la rend idéale pour les systèmes de recommandation, les applications de recherche d’images et les pipelines RAG. Milvus peut prendre en charge de grands ensembles de données et est hautement évolutive, ce qui la rend adaptée aux applications d’entreprise. Les capacités suivantes de Milvus sont particulièrement utiles pour les pipelines RAG -
- Recherche hybride - Milvus prend en charge la recherche hybride (recherche multi-vecteurs), qui consiste à effectuer des requêtes simultanées sur plusieurs champs vectoriels au sein du même ensemble de données et à intégrer les résultats avec des stratégies de reclassement. Cela offre la flexibilité permettant aux vecteurs individuels d’utiliser différents modèles d’embedding, techniques de traitement des données ou toute autre opération personnalisée.
Recherche hybride avec Milvus
Recherche hybride avec Milvus
- Requêtes multi-trip - Milvus prend en charge des techniques de récupération avancées pour les requêtes complexes, capables d’équilibrer le compromis entre les différentes méthodes de recherche utilisées dans la recherche hybride. Grâce aux requêtes multi-trip, une requête peut être traitée de manière itérative sur plusieurs étapes afin d’améliorer les résultats de recherche. Après l’exécution initiale de la requête, d’autres requêtes peuvent être exécutées en fonction du reranking (tri des résultats selon un ordre de priorité), de l’expansion de requête (développement d’un attribut particulier) ou du filtrage.
Requêtes multi-trip avec Milvus
Requêtes multi-trip avec Milvus
Enfin, Milvus prend en charge l’utilisation de gatekeepers, qui sont des filtres pouvant être appliqués au processus de récupération afin de garantir que seules les informations pertinentes sont récupérées avant d’être transmises au générateur. Cela peut être particulièrement utile dans les pipelines RAG en temps réel, où le volume de données peut être très important, et où il est essentiel de filtrer rapidement les informations non pertinentes.
Intégration de Milvus et Cloudera pour les pipelines RAG
Cloudera propose des workflows prêts à l’emploi pour RAG, alimentés par Apache NiFi 2.0 (un système de flux de données basé sur la programmation orientée flux). Les workflows prennent en charge divers magasins de données, modèles et bases de données vectorielles, notamment Milvus. Jetons brièvement un coup d’œil à certains d’entre eux.
- S3 vers Milvus - La première étape de RAG consiste à collecter les données depuis la source, les prétraiter, les convertir en embeddings et les stocker dans une base de données vectorielle.
Workflow Data to VectorDB
Workflow Data to VectorDB
Par exemple, ce workflow Cloudera prend des documents PDF depuis S3, les vectorise à l’aide d’un modèle huggingface et écrit les résultats dans Milvus. Toutes les étapes de traitement des données, telles que le partitionnement et le chunking, peuvent être effectuées simplement en faisant glisser, déposer et exécuter les connecteurs pertinents.
Workflow S3 vers Milvus par Cloudera
Workflow S3 vers Milvus par Cloudera
- Requête RAG Milvus - La deuxième étape de RAG consiste à prendre la requête en entrée, la convertir en embeddings, puis effectuer une recherche de similarité avec les embeddings déjà stockés dans la base de données vectorielle. Les données dont les embeddings sont les plus proches de l’embedding de la requête seront récupérées. Ces informations serviront de contexte supplémentaire au LLM pour générer la réponse. Cloudera propose un workflow prêt à l’emploi pour interroger Milvus pour RAG.
Workflow RAG Query Milvus par Cloudera
Workflow RAG Query Milvus par Cloudera
Conclusion
Dans ce blog, nous avons expliqué comment vous pouvez créer des pipelines RAG en temps réel avec Cloudera à partir de l’intervention donnée par Chris Burns lors du Unstructured Data Meetup. À mesure que les entreprises évoluent en devenant de plus en plus grandes jour après jour, nous avons besoin de solutions avancées pour tirer efficacement de la valeur de l’immense quantité d’informations. Grâce à des plateformes de gestion du cycle de vie des données comme Cloudera, des applications d’IA générative peuvent être facilement développées pour les entreprises avec un effort minimal. De plus, l’intégration de Milvus avec Cloudera fournit ensemble un cadre robuste pour créer des pipelines RAG.
Chris a commencé par parler des défis courants auxquels sont confrontés les LLM, tels que la confabulation et la fabrication, ainsi que des moyens de les gérer. En outre, il a souligné l’importance de réaliser des analyses statistiques et une inférence hybride afin d’améliorer les performances des pipelines RAG. Milvus est une excellente base de données vectorielle pour le cas d’usage du RAG, car elle prend en charge l’inférence hybride, les requêtes à passages multiples et les contrôleurs d’accès, afin de garantir des réponses précises et contextualisées tout en maintenant la sécurité.
Continuer à lire

Vector Lakebase: End the AI Data Silo
Learn how Vector Lakebase unifies vector search, data lakes, and AI data operations so teams can serve RAG and agents without copy-and-sync pipelines.

The Real Bottlenecks in Autonomous Driving — And How AI Infrastructure Can Solve Them
Autonomous driving faces a data bottleneck. Learn how AI-native vector databases like Zilliz solve scale, cost, and insight challenges across AV pipelines.

What Exactly Are AI Agents? Why OpenAI and LangChain Are Fighting Over Their Definition?
AI agents are software programs powered by AI that can perceive their environment, make decisions, and take actions to achieve a goal—often autonomously.


