Milvus: Der Schlüssel zur RAG-Entwicklung – Effizienz verbessern, Kosten senken und Leistung steigern
Einführung
In meinem vorherigen Blog haben wir untersucht, wie Retrieval Augmented Generation (RAG) die Herausforderungen angeht, mit denen große Sprachmodelle (LLMs) konfrontiert sind, wie etwa Halluzinationen und der Bedarf an domänenspezifischen Informationen. Außerdem haben wir seine Rolle bei der Gewährleistung des Datenschutzes und der Ermöglichung des Informationsabrufs in Echtzeit hervorgehoben.
Im Zentrum eines grundlegenden RAG-Frameworks stehen zwei entscheidende Elemente: der Retriever und der Generator. Der Retriever, der von einer Vektordatenbank unterstützt wird, liefert kontextbezogene Informationen für Benutzeranfragen, während der Generator, der häufig von LLMs wie ChatGPT angetrieben wird, auf Grundlage dieses Kontexts endgültige Antworten erstellt. Das Verständnis dieser technischen Aspekte wird Ihnen helfen, die Feinheiten von RAG besser zu verstehen.
Da Entwickler die Grenzen von RAG-Anwendungen erweitern und sie in Produktionsumgebungen überführen, benötigen sie schnellere, hochwertigere und präzisere Antworten. Dies unterstreicht die entscheidende Bedeutung robuster Vektordatenbanken, um eine verbesserte Abrufeffizienz und -qualität zu ermöglichen.
Die neueste Version von Milvus stellt einen bemerkenswerten Fortschritt in der Vektordatenbanktechnologie dar, insbesondere bei der Verbesserung der RAG-Leistung. Dieser Beitrag wird auf die neuesten Funktionen von Milvus eingehen, seine Funktionalitäten hervorheben und veranschaulichen, warum es die erste Wahl für die Entwicklung erfolgreicher RAG-Anwendungen ist.
Optimierung der RAG-Entwicklung und -Validierung durch Integration mit beliebten Embedding- und Reranking-Modellen
Während ein grundlegendes RAG-Setup für Prototyping oder kleine Projekte ausreicht, genügt es nicht für produktionsreife Anwendungen. Wenn Entwickler zu komplexeren RAG-Apps übergehen, integrieren sie zusätzliche technische Komponenten in die Pipeline, was die Entwicklungskomplexität erhöht. Darüber hinaus schaffen die schnelle Weiterentwicklung und Parametervariationen bei RAG-bezogenen Technologien zusätzliche Hürden beim App-Aufbau, Fine-Tuning und bei der Validierung. Um diese Herausforderungen zu bewältigen, greifen viele RAG-Entwickler auf Frameworks oder Bibliotheken wie LangChain, LlamaIndex und DSPy zurück, die umfangreiche Funktionalitäten für eine optimierte Entwicklung und Validierung bieten.
Milvus ist eine spezialisierte Vektordatenbank für effiziente Datenspeicherung und -abfrage. In seiner neuesten Version integriert Milvus nahtlos gängige Embedding- und Reranking-Modelle und ermöglicht es Nutzern, Text problemlos in durchsuchbare Vektoren umzuwandeln und die abgerufenen Ergebnisse für präzisere Antworten neu zu ranken, ohne zusätzliche Embedding- und Reranking-Komponenten zur RAG-Pipeline hinzuzufügen. Dadurch optimiert diese Integration den gesamten RAG-Entwicklungs- und Validierungsprozess.
Milvus unterstützt derzeit eine Reihe beliebter Embeddings, darunter OpenAI Embedding API, sentence transformers, BGE-M3, BM25, SPLADE und Voyage AI.
| Integrierte Einbettungsmodelle | Vektortyp | API oder Open Source |
| OpenAI Embedding API | Dicht | API |
| sentence transformers | Dicht | Open Source |
| BM25 | Dünn besetzt | Open Source |
| SPLADE | Dünn besetzt | Open Source |
| BGE-M3 | Hybrid | Open Source |
| Voyage AI | Dicht | API |
Milvus unterstützt derzeit die folgenden Reranking-Modelle: BGE, Cross-encoder, Voyage AI und Cohere.
| Integrierte Reranking-Modelle | API oder Open Source |
| BGE rerankers | Open Source |
| Cross encoders | Open Source |
| Voyage AI rerankers | API |
| Cohere rerankers | API |
Wir werden in den kommenden Monaten weitere Modelle unterstützen. Bleiben Sie dran. Die Milvus-Dokumentation bietet detaillierte Anleitungen zur Nutzung dieser vortrainierten Einbettungsmodelle.
Verbesserung der Abrufqualität und des Abrufs multimodaler Daten mit Hybrid Search
Reale RAG-Anwendungen werden in vielfältigen Anwendungsfällen eingesetzt, die sich mit Text und multimodalen Daten wie Bildern, Videos und Audio befassen. Der Umgang mit umfangreichen Informationen erfordert eine Vektordatenbank, die Einbettungen über verschiedene Datentypen hinweg effizient speichern und abrufen kann, um multimodale Abfragen zu bedienen.
Milvus stellt sich dieser Aufgabe, indem es Unterstützung für mehrere Vektoren und ein Hybrid-Search-Framework bietet. Benutzer können mehrere Vektorfelder, bis zu 10, innerhalb einer einzigen Collection konsolidieren. Vektoren in diesen Feldern können verschiedene Aspekte oder Modalitäten von Daten darstellen, die mit derselben Entität zusammenhängen, und den Informationspool erheblich bereichern.
Abb. 1: Wie Milvus eine Hybrid Search durchführt
Diese Hybrid-Search-Fähigkeit und gemischte Reranking-Strategien bieten erhöhte Flexibilität beim Abrufen multimodaler und multidimensionaler Informationen. Sie erweist sich als unschätzbar wertvoll in Anwendungsfällen wie der Identifizierung der ähnlichsten Person in einer Vektorbibliothek anhand von Attributen wie Bildern, Stimme und Fingerabdrücken.
Darüber hinaus erweitert Milvus seine Hybrid Search zur Unterstützung von dünn besetzten Vektoren, die häufig für Out-of-Domain-Wissen und Keyword-Abruf verwendet werden. Diese Erweiterung ermöglicht einen gemischten Abruf von Keywords und Vektoreinbettungen, was zu präziseren Abrufresultaten führt und letztlich die Genauigkeit der endgültigen Antwortgenerierung in Ihrer RAG-Anwendung verbessert.
Verbesserung von Abrufgeschwindigkeit und -genauigkeit mit aktualisierter skalar-gefilterter Suche
In praktischen Anwendungen sind nicht alle Daten für die Vektorsuche geeignet. Nehmen wir zum Beispiel einen Chatbot, der sich auf den Bekleidungsbestand konzentriert. Neben Vektoren enthalten die Daten zahlreiche Attribute wie Farbe und Größe. Das Filtern solcher skalaren Daten vor oder nach der Vektorsuche erweist sich als effizienter und schneller, als sie in Vektoren umzuwandeln.
Milvus unterstützt skalar-gefilterte Suche und stärkt damit Abrufpräzision und -geschwindigkeit. Zu den jüngsten Upgrades dieser Funktion gehören:
Grouping Search Function: Diese Funktion nutzt die Aggregation skalarer Spalten, um verfeinerte, aggregierte Daten auf hoher Ebene bereitzustellen. Sie optimiert Suchen, insbesondere in Anwendungsfällen wie der Suche nach einer bestimmten Anzahl von Dokumenten, die mit einer Abfrage zusammenhängen.
Fuzzy Matching für skalare Spalten: Fuzzy-Abfragen für skalare Spalten umfassen nun Infix- und Suffix-Matching und heben die Suchqualität über das zuvor unterstützte Präfix-Matching hinaus.
Invertierter Index für beschleunigte Suchgeschwindigkeiten: Die Einführung des invertierten Index kann die Leistung in Reverse-Search-Anwendungsfällen um mehr als das Zehnfache steigern.
Abb. 2: Der invertierte Index verbessert die Suchgeschwindigkeiten um das 10-Fache
Diese Verbesserungen ermöglichen es RAG-Systemen, ihre Ansätze an spezifische Geschäftsanforderungen anzupassen. Beispielsweise können Nutzer juristische Dokumente effizient anhand von Falldaten durchsuchen oder relevante Nachrichtenberichte nach geografischem Standort filtern. Dieser multidimensionale Suchansatz verbessert die Präzision und Effizienz Ihrer RAG-Anwendung bei der Verarbeitung gezielter Abfragen.
Angebot kosteneffizienter RAG-Lösungen
Der Aufbau und die Pflege einer großen Wissensdatenbank für Ihre RAG-App können finanziell kostspielig sein, vor allem weil Datensätze weiterhin wachsen. Daher werden kosteneffektive Lösungen benötigt, die die Verwaltung großer Datenmengen erleichtern.
Milvus bietet als Open-Source-Vektordatenbank unter der Apache-2.0-Lizenz eine kosteneffektive Lösung, frei von Lizenzkosten. Die Suite leistungsstarker Funktionen steht ohne zusätzliche Kosten sofort zur Verfügung.
Darüber hinaus integriert Milvus Mmap, um den Speicherverbrauch zu minimieren und die Ressourcenzuweisung zu optimieren. Milvus geht noch einen Schritt weiter, indem es abgestufte Speicherfunktionen für kalte und heiße Daten einführt, die darauf ausgelegt sind, Daten mit unterschiedlichen Zugriffshäufigkeiten und Latenzanforderungen zu berücksichtigen. Milvus reduziert Speicherkosten, indem Daten strategisch auf verschiedenen Speichermedien wie RAM, NVMe, EBS und S3 platziert und Cloud-Speicherfunktionen genutzt werden. Intelligentes Caching und Data-Sharding-Techniken tragen während Abfragen weiter zur Ressourceneffizienz bei und ermöglichen es Milvus-gestützten RAG-Anwendungen, zu geringeren Kosten zu arbeiten, ohne die Leistung zu beeinträchtigen.
Abb. 3: Wie der abgestufte Speicheransatz für kalte und heiße Daten funktioniert
Dieser Ansatz minimiert die Anfangsinvestition und gewährleistet eine fortlaufende betriebliche Effizienz, wodurch Milvus eine ideale Wahl für kostenbewusste RAG-Implementierungen ist.
Zusammenfassung
Von der Integration mit beliebten Embedding-Modellen bis hin zu seinen Fähigkeiten zur multimodalen Datenabfrage und der verbesserten skalar gefilterten Suche hilft die Milvus-Vektordatenbank Entwicklern, schnellere, genauere und vielseitigere RAG-Anwendungen als je zuvor zu erstellen.
Zusätzlich bietet Milvus mit seiner Open-Source-Seele, leistungsstarken Funktionen und optimierten Speicherstrategien eine kosteneffektive Lösung für den Aufbau und die Pflege großer Wissensdatenbanken. Durch die Minimierung des Speicherverbrauchs, die Implementierung abgestufter Datenspeicherung und die Nutzung intelligenter Caching- und Data-Sharding-Techniken ermöglicht Milvus RAG-Anwendungen, effizient zu geringeren Kosten zu arbeiten, ohne Leistung einzubüßen.
Zusammenfassend transformiert Milvus die RAG-Entwicklung, indem es Entwicklern die Werkzeuge bereitstellt, um schnellere, genauere und kosteneffiziente Anwendungen zu erstellen. Mit Milvus sind die Möglichkeiten für RAG-Innovation endlos, und die Zukunft der Informationsabfrage ist heller denn je.
Weiterlesen

Introducing Zilliz MCP Server: Natural Language Access to Your Vector Database
Developers can easily manage and query vector databases with natural language via Zilliz MCP Server in AI-native environments.

The Great AI Agent Protocol Race: Function Calling vs. MCP vs. A2A
Compare Function Calling, MCP, and A2A protocols for AI agents. Learn which standard best fits your development needs and future-proof your applications.

OpenAI o1: What Developers Need to Know
In this article, we will talk about the o1 series from a developer's perspective, exploring how these models can be implemented for sophisticated use cases.



