Wie Milvus die KI-Suche von BitAuto antreibt, die ihre 142 Mio. Autokäufer wirklich versteht

95 % Abrufgenauigkeit
gestiegen von 45 % mit FAISS
10+ KI-Dienste
betrieben durch eine einzelne Milvus-Bereitstellung
99 % Abrufgenauigkeit
Für den Kundenservice, gestiegen von 40 %
142 Mio. monatlich aktive Nutzer
über Verbraucher-, Geschäfts- und interne Anwendungsfälle hinweg
Dieser Beitrag basiert auf Materialien, die von Zheng Li und dem BitAuto AI Platform-Team geteilt wurden. Er behandelt ihre Migration von FAISS zu Milvus, die Retrieval-Pipeline, die die Genauigkeit von 45 % auf 95 % steigerte, und die Erkenntnisse aus der Skalierung von Milvus über 10+ KI-Services für 142 Millionen monatliche Nutzer hinweg. Mit Genehmigung des BitAuto-Teams bearbeitet und erneut veröffentlicht.
Über BitAuto
BitAuto, gegründet im Jahr 2000, ist eine der meistbesuchten Automobil-Websites Asiens mit 142 Millionen monatlich aktiven Nutzern. Verbraucher nutzen sie, um Fahrzeugspezifikationen zu vergleichen, Besitzerbewertungen zu lesen, Testfahrten anzusehen und Live-Preise von über 20.000 Autohändlern zu prüfen. Das Unternehmen verkauft Werbung und digitales Marketing an Automobilhersteller und Händler und bietet eine SaaS-Plattform für das Händler-Management an.
Die Herausforderung
Die Suchprobleme von BitAuto traten in zwei Phasen auf. Die Keyword-Suche konnte nicht damit umgehen, wie echte Nutzer Fragen stellen. FAISS konnte das, hielt aber im Produktionsmaßstab nicht stand.
Autokäufer suchen in natürlicher Sprache — die Keyword-Suche konnte nicht mithalten
Die 142 Millionen Nutzer von BitAuto suchen nicht nach Keywords. Sie geben Anforderungen ein wie „Ein geräumiger SUV für eine dreiköpfige Familie, unter 30.000 $, mit geringerem Kraftstoffverbrauch als der CR-V.“ Die keywordbasierte Suchinfrastruktur konnte Synonyme nicht verarbeiten („spacious“ zu „roomy“ oder „family-friendly“). Sie konnte auch nicht mehrere Bedingungen in einer einzigen Abfrage kombinieren.
Nutzer konnten dennoch nützliche Informationen finden, aber die Ergebnisse waren nicht immer genau — und bei Abfragen mit mehreren Bedingungen oder in natürlicher Sprache verpasste das System oft die besten Treffer vollständig. Dasselbe Problem zeigte sich im Kundendienst, wo Agenten manchmal nicht die richtige Antwort auf Fragen zu spezifischen Konfigurationen abrufen konnten.
FAISS bewies, dass semantische Suche funktionierte, konnte aber nicht skalieren
Im Jahr 2022 baute das Team einen Prototyp auf FAISS, um Vektorsuche zu testen. In einem kleinen Pilotprojekt mit unter 100.000 Nutzern funktionierte es. „Spacious MPV“ passte zu „large-space SUV“-Listings. Die Genauigkeit erreichte ~45 % auf einem von Menschen gelabelten Testdatensatz.
Aber FAISS ist eine Algorithmusbibliothek, keine Datenbank. Es bietet keine Persistenz, keine horizontale Skalierung und keine Wiederherstellung nach Ausfällen. All das müsste von Grund auf neu gebaut werden. Ingenieure würden die Hälfte ihrer Zeit damit verbringen, das System am Laufen zu halten, statt die Suche zu verbessern. Und das Live-System müsste mit zig Millionen Datensätzen und 100M+ täglichen Updates umgehen. FAISS würde nicht funktionieren.
Warum BitAuto Milvus wählte
Das Team bewertete mehrere Optionen entlang von sechs Dimensionen. So schnitten sie ab:
| Dimension | Facebook FAISS | Qdrant | Milvus | Andere (Chroma, Weaviate) |
|---|---|---|---|---|
| Deployment | In die Anwendung eingebettet | Standalone/Cluster | Standalone/Cluster/Lite (KI-native verteilte Architektur) | Standalone/einfacher Cluster |
| Skalierbarkeit | Muss von Grund auf neu gebaut werden | Horizontale Skalierung unterstützt | Sowohl vertikale als auch horizontale Skalierung; lässt sich leicht skalieren, um Vektorsuche auf Milliardenebene zu bewältigen | Begrenzt |
| Datenmanagement | Keine Persistenz; erfordert kundenspezifische Entwicklung | Persistenz, CRUD | Vollständiges CRUD, dynamische Daten, Sharding | Grundlegendes CRUD |
| Hybride Suche | Nicht unterstützt | Unterstützt | Unterstützt (skalarer Filter + Vektorsuche,+ Volltextsuche) | Begrenzt |
| Community | Stark in der Forschung; benötigt Wrapping für die Produktion | Neuer, wächst schnell | Große Community, umfangreiche Dokumentation (Stand heute: 43K+ GitHub-Sterne) | Neuer, wächst schnell |
| Lernkurve | Hoch (tiefe Integrationscodierung erforderlich) | Mittel | Niedrig | Niedrig |
Drei Dinge machten Milvus zur klaren Wahl für BitAuto:
KI-native verteilte Architektur. Rechenleistung und Speicher sind getrennt. Das Hinzufügen von Query Nodes skaliert die Lesekapazität; das Hinzufügen von Data Nodes bewältigt Datenwachstum. Keine Neugestaltung der Anwendung erforderlich.
Produktionsreifes Datenmanagement. Vollständiges CRUD, mehrere Indextypen, Partitionierung und hybride Suche sind alle integriert. Keine zusätzliche Systementwicklung auf Basis einer ANN-Bibliothek erforderlich.
Aktives Ökosystem. Milvus unterstützt Multi-Vector-Suche und hybride Sparse- und Dense-Vector-Suche, genau das, was BitAuto benötigte.
Die Lösung
BitAuto ersetzte FAISS durch Milvus, eine Open-Source-Vektordatenbank, und baute darauf seine KI-Suche und Kundendienstsysteme auf.
Milvus bietet eine leistungsfähigere Vektorsuche und speichert Daten persistent, unterstützt vollständige CRUD-Operationen und verwaltet die Indexierung automatisch. Kein benutzerdefinierter Speicher, keine selbst entwickelte Backup-Logik und keine DIY-Fehlerbehebung mehr.
Milvus ermöglichte außerdem Skalierung durch seine Architektur. Es trennt Rechenleistung von Speicher, mit dedizierten Query Nodes für die Suche, Data Nodes für die Aufnahme und Index Nodes für den Indexaufbau. Da jede Schicht unabhängig skaliert, kann das Team während einer Produkteinführung mehr Query Nodes hochfahren, um den Durchsatz zu erhöhen, oder Data Nodes hinzufügen, wenn der Datensatz wächst — keine Neugestaltung erforderlich.
Nachdem beide Probleme behoben waren, ging das Team in die Produktion. Es stellte Open-Source-Milvus bereit und migrierte die Suche nach Fahrzeugkonfigurationen (10M+ Datensätze), die Suche in Nutzerbewertungen und das FAQ-Matching.
Wie Milvus Skalierungsprobleme in der Produktion löste
Die Suche nach Fahrzeugkonfigurationen war die anspruchsvollste der drei — 10M+ Datensätze mit häufigen Batch-Updates. Dort traten auch die ersten Skalierungsprobleme auf.
Milvus beseitigte Schreibengpässe im Datensatz für Fahrzeugkonfigurationen durch ein Versionsupgrade. Der Konfigurationsdatensatz — der größte der drei mit 10M+ Datensätzen — benötigte häufige Batch-Updates. Sobald das Datenvolumen zehn Millionen überschritt, begannen diese Updates, den Cluster zu überlasten und Abfragen zu verlangsamen. Ein Milvus-Upgrade (November 2023) optimierte die Lösch- und Kompaktierungslogik und beseitigte den Engpass.
Die Multi-Vector-Suche von Milvus 2.4 machte aus zusammengesetzten Nutzersuchanfragen einzelne Requests. Ein Nutzer, der nach „Audi A6 Basisausstattung + Lautsprechermarke + Kraftstoffverbrauch“ fragte, löste früher drei separate Suchen aus, die die Anwendungslogik zusammenfügen musste. Die Ergebnisse passten oft nicht zusammen. Nachdem das Team auf Milvus 2.4 (Juni 2024) aktualisiert hatte, laufen zusammengesetzte Abfragen wie diese als ein einzelner Multi-Vector-Request — kein Aufteilen, kein Zusammenfügen.
Die mehreren Indextypen von Milvus ermöglichten es dem Team, jede Datenskala der richtigen Strategie zuzuordnen. Das Team richtete IVF_FLAT für 10M+ Fahrzeugkonfigurationsdatensätze ein (mit nprobe auf 5–10 % von nlist abgestimmt), HNSW für 500K–5M Nachrichten- und Bewertungsdatensätze und FLAT für kleine FAQ-Datensätze.
Die native Unterstützung von Milvus für Sparse Vectors ersetzte Elasticsearch als Abhängigkeit. Nicht jede Abfrage profitiert von semantischer Suche. Wenn ein Nutzer „BMW 5 Series 2025 Preis“ eingibt, möchte er eine exakte Übereinstimmung mit diesen spezifischen Wörtern — keine Ergebnisse über ähnliche Autos mit ähnlichen Preisen. Dense Vectors sind gut bei Bedeutung, aber schlecht bei exakten Keywords: Sie könnten eine Bewertung eines BMW 3 Series von 2024 zurückgeben, obwohl sie keine exakte Übereinstimmung ist. Für diese Fälle musste BitAuto Elasticsearch parallel zu Milvus betreiben — ein System für Keyword-Abfragen, ein anderes für semantische Abfragen, plus zusätzliche Logik, um Ergebnisse aus beiden zusammenzuführen.
Im April 2025 wechselte das Team zu Milvus' nativer Unterstützung für Sparse Vectors, die beides in einem System verarbeitet. Sparse Vectors funktionieren wie eine intelligentere Version des Keyword-Matchings — sie repräsentieren Text durch die spezifischen Wörter, die er enthält, sodass „BMW 5 Series 2025“ mit genau diesen Begriffen übereinstimmt. Dense Vectors übernehmen weiterhin die semantische Seite. Milvus führt beides in einer einzigen Abfrage aus und ersetzt die Elasticsearch-Abhängigkeit vollständig.
Eine mehrstufige Retrieval-Pipeline rund um Milvus sorgte für die Genauigkeitssteigerungen. Angenommen, ein Nutzer tippt „Audi A6 niedrigste Ausstattung welche Konfig“. Diese Abfrage ist unklar — sie enthält eine Marke („Audi A6“), eine vage Absicht („niedrigste Ausstattung“) und Kurzform („welche Konfig“). Vor der Suche bereinigt die Pipeline sie: Entity Recognition extrahiert „Audi A6“, ein benutzerdefiniertes 7B-Modell schreibt das Fragment in eine richtige Frage um („Wie ist die Konfiguration der Basisausstattung des Audi A6?“), und Keyword Extraction erfasst Schlüsselbegriffe wie „Konfig“, „Basisausstattung“ und „A6“.
Die bereinigte Abfrage wird dann auf drei parallele Suchpfade verteilt: Keyword-Suche mit den extrahierten Begriffen und zwei separate Milvus-Vektorsuchen — eine mit der umgeschriebenen Frage, eine, die Nutzerprofildaten mit den extrahierten Entitäten kombiniert. Alle drei Ergebnissets fließen in einen BGE-Reranker, der jeden Kandidaten bewertet und einordnet, um die beste Antwort auszuwählen.
Ergebnisse
Vorher und nachher: FAISS + Elasticsearch vs. Milvus
| Metrik | Vorher (FAISS + ES) | Nachher (Milvus) |
|---|---|---|
| Retrieval-Genauigkeit des AI Assistant | ~45% | ~95% |
| Retrieval-Genauigkeit des Kundenservice | ~40% | ~99% |
| Latenz der Datensynchronisierung | T+1 (nächster Tag) | Sekunden |
| Engineering-Zeit für Infrastruktur | ~50% | ~10% |
| Architektur | ES + FAISS (fragmentiert) | Milvus (Konvergenz zu einem einzigen System) |
Welche Services Milvus heute bei BitAuto antreibt
Milvus begann als Ersatz für den Prototyp eines Suchdienstes. Zwei Jahre später ist es die Retrieval-Schicht hinter mehr als 10 AI Services, die über 90% der AI-Anwendungsfälle von BitAuto abdecken:
AI-Auto-Shopping-Assistent. Das verbraucherorientierte Produkt. Nutzer stellen natürlichsprachliche Fragen zu Autos — Spezifikationen, Vergleiche, Bewertungen — und erhalten Antworten aus Milvus' semantischer Suche über Millionen von Fahrzeugdatensätzen.
Intelligenter Kundenservice. Läuft über Apps, Mini-Programme, WeChat und das Web. Das System leitet Nutzerfragen durch Intent Recognition und Szenario-Matching und ruft dann in Millisekunden Antworten aus einer Milvus-gestützten Wissensdatenbank ab. Es unterstützt sowohl vollständig automatisierte als auch durch Menschen unterstützte Antworten — und verbessert direkt die Lead-Konversion bei Händlern.
Intelligente Suche. Semantisches Retrieval über Text, Bilder und Videos auf der Plattform.
ChatBI und interne Tools. Natürlichsprachliche Abfragen über Geschäftsdaten für Analysten sowie Assistenten für Operations, HR und Content-Generierung — alles auf derselben Milvus-Schicht.
Über diese Services hinweg verarbeitet Milvus täglich Hunderte Millionen Datenaktualisierungen, während die Latenz im Millisekundenbereich bleibt und die Cluster-Performance stabil gehalten wird.
Was als Nächstes kommt
Kosten senken und den Stack vereinfachen. Derzeit betreibt BitAuto separate Systeme für Batch-Datenverarbeitung und Echtzeit-Streaming, die durch externe Message Queues verbunden sind. Das Team plant, diese in weniger Komponenten zu konsolidieren, um den Overhead zu reduzieren. Außerdem wird eine Hot-Cold-Datentrennung eingeführt — dabei werden selten abgerufene Daten auf günstigeren Medien gespeichert, um die Speicherkosten zu halbieren.
Suchergebnisse präziser machen. Das Team wird ein gewichtetes hybrides Ranking über Sparse- und Dense-Vektoren hinweg hinzufügen, damit gesteuert werden kann, wie stark sich jede Abfrage auf Keyword-Matching im Vergleich zu semantischem Verständnis stützt.
Eine automatisierte Feedbackschleife aufbauen. BitAuto wird KI-Agenten einsetzen, die die Qualität der Live-Abrufe überwachen, schlechte Ergebnisse automatisch markieren und diese Fälle in den Indexaufbau und die Ranking-Regeln zurückführen — sodass sich das System selbst verbessert, statt auf manuelle Feinabstimmung zu warten.
Für BitAuto hat sich Milvus von „einer Suchkomponente“ zu einer zentralen KI-Infrastruktur entwickelt. Neue Assistenten, Kundenservice-Abläufe und interne Tools werden alle darauf aufgebaut.


