Milvus : la clé du développement RAG - améliorer l’efficacité, réduire les coûts et renforcer les performances
Introduction
Dans mon blog précédent, nous avons examiné comment la génération augmentée par récupération (RAG) répond aux défis auxquels sont confrontés les grands modèles de langage (LLMs), tels que les hallucinations et le besoin d’informations propres à un domaine. Nous avons également souligné son rôle dans la garantie de la confidentialité des données et l’activation de la récupération d’informations en temps réel.
Au cœur d’un framework RAG de base se trouvent deux éléments cruciaux : le Retriever et le Generator. Le Retriever, alimenté par une base de données vectorielle, fournit des informations contextuelles pour les requêtes des utilisateurs, tandis que le Generator, souvent piloté par des LLMs comme ChatGPT, élabore les réponses finales sur la base de ce contexte. Comprendre ces aspects techniques vous permettra de mieux appréhender les subtilités de RAG.
À mesure que les développeurs repoussent les limites des applications RAG et les font passer dans des environnements de production, ils ont besoin de réponses plus rapides, de meilleure qualité et plus précises. Cela souligne l’importance cruciale de bases de données vectorielles robustes pour améliorer l’efficacité et la qualité de la récupération.
La dernière version de Milvus représente une avancée notable dans la technologie des bases de données vectorielles, en particulier pour l’amélioration des performances de RAG. Cet article se penchera sur les dernières fonctionnalités de Milvus, mettra en évidence ses fonctionnalités et illustrera pourquoi il constitue le premier choix pour développer des applications RAG réussies.
Rationaliser le développement et la validation de RAG grâce à l’intégration avec des modèles populaires d’embedding et de reranking
Bien qu’une configuration RAG de base suffise pour le prototypage ou les petits projets, elle est insuffisante pour les applications prêtes pour la production. À mesure que les développeurs passent à des applications RAG plus complexes, ils intègrent des composants techniques supplémentaires dans le pipeline, ce qui accroît la complexité du développement. De plus, l’évolution rapide et les variations de paramètres des technologies liées à RAG ajoutent des obstacles supplémentaires à la création, au réglage fin et à la validation des applications. Pour relever ces défis, de nombreux développeurs RAG se tournent vers des frameworks ou des bibliothèques comme LangChain, LlamaIndex et DSPy, qui offrent des fonctionnalités étendues pour un développement et une validation rationalisés.
Milvus est une base de données vectorielle spécialisée pour un stockage et une récupération efficaces des données. Dans sa dernière version, Milvus intègre de manière transparente des modèles d’embedding et de reranking courants, permettant aux utilisateurs de transformer facilement du texte en vecteurs interrogeables et de reranker les résultats récupérés afin d’obtenir des réponses plus précises, sans ajouter de composants supplémentaires d’embedding et de reranking au pipeline RAG. En conséquence, cette intégration rationalise l’ensemble du processus de développement et de validation de RAG.
Milvus prend actuellement en charge une gamme de modèles d’embedding populaires, notamment OpenAI Embedding API, sentence transformers, BGE-M3, BM25, SPLADE et Voyage AI.
| Modèles d'embedding intégrés | Type de vecteur | API ou open source |
| OpenAI Embedding API | Dense | API |
| sentence transformers | Dense | Open source |
| BM25 | Creux | Open source |
| SPLADE | Creux | Open source |
| BGE-M3 | Hybride | Open source |
| Voyage AI | Dense | API |
Milvus prend actuellement en charge les modèles de reclassement suivants : BGE, Cross-encoder, Voyage AI et Cohere.
| Modèles de reclassement intégrés | API ou open source |
| BGE rerankers | Open source |
| Cross encoders | Open source |
| Voyage AI rerankers | API |
| Cohere rerankers | API |
Nous prendrons en charge davantage de modèles dans les prochains mois. Restez à l’écoute. La documentation Milvus fournit des conseils détaillés sur l’exploitation de ces modèles d'embedding pré-entraînés.
Améliorer la qualité de la récupération et la récupération de données multimodales avec la recherche hybride
Les applications RAG réelles sont utilisées dans divers cas d’utilisation traitant du texte et des données multimodales comme les images, les vidéos et l’audio. La gestion d’informations riches nécessite une base de données vectorielle capable de stocker et de récupérer efficacement des embeddings sur différents types de données afin de répondre aux requêtes multimodales.
Milvus relève le défi en offrant une prise en charge multi-vecteur et un framework de recherche hybride. Les utilisateurs peuvent consolider plusieurs champs vectoriels, jusqu’à 10, au sein d’une seule collection. Les vecteurs de ces champs peuvent représenter différents aspects ou modalités de données liés à la même entité, enrichissant considérablement le réservoir d’informations.
Fig1 : Comment Milvus effectue une recherche hybride
Cette capacité de recherche hybride et ces stratégies de reclassement mixtes offrent une flexibilité accrue pour récupérer des informations multimodales et multidimensionnelles. Elle s’avère précieuse dans des cas d’utilisation tels que l’identification de l’individu le plus similaire dans une bibliothèque vectorielle sur la base d’attributs tels que des images, la voix et les empreintes digitales.
De plus, Milvus étend sa recherche hybride pour prendre en charge les vecteurs creux, largement utilisés pour les connaissances hors domaine et la récupération par mots-clés. Cette extension permet une récupération mixte de mots-clés et d’embeddings vectoriels, ce qui conduit à des résultats de récupération plus précis et améliore finalement l’exactitude de la génération de la réponse finale dans votre application RAG.
Améliorer la vitesse et la précision de la récupération avec la recherche filtrée par scalaires améliorée
Dans les applications pratiques, toutes les données ne conviennent pas à la recherche vectorielle. Prenons, par exemple, un chatbot axé sur l’inventaire de vêtements. Outre les vecteurs, les données contiennent de nombreux attributs comme la couleur et la taille. Filtrer ces données scalaires avant ou après la recherche vectorielle s’avère plus efficace et plus rapide que de les convertir en vecteurs.
Milvus prend en charge la recherche filtrée par scalaires, renforçant la précision et la vitesse de récupération. Les récentes améliorations apportées à cette fonctionnalité comprennent :
Fonction de recherche par regroupement : Cette fonction utilise l’agrégation de colonnes scalaires pour fournir des données agrégées affinées et de haut niveau. Elle rationalise les recherches, en particulier dans des cas d’utilisation tels que la recherche d’un nombre spécifique de documents liés à une requête.
Correspondance approximative pour les colonnes scalaires: Les requêtes approximatives pour les colonnes scalaires englobent désormais la correspondance par infixe et par suffixe, élevant la qualité de recherche au-delà de la correspondance par préfixe précédemment prise en charge.
Index inversé pour des vitesses de recherche accélérées: L’introduction de l’index inversé peut augmenter les performances de plus de dix fois dans les cas d’utilisation de recherche inversée.
Fig2 : L’index inversé améliore les vitesses de recherche de 10x
Ces améliorations permettent aux systèmes RAG d’adapter leurs approches aux exigences métier spécifiques. Par exemple, les utilisateurs peuvent rechercher efficacement des documents juridiques en fonction des dates d’affaires ou filtrer des reportages d’actualité pertinents par emplacement géographique. Cette approche de recherche multidimensionnelle améliore la précision et l’efficacité de votre application RAG dans le traitement des requêtes ciblées.
Proposer des solutions RAG rentables
Construire et maintenir une vaste base de connaissances pour votre application RAG peut être coûteux financièrement, principalement parce que les jeux de données continuent de s’étendre. Par conséquent, des solutions rentables facilitant la gestion d’énormes quantités de données sont nécessaires.
Milvus offre une solution rentable en tant que base de données vectorielle open source sous licence Apache-2.0, sans coûts de licence. Sa suite de fonctionnalités hautes performances est immédiatement disponible sans coûts supplémentaires.
De plus, Milvus intègre Mmap afin de minimiser la consommation de mémoire, optimisant ainsi l’allocation des ressources. Milvus va encore plus loin en introduisant des capacités de stockage de données hiérarchisé froides et chaudes, conçues pour prendre en charge des données présentant des fréquences d’accès et des exigences de latence variables. Milvus réduit les coûts de stockage en plaçant stratégiquement les données sur différents supports de stockage tels que RAM, NVMe, EBS et S3, et en tirant parti des capacités de stockage cloud. Les techniques de mise en cache intelligente et de partitionnement des données contribuent encore davantage à l’efficacité des ressources pendant les requêtes, permettant aux applications RAG alimentées par Milvus de fonctionner à moindre coût sans compromettre les performances.
Fig3 : Comment fonctionne l’approche de stockage hiérarchisé des données froides et chaudes
Cette approche minimise l’investissement initial et garantit une efficacité opérationnelle continue, faisant de Milvus un choix idéal pour les implémentations RAG soucieuses des coûts.
Résumé
De son intégration avec les modèles d’embedding populaires à ses capacités de récupération de données multimodales et de recherche améliorée avec filtrage scalaire, la base de données vectorielle Milvus aide les développeurs à créer des applications RAG plus rapides, plus précises et plus polyvalentes que jamais.
De plus, Milvus offre une solution rentable pour construire et maintenir de vastes bases de connaissances grâce à son âme open source, ses fonctionnalités hautes performances et ses stratégies de stockage optimisées. En minimisant la consommation de mémoire, en mettant en œuvre un stockage de données hiérarchisé et en tirant parti de techniques de mise en cache intelligente et de partitionnement des données, Milvus permet aux applications RAG de fonctionner efficacement à moindre coût sans sacrifier les performances.
En conclusion, Milvus transforme le développement RAG en fournissant aux développeurs les outils nécessaires pour créer des applications plus rapides, plus précises et rentables. Avec Milvus, les possibilités d’innovation RAG sont infinies, et l’avenir de la récupération d’informations est plus prometteur que jamais.
Continuer à lire

Zilliz Cloud Just Landed in Claude Code
The Zilliz Cloud Plugin brings the full power of Zilliz Cloud directly into your Claude Code terminal as natural-language conversations.

Announcing VDBBench 1.0: Open-Source VectorDB Benchmarking with Your Real-World Production Workloads
Discover VDBBench 1.0, an open-source tool for benchmarking vector databases with real-world production data, streaming ingestion, and concurrent workloads.

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.



