Comment VIPSHOP a rendu son système de recommandation e-commerce 10 fois plus rapide avec Milvus
Les systèmes de recommandation sont devenus indispensables au succès du e-commerce, agissant comme un catalyseur stratégique pour améliorer l’expérience utilisateur, stimuler l’engagement client et accroître le chiffre d’affaires. VIPSHOP, le pionnier de la vente au détail en ligne en Chine, se trouvait à un tournant critique. Avec une base de clients en croissance rapide dépassant 52 millions et une augmentation annuelle de 270 millions de commandes, son ancien système de recommandation basé sur Elasticsearch s’est révélé lent et insuffisant. Le besoin d’une solution plus rapide et personnalisée chez VIPSHOP est devenu de plus en plus urgent. Dans cet article, nous examinerons les défis auxquels VIPSHOP a été confronté et comment l’adoption de Milvus a amélioré son système de recommandation.
La quête d’un moteur de recherche vectorielle efficace
Le socle d’un système de recommandation agile réside dans sa capacité de recherche vectorielle, essentielle pour fournir rapidement des résultats sémantiquement similaires. VIPSHOP s’appuyait initialement sur Elasticsearch pour la recherche vectorielle, mais a rapidement rencontré des difficultés à mesure que sa gamme de produits s’élargissait. L’ancien système s’est heurté à deux obstacles majeurs : des temps de réponse prolongés et des coûts de maintenance en forte hausse.
Le ralentissement était attribué à la latence élevée d’Elasticsearch dans la récupération des résultats Top-K, avec une moyenne de 300 ms. Le temps de réponse final durait plusieurs secondes, ce qui nuisait à l’expérience utilisateur lorsqu’il était associé aux étapes de traitement ultérieures. De plus, les index partagés se sont transformés en un labyrinthe complexe, faisant grimper les coûts de construction et de maintenance. Malgré les tentatives de revitaliser Elasticsearch avec un plugin de hachage, les résultats n’ont pas été à la hauteur. La quête d’une nouvelle pile de recherche vectorielle est devenue le rappel de l’équipe pour un système de recommandation réactif.
VIPSHOP a choisi Milvus pour mettre à niveau son système de recommandation
Milvus est une base de données vectorielle open-source qui promet de la rapidité et une symphonie de fonctionnalités capables de gérer des milliards d’embeddings vectoriels. Elle offrait également l’attrait du déploiement distribué, des SDK multilingues et de la séparation lecture/écriture — une composition qui surpassait Elasticsearch et les autres technologies de recherche vectorielle. Après une réflexion et une évaluation minutieuses, VIPSHOP a choisi Milvus pour reconstruire son système de recommandation.
Comment Milvus fonctionne dans le système de recommandation de VIPSHOP
Le schéma donne un aperçu de l’architecture du système de recommandation de VIPSHOP alimenté par Milvus.
Un modèle de deep learning convertit les caractéristiques des produits en embeddings vectoriels. Ces embeddings sont ensuite ingérés dans Milvus pour le stockage et la récupération à l’aide de MySQL et d’un outil ETL.
Simultanément, les requêtes et les préférences d’achat des consommateurs subissent une transformation similaire en embeddings vectoriels, lançant une recherche de similarité dans Milvus. Ici, Milvus effectue une recherche Approximate Nearest Neighbors (ANN) en évaluant les distances spatiales entre les vecteurs des consommateurs et des produits, fournissant les résultats Top-K les plus pertinents. Enfin, ce résultat est présenté aux consommateurs.
Milvus a démontré une efficacité remarquable dans les processus de mise à jour des données et de recall.
La mise à jour des données et le recall sont essentiels pour une recherche vectorielle rapide et des recommandations personnalisées au sein de cette orchestration complexe. La procédure de mise à jour des données garantit une synchronisation fluide, impliquant des tâches telles que l’écriture des données vectorielles, la détection des volumes de données, la construction d’index, le préchargement d’index et la gestion des alias. D’autre part, le processus de recall, partie intégrante des recommandations de produits, consiste à récupérer les vecteurs liés aux requêtes et aux comportements d’achat des consommateurs, à calculer leurs distances et à fusionner les résultats.
Milvus a démontré une efficacité et une agilité remarquables dans les processus de mise à jour et de rappel des données, atteignant une latence moyenne de seulement 10 ms. Le tableau ci-dessous illustre les métriques de performance de trois services Milvus principaux liés à la mise à jour et au rappel des données.
| Service | Rôle | Paramètres d’entrée | Paramètres de sortie | Latence de réponse |
|---|---|---|---|---|
| Acquisition des vecteurs utilisateur | Obtenir le vecteur utilisateur | informations utilisateur + requête | vecteur utilisateur | 10 ms |
| Recherche Milvus | Calculer la similarité vectorielle et renvoyer les résultats Top-K | vecteur utilisateur | vecteur d’article | 10 ms |
| Logique de planification | Rappel et fusion simultanés des résultats | Vecteurs d’articles rappelés multicanaux et score de similarité | Articles Top-K | 10 ms |
Améliorer les expériences utilisateur grâce à des recommandations 10x plus rapides et à une forte réduction des coûts
L’intégration de Milvus dans le système de recommandation de VIPSHOP a transformé le paysage, ouvrant une nouvelle ère d’expériences utilisateur.
Réponses globales 10x plus rapides : Milvus a réduit les temps globaux de requête vectorielle à moins de 30 ms. Cette vitesse extraordinaire représente une accélération par dix par rapport à la solution Elasticsearch précédente, garantissant aux utilisateurs des recommandations ultra-rapides.
Capacité renforcée à gérer l’explosion des données métier : Les capacités de déploiement distribué et de mise à l’échelle horizontale de Milvus ont permis au système de recommandation de VIPSHOP de gérer sans effort l’augmentation des volumes de données et des requêtes utilisateur. La possibilité de faire évoluer indépendamment le calcul et le stockage s’aligne parfaitement sur les besoins changeants de VIPSHOP, offrant une flexibilité inégalée.
Coûts de maintenance réduits : Milvus, grâce à ses mécanismes de requête simplifiés, a aidé VIPSHOP à réduire les coûts de maintenance du système de recommandation. Cette réduction améliore l’efficacité opérationnelle et contribue à la rentabilité globale de la plateforme.
Défis avec Milvus et enseignements tirés
Au cours de leur parcours avec Milvus, l’équipe de VIPSHOP a également rencontré certains défis, qu’elle a résolus avec l’aide de l’équipe d’assistance technique de Zilliz. Dans cette section, elle partage les enseignements tirés et les informations acquises pour optimiser les performances du système. * L’adoption d’une stratégie de déploiement avec séparation lecture-écriture peut améliorer les performances globales du système lorsque les opérations de lecture sont prioritaires.
Le client Java Milvus ne dispose pas d’un mécanisme de reconnexion inhérent, car il réside en mémoire au sein du service de rappel. L’équipe de VIPSHOP a conçu un pool de connexions dédié afin d’assurer une connectivité constante, en mettant en œuvre un test de heartbeat entre le client Java et le serveur.
Les requêtes occasionnellement lentes dans Milvus sont attribuées à un préchauffage insuffisant des nouvelles collections. Pour relever ce défi, l’équipe de VIPSHOP a mis en œuvre une stratégie consistant à simuler des requêtes sur la collection nouvellement créée.
Il est crucial de trouver le juste équilibre entre performance de récupération et précision. L’équipe de VIPSHOP recommande de mener des expériences de tests de charge minutieuses adaptées au scénario métier spécifique. Définir une valeur de seuil raisonnable est essentiel pour optimiser efficacement ces paramètres.
Dans les scénarios impliquant des données statiques, une approche efficace consiste à importer initialement toutes les données dans la collection et à reporter le processus de création d’index à une étape ultérieure.
Continuer à lire

From Vector Database to Vector Lakebase
Zilliz offers a fully managed Vector Lakebase powered by Milvus, unifying real-time vector search, lake-scale discovery, and Al data operations.

Legal Document Analysis: Harnessing Zilliz Cloud's Semantic Search and RAG for Legal Insights
Enhance legal document analysis with Zilliz Cloud’s Semantic Search and RAG. Improve accuracy, efficiency, and scalability for contracts, case law, and compliance.

AI Integration in Video Surveillance Tools: Transforming the Industry with Vector Databases
Discover how AI and vector databases are revolutionizing video surveillance with real-time analysis, faster threat detection, and intelligent search capabilities for enhanced security.



