Cómo VIPSHOP elevó su recomendador de comercio electrónico 10 veces más rápido con Milvus
Los sistemas de recomendación se han vuelto indispensables para el éxito del comercio electrónico, actuando como un catalizador estratégico para mejorar la experiencia del usuario, estimular la interacción del cliente e impulsar los ingresos del negocio. VIPSHOP, el minorista en línea pionero en China, enfrentó una coyuntura crítica. Con una base de clientes en rápido crecimiento que superaba los 52 millones y un aumento anual de 270 millones de pedidos, su sistema de recomendación heredado basado en Elasticsearch resultó lento e inadecuado. La necesidad de una solución más rápida y personalizada en VIPSHOP se volvió más urgente. En esta publicación, profundizaremos en los desafíos que enfrentó VIPSHOP y en cómo la adopción de Milvus mejoró su sistema de recomendación.
La búsqueda de un motor de búsqueda vectorial eficiente
La base de un sistema de recomendación ágil reside en su capacidad de búsqueda vectorial, que es crucial para entregar rápidamente resultados semánticamente similares. VIPSHOP inicialmente dependía de Elasticsearch para la búsqueda vectorial, pero pronto enfrentó desafíos a medida que se ampliaba su gama de productos. El sistema heredado encontró dos grandes obstáculos: tiempos de respuesta prolongados y costos de mantenimiento en aumento.
La desaceleración se atribuyó a la alta latencia de Elasticsearch al recuperar resultados Top-K, con un promedio de 300 ms. El tiempo de respuesta final duraba segundos, lo que afectaba negativamente la experiencia del usuario al combinarse con las etapas de procesamiento posteriores. Además, los índices compartidos se convirtieron en un laberinto complejo, elevando los costos de construcción y mantenimiento. A pesar de los intentos de revitalizar Elasticsearch con un plugin de hashing, los resultados no fueron suficientes. La búsqueda de una nueva pila de búsqueda vectorial se convirtió en el bis del equipo para lograr un sistema de recomendación receptivo.
VIPSHOP eligió Milvus para actualizar su sistema de recomendación
Milvus es una base de datos vectorial de código abierto que promete velocidad y una sinfonía de funciones capaces de manejar miles de millones de embeddings vectoriales. También ofrecía el atractivo del despliegue distribuido, SDKs multilenguaje y separación de lectura/escritura, una composición que superaba a Elasticsearch y otras tecnologías de búsqueda vectorial. Tras una cuidadosa consideración y evaluación, VIPSHOP eligió Milvus para reconstruir su sistema de recomendación.
Cómo funciona Milvus en el sistema de recomendación de VIPSHOP
El diagrama ofrece un vistazo a la arquitectura del sistema de recomendación de VIPSHOP impulsado por Milvus.
Un modelo de aprendizaje profundo convierte las características de los productos en embeddings vectoriales. Estos embeddings se ingieren luego en Milvus para su almacenamiento y recuperación usando MySQL y una herramienta ETL.
Al mismo tiempo, las consultas y preferencias de compra de los consumidores atraviesan una transformación similar en embeddings vectoriales, iniciando una búsqueda de similitud dentro de Milvus. Aquí, Milvus realiza una búsqueda de Vecinos Más Cercanos Aproximados (ANN) evaluando las distancias espaciales entre los vectores de consumidores y productos, entregando los resultados Top-K más relevantes. Finalmente, este resultado se presenta a los consumidores.
Milvus demostró una eficiencia notable tanto en los procesos de actualización de datos como de recuperación.
La actualización de datos y la recuperación son fundamentales para una búsqueda vectorial rápida y recomendaciones personalizadas dentro de esta intrincada orquestación. El procedimiento de actualización de datos garantiza una sincronización fluida, involucrando tareas como escribir datos vectoriales, detectar volúmenes de datos, construir índices, precargar índices y gestionar alias. Por otro lado, el proceso de recuperación, integral para las recomendaciones de productos, implica recuperar vectores relacionados con las consultas y comportamientos de compra de los consumidores, calcular sus distancias y fusionar resultados.
Milvus demostró una eficiencia y agilidad notables tanto en los procesos de actualización de datos como de recuperación, logrando una latencia media de solo 10 ms. La siguiente tabla ilustra las métricas de rendimiento de tres servicios principales de Milvus relacionados con la actualización de datos y la recuperación.
| Servicio | Rol | Parámetros de entrada | Parámetros de salida | Latencia de respuesta |
|---|---|---|---|---|
| Adquisición de vectores de usuario | Obtener el vector de usuario | información de usuario + consulta | vector de usuario | 10 ms |
| Búsqueda en Milvus | Calcular la similitud vectorial y devolver resultados Top-K | vector de usuario | vector de elemento | 10 ms |
| Lógica de programación | Recuperación y fusión de resultados concurrentes | Vectores de elementos recuperados multicanal y la puntuación de similitud | Elementos Top-K | 10 ms |
Elevando las experiencias de usuario con recomendaciones 10 veces más rápidas y una enorme reducción de costes
Integrar Milvus en el sistema de recomendación de VIPSHOP ha transformado el panorama, dando paso a una nueva era de experiencias de usuario.
Respuestas generales 10 veces más rápidas: Milvus redujo los tiempos generales de consulta vectorial por debajo de 30 ms. Esta velocidad extraordinaria supone una aceleración diez veces mayor que la solución anterior de Elasticsearch, lo que garantiza que los usuarios reciban recomendaciones a la velocidad del rayo.
Capacidad mejorada para gestionar el aumento de datos empresariales: El despliegue distribuido de Milvus y sus capacidades de escalado horizontal permitieron al sistema de recomendación de VIPSHOP gestionar sin esfuerzo volúmenes de datos y consultas de usuarios crecientes. La independencia para escalar computación y almacenamiento se alinea perfectamente con las necesidades cambiantes de VIPSHOP, proporcionando una flexibilidad inigualable.
Costes de mantenimiento reducidos: Milvus, con sus mecanismos de consulta optimizados, ayudó a VIPSHOP a reducir los costes de mantenimiento del sistema de recomendación. Esta reducción mejora la eficiencia operativa y contribuye a la rentabilidad general de la plataforma.
Desafíos con Milvus y lecciones aprendidas
En su recorrido con Milvus, el equipo de VIPSHOP también encontró algunos desafíos, que resolvieron con la ayuda del equipo de soporte técnico de Zilliz. En esta sección, compartieron las lecciones que aprendieron y los conocimientos que obtuvieron para optimizar el rendimiento del sistema. * Adoptar una estrategia de despliegue con separación de lectura y escritura puede mejorar el rendimiento general del sistema cuando las operaciones de lectura tienen prioridad.
El cliente Java de Milvus carece de un mecanismo de reconexión inherente porque reside en memoria dentro del servicio de recuperación. El equipo de VIPSHOP creó un pool de conexiones dedicado para garantizar una conectividad constante, implementando una prueba de heartbeat entre el cliente Java y el servidor.
Las consultas lentas ocasionales en Milvus se atribuyen al calentamiento insuficiente de las nuevas colecciones. Para abordar este desafío, el equipo de VIPSHOP implementó una estrategia de simulación de consultas en la colección recién creada.
Lograr el equilibrio adecuado entre el rendimiento de recuperación y la precisión es crucial. El equipo de VIPSHOP recomienda realizar experimentos meticulosos de pruebas de presión adaptados al escenario empresarial específico. Establecer un valor de umbral razonable es vital para optimizar estos parámetros de manera efectiva.
En escenarios que implican datos estáticos, un enfoque eficiente consiste en importar inicialmente todos los datos a la colección y posponer el proceso de construcción del índice para una etapa posterior.
Sigue leyendo

3 Easiest Ways to Use Claude Code on Your Mobile Phone
Run Claude Code from your phone with Remote Control, Happy Coder, or SSH + Tailscale. Comparison table, setup steps, and tools for typing, memory, and parallel tasks.

Creating Collections in Zilliz Cloud Just Got Way Easier
We've enhanced the entire collection creation experience to bring advanced capabilities directly into the interface, making it faster and easier to build production-ready schemas without switching tools.

8 Latest RAG Advancements Every Developer Should Know
Explore eight advanced RAG variants that can solve real problems you might be facing: slow retrieval, poor context understanding, multimodal data handling, and resource optimization.



