Cómo Milvus impulsa la búsqueda de IA de BitAuto que realmente comprende a sus 142 millones de compradores de autos

95 % de precisión de recuperación
frente al 45 % con FAISS
Más de 10 servicios de IA
impulsado por una implementación de Milvus
99 % de precisión de recuperación
Para atención al cliente, frente al 40%
142 millones de usuarios activos mensuales
en casos de uso de consumo, empresariales e internos
Esta publicación se basa en materiales compartidos por Zheng Li y el equipo de BitAuto AI Platform. Cubre su migración de FAISS a Milvus, el pipeline de recuperación que elevó la precisión del 45 % al 95 %, y las lecciones aprendidas al escalar Milvus en más de 10 servicios de IA para 142 millones de usuarios mensuales. Editado y republicado con el permiso del equipo de BitAuto.
Acerca de BitAuto
BitAuto, fundada en 2000, es uno de los sitios web automotrices más visitados de Asia, con 142 millones de usuarios activos mensuales. Los consumidores lo usan para comparar especificaciones de autos, leer reseñas de propietarios, ver pruebas de manejo y consultar precios en vivo de más de 20 000 concesionarios. La empresa vende publicidad y marketing digital a fabricantes de automóviles y concesionarios, y ofrece una plataforma SaaS para la gestión de concesionarios.
El desafío
Los problemas de búsqueda de BitAuto llegaron en dos etapas. La búsqueda por palabras clave no podía manejar la forma en que los usuarios reales hacen preguntas. FAISS sí podía, pero no podía sostenerse a escala de producción.
Los compradores de autos buscan en lenguaje natural — La búsqueda por palabras clave no podía seguir el ritmo
Los 142 millones de usuarios de BitAuto no buscan por palabra clave. Escriben requisitos como "Un SUV espacioso para una familia de tres, por menos de $30K, con menor consumo de combustible que el CR-V." La infraestructura de búsqueda basada en palabras clave no podía manejar sinónimos ("espacioso" por "amplio" o "apto para familias”). Tampoco podía combinar múltiples condiciones en una sola consulta.
Los usuarios aún podían encontrar información útil, pero los resultados no siempre eran precisos — y para consultas con múltiples condiciones o en lenguaje natural, el sistema a menudo pasaba por alto por completo las mejores coincidencias. El mismo problema aparecía en el servicio al cliente, donde los agentes a veces no podían recuperar la respuesta correcta para preguntas sobre configuraciones específicas.
FAISS demostró que la búsqueda semántica funcionaba, pero no podía escalar
En 2022, el equipo creó un prototipo con FAISS para probar la búsqueda vectorial. En una prueba piloto pequeña con menos de 100 000 usuarios, funcionó. "MPV espacioso" coincidía con anuncios de "SUV de gran espacio". La precisión alcanzó ~45 % en un conjunto de pruebas etiquetado por humanos.
Pero FAISS es una biblioteca de algoritmos, no una base de datos. No tiene persistencia, ni escalado horizontal, ni recuperación ante fallos. Todo eso tendría que construirse desde cero. Los ingenieros pasarían la mitad de su tiempo manteniendo el sistema en funcionamiento en lugar de mejorar la búsqueda. Y el sistema en vivo tendría que manejar decenas de millones de registros con más de 100M actualizaciones diarias. FAISS no funcionaría.
Por qué BitAuto eligió Milvus
El equipo evaluó varias opciones en seis dimensiones. Así es como se compararon:
| Dimensión | Facebook FAISS | Qdrant | Milvus | Otros (Chroma, Weaviate) |
|---|---|---|---|---|
| Implementación | Integrado en la aplicación | Independiente/cluster | Independiente/cluster/lite (arquitectura distribuida nativa de IA) | Independiente/cluster simple |
| Escalabilidad | Debe construirse desde cero | Escalado horizontal compatible | Escalado vertical y horizontal; escala fácilmente para manejar búsquedas vectoriales a nivel de miles de millones | Limitado |
| Gestión de datos | Sin persistencia; requiere desarrollo personalizado | Persistencia, CRUD | CRUD completo, datos dinámicos, sharding | CRUD básico |
| Búsqueda híbrida | No compatible | Compatible | Compatible (filtro escalar + búsqueda vectorial,+ búsqueda de texto completo) | Limitado |
| Comunidad | Fuerte en investigación; necesita envoltorio para producción | Más nueva, creciendo rápido | Gran comunidad, documentación abundante (a día de hoy, más de 43K estrellas en GitHub) | Más nueva, creciendo rápido |
| Curva de aprendizaje | Alta (se requiere codificación de integración profunda) | Media | Baja | Baja |
Tres cosas hicieron de Milvus la elección clara para BitAuto:
Arquitectura distribuida nativa de IA. El cómputo y el almacenamiento están separados. Agregar Query Nodes escala la capacidad de lectura; agregar Data Nodes gestiona el crecimiento de los datos. No se necesita rediseñar la aplicación.
Gestión de datos lista para producción. CRUD completo, múltiples tipos de índices, particionamiento y búsqueda híbrida están integrados. No se necesita desarrollo adicional del sistema sobre una biblioteca ANN.
Ecosistema activo. Milvus admite búsqueda multivectorial y búsqueda híbrida de vectores dispersos y densos, exactamente lo que BitAuto necesitaba.
La solución
BitAuto reemplazó FAISS por Milvus, una base de datos vectorial de código abierto, y construyó sus sistemas de búsqueda con IA y atención al cliente sobre ella.
Milvus proporciona búsqueda vectorial de mayor rendimiento y almacena los datos de forma persistente, admite operaciones CRUD completas y gestiona automáticamente la indexación. Se acabaron el almacenamiento personalizado, la lógica de respaldo hecha a mano o la recuperación ante fallos de bricolaje.
Milvus también permitió escalar mediante su arquitectura. Separa el cómputo del almacenamiento, con Query Nodes dedicados para la búsqueda, Data Nodes para la ingesta e Index Nodes para la construcción de índices. Como cada capa escala de forma independiente, el equipo puede poner en marcha más Query Nodes para aumentar el rendimiento durante el lanzamiento de un producto o agregar Data Nodes a medida que crece el conjunto de datos — sin necesidad de rediseño.
Con ambos problemas abordados, el equipo pasó a producción. Implementaron Milvus de código abierto y migraron la búsqueda de configuraciones de vehículos (más de 10 millones de registros), la búsqueda de reseñas de usuarios y la coincidencia de FAQ.
Cómo Milvus resolvió los problemas de escalado en producción
La búsqueda de configuraciones de vehículos era la más exigente de las tres: más de 10 millones de registros con actualizaciones por lotes frecuentes. También fue donde aparecieron los primeros problemas de escalado.
Milvus resolvió los cuellos de botella de escritura en el conjunto de datos de configuraciones de vehículos con una actualización de versión. El conjunto de datos de configuraciones — el mayor de los tres, con más de 10 millones de registros — necesitaba actualizaciones por lotes frecuentes. Una vez que el volumen de datos superó los diez millones, esas actualizaciones empezaron a sobrecargar el clúster y a ralentizar las consultas. Una actualización de Milvus (noviembre de 2023) optimizó la lógica de eliminación y compactación y resolvió el cuello de botella.
La búsqueda multivectorial de Milvus 2.4 convirtió las consultas compuestas de los usuarios en solicitudes únicas. Un usuario que preguntaba "equipamiento base del Audi A6 + marca de altavoces + consumo de combustible" antes activaba tres búsquedas separadas que la lógica de la aplicación tenía que unir. Los resultados a menudo no coincidían. Después de que el equipo actualizara a Milvus 2.4 (junio de 2024), consultas compuestas como esta se ejecutan como una única solicitud multivectorial — sin dividir, sin unir.
Los múltiples tipos de índices de Milvus permitieron al equipo ajustar cada escala de datos a la estrategia adecuada. El equipo configuró IVF_FLAT para más de 10 millones de registros de configuraciones de vehículos (con nprobe ajustado al 5–10% de nlist), HNSW para entre 500.000 y 5 millones de registros de noticias y reseñas, y FLAT para pequeños conjuntos de datos de FAQ.
El soporte nativo de Milvus para vectores dispersos reemplazó a Elasticsearch como dependencia. No todas las consultas se benefician de la búsqueda semántica. Cuando un usuario escribe "precio BMW Serie 5 2025", quiere una coincidencia exacta con esas palabras específicas, no resultados sobre coches similares con precios similares. Los vectores densos son buenos para el significado, pero malos para palabras clave exactas: podrían devolver una reseña de un BMW Serie 3 de 2024 aunque no sea una coincidencia exacta. Para estos casos, BitAuto tenía que ejecutar Elasticsearch junto con Milvus: un sistema para consultas por palabras clave, otro para consultas semánticas, además de lógica adicional para fusionar los resultados de ambos.
En abril de 2025, el equipo cambió al soporte nativo de vectores dispersos de Milvus, que gestiona ambos en un solo sistema. Los vectores dispersos funcionan como una versión más inteligente de la coincidencia de palabras clave: representan el texto mediante las palabras específicas que contiene, por lo que "BMW 5 Series 2025" coincide con esos términos exactos. Los vectores densos siguen encargándose del lado semántico. Milvus ejecuta ambos en una sola consulta, reemplazando por completo la dependencia de Elasticsearch.
Una canalización de recuperación en varias etapas construida alrededor de Milvus impulsó las mejoras de precisión. Supongamos que un usuario escribe "Audi A6 lowest trim what config." Esa consulta es desordenada: tiene una marca ("Audi A6"), una intención vaga ("lowest trim") y una abreviatura ("what config"). Antes de buscar, la canalización la depura: el reconocimiento de entidades extrae "Audi A6," un modelo 7B personalizado reescribe el fragmento como una pregunta adecuada ("What is the configuration of the Audi A6 base trim?"), y la extracción de palabras clave captura términos clave como "config," "base trim," y "A6."
Luego, la consulta depurada se distribuye por tres rutas de búsqueda paralelas: búsqueda por palabras clave usando los términos extraídos, y dos búsquedas vectoriales separadas en Milvus: una usando la pregunta reescrita y otra combinando datos del perfil de usuario con las entidades extraídas. Los tres conjuntos de resultados alimentan un BGE-Reranker, que puntúa y clasifica cada candidato para elegir la mejor respuesta.
Resultados
Antes y después: FAISS + Elasticsearch vs. Milvus
| Métrica | Antes (FAISS + ES) | Después (Milvus) |
|---|---|---|
| Precisión de recuperación del asistente de IA | ~45% | ~95% |
| Precisión de recuperación del servicio de atención al cliente | ~40% | ~99% |
| Latencia de sincronización de datos | T+1 (día siguiente) | Segundos |
| Tiempo de ingeniería en infraestructura | ~50% | ~10% |
| Arquitectura | ES + FAISS (fragmentada) | Milvus (convergiendo hacia un sistema único) |
Qué servicios impulsa Milvus en BitAuto hoy
Milvus comenzó como un reemplazo para un prototipo de servicio de búsqueda. Dos años después, es la capa de recuperación detrás de más de 10 servicios de IA que cubren más del 90% de los casos de uso de IA de BitAuto:
Asistente de IA para la compra de autos. El producto orientado al consumidor. Los usuarios hacen preguntas en lenguaje natural sobre autos — especificaciones, comparaciones, reseñas — y obtienen respuestas de la búsqueda semántica de Milvus en millones de registros de vehículos.
Servicio de atención al cliente inteligente. Funciona en apps, mini programs, WeChat y la web. El sistema dirige las preguntas de los usuarios mediante reconocimiento de intención y coincidencia de escenarios, y luego recupera respuestas de una base de conocimiento respaldada por Milvus en milisegundos. Gestiona tanto respuestas totalmente automatizadas como asistidas por humanos, lo que mejora directamente la conversión de leads de concesionarios.
Búsqueda inteligente. Recuperación semántica en texto, imágenes y video en la plataforma.
ChatBI y herramientas internas. Consultas en lenguaje natural sobre datos empresariales para analistas, además de asistentes para operaciones, RR. HH. y generación de contenido, todo sobre la misma capa de Milvus.
En todos estos servicios, Milvus gestiona cientos de millones de actualizaciones de datos diarias mientras mantiene la latencia en el rango de milisegundos y conserva un rendimiento estable del clúster.
Qué sigue
Reducir costos y simplificar la pila. Actualmente, BitAuto ejecuta sistemas separados para el procesamiento de datos por lotes y la transmisión en tiempo real, con colas de mensajes externas que los conectan. El equipo planea consolidarlos en menos componentes para reducir la sobrecarga. También introducirán la separación de datos calientes y fríos: almacenar datos de bajo acceso en medios más baratos para reducir a la mitad los costos de almacenamiento.
Hacer que los resultados de búsqueda sean más precisos. El equipo añadirá una clasificación híbrida ponderada en vectores dispersos y densos, para poder ajustar cuánto se apoya cada consulta en la coincidencia de palabras clave frente a la comprensión semántica.
Construir un bucle de retroalimentación automatizado. BitAuto desplegará agentes de IA que monitoreen la calidad de la recuperación en vivo, señalen automáticamente los malos resultados y reintroduzcan esos casos en la construcción de índices y las reglas de clasificación, para que el sistema mejore por sí mismo en lugar de esperar ajustes manuales.
Para BitAuto, Milvus ha pasado de ser "un componente de búsqueda" a una infraestructura central de IA. Los nuevos asistentes, los flujos de atención al cliente y las herramientas internas se construyen sobre ella.
- Acerca de BitAuto
- El desafío
- Por qué BitAuto eligió Milvus
- La solución
- Resultados
- Qué servicios impulsa Milvus en BitAuto hoy
- Qué sigue
Contenido
Industria
Medios de comunicación


