Aufbau von RAG-Pipelines für Echtzeitdaten mit Cloudera und Milvus
Im aktuellen Zeitalter von Big Data erzeugen Unternehmen enorme Datenmengen, die effizient verarbeitet werden müssen, um ihr volles Potenzial zu erschließen. Daher gehören die Durchführung groß angelegter Datenverarbeitung, die Anpassungsfähigkeit an verschiedene Cloud-Umgebungen sowie die Fähigkeit, Entscheidungen in Echtzeit zu treffen und dabei Data Governance und Sicherheit aufrechtzuerhalten, zu den wesentlichen Funktionen, die in einer Datenmanagementplattform erforderlich sind.
Bei einem kürzlich von Zilliz veranstalteten Unstructured Data Meetup sprach Chris Burns, Principal Gen AI Engineer bei Cloudera, darüber, wie Cloudera – eine Enterprise-Data-Cloud-Plattform zur Verwaltung des End-to-End-Datenlebenszyklus – genutzt werden kann, um effiziente Retrieval Augmented Generation (RAG)-Pipelines aufzubauen. Er erläuterte die Bedeutung von RAG für Anwendungen mit Large Language Models (LLM), die Herausforderungen, denen man begegnen kann, und die Schritte zum Aufbau einer RAG-Pipeline mit Milvus, um bessere Daten zu generieren.
In diesem Blog fassen wir seine wichtigsten Punkte zusammen und untersuchen, wie Cloudera in Milvus integriert werden kann, um einige der zentralen Funktionalitäten von RAG-Pipelines effektiv umzusetzen. Weitere Details finden Sie auf YouTube in der vollständigen Aufzeichnung seines Vortrags.
Ein kurzer Überblick über Cloudera
Cloudera ist eine umfassende Enterprise-Datenplattform, die den gesamten Datenlebenszyklus unterstützt – von der Aufnahme und Speicherung bis hin zur Analyse. Sie bietet eine schnelle Bereitstellung und die Möglichkeit, KI in großem Maßstab mit reduzierten Kosten und Risiken in jedem Rechenzentrum oder auf jeder Cloud-Plattform aufzubauen. Mit Funktionen wie Echtzeit-Streaming, Data Engineering, Multi-Temperature Storage und Anpassungsfähigkeit an multimodale Daten ist Cloudera eine hervorragende Plattform für den Aufbau flexibler Gen AI-Anwendungen für Unternehmen.
Aufbau von RAG-Pipelines mit Echtzeitdaten
Retrieval Augmented Generation (RAG) ist eine Technik zur Steigerung der Leistung von LLMs, indem Informationen aus externen Quellen wie Datenbanken abgerufen werden. Diese zusätzlichen Informationen (Lake) ermöglichen es LLMs, kontextuell relevantere und genauere Antworten zu erzeugen, die auf spezifischem Domänenwissen basieren, das ansonsten in den Trainingsdaten des LLM nicht verfügbar war. Es ist eine effiziente Technik, um LLMs für spezifische Anwendungsfälle nutzbar zu machen, ohne sie jedes Mal neu trainieren zu müssen. Die Herausforderung besteht darin, eine Pipeline aufzubauen, die die Komplexität der Aufnahme, Verarbeitung und Abfrage von Echtzeitdaten bewältigen kann und gleichzeitig niedrige Latenz und Kosten sowie hohe Genauigkeit gewährleistet. Hier kommen die robuste Infrastruktur von Cloudera und Tools wie Milvus ins Spiel, die Private AI und Echtzeitabfrage unterstützen.
Bevor wir uns die fertigen Workflows für RAG-Pipelines ansehen, sollten wir zunächst einige der beteiligten theoretischen Konzepte verstehen.
Wie geht man beim Aufbau von RAG-Pipelines vor?
Der Aufbau einer RAG-Pipeline umfasst mehrere Schritte, vom Verständnis der grundlegenden Theorie bis hin zur Implementierung fortgeschrittener Konfigurationen. Schlüsseln wir es auf:
RAG - 101 - Häufige Herausforderungen und grundlegende Einrichtung
Chris beginnt damit, über die häufige Herausforderung der Halluzination zu sprechen, unter der die meisten LLMs leiden. Hier formuliert er es jedoch um und nennt es Konfabulation und Fabrikation. Konfabulation bezieht sich darauf, dass LLMs fehlende Informationen mit plausibel klingenden, aber falschen Informationen ergänzen, während Fabrikation das Erstellen eines imaginären Textes bezeichnet. Um diese Probleme zu bewältigen, erwähnt Chris, dass das kontextuelle Verständnis der Anfrage sehr wichtig ist, zusätzlich zur Durchführung von mehrstufigem maschinellem Schlussfolgern und zur Aufrechterhaltung der Rückverfolgbarkeit, um den Fluss von Daten oder Objekten nachzuverfolgen.
Nachdem wir über die Herausforderungen gesprochen haben, lassen Sie uns den grundlegenden Aufbau eines RAG-Systems verstehen. Im Kern besteht eine RAG-Pipeline aus zwei Hauptkomponenten:
Retriever: Diese Komponente durchsucht einen großen Datensatz (z. B. eine Vektordatenbank), um relevante Informationen basierend auf einer Anfrage zu finden.
Generator: Diese Komponente verwendet die abgerufenen Informationen, um eine kohärente und kontextuell genaue Antwort zu generieren.
Der Retriever und der Generator arbeiten zusammen, um sicherzustellen, dass das System genaue und relevante Antworten liefert, selbst bei komplexen Anfragen. Wie Chris jedoch betont, erfordert ein erfolgreiches ML-Projekt nicht nur gute Daten, sondern auch Domänenexpertise. Daten müssen relevant und konsistent sein, und Domänenwissen ist entscheidend, um Relevanz sicherzustellen.
RAG - 201 - Statistische Analyse und hybride Inferenz
Statistische Analyse - Um die Leistung von RAG-Pipelines zu verbessern, kann eine statistische Analyse helfen, die Antwortqualität der LLMs besser zu verstehen.
Die Verwendung einer Konfusionsmatrix im Kontext von Gen AI könnte helfen, die Erfolgsraten des Retrievals quantitativ zu verstehen.
Die Vermenschlichung der LLM-Antworten, indem Antworten verweigert werden, wenn sie nicht bekannt sind, anstatt falsche Aussagen zu erfinden, könnte den Antworten eine menschlichere Note verleihen.
- Hybride Inferenz - Hybride Inferenz ist eine großartige Technik für Unternehmen, um Leistung und Sicherheit innerhalb von Budgetbeschränkungen auszubalancieren. Sie verwendet eine Kombination aus vordefinierten Regeln und Machine-Learning-Modellen, um Randfälle zu behandeln und die Antwortqualität zu verbessern. Ziel ist es hier, Ergebnisse auf verschiedenen Plattformen reproduzieren zu können; daher sollte der Fokus auf Architekturen liegen, die agil, skalierbar und für Echtzeit geeignet sind.
RAG - 301 - Überlegungen zum Datentyp
Um die Daten effizient in der Vektordatenbank zu speichern, ist es unerlässlich, geeignete Partitionierungs- und Chunking-Strategien zu entwickeln. Partitionierung bezieht sich auf die Aufteilung der Daten in kleinere, leichter handhabbare Einheiten, während Chunking das Bündeln dieser Partitionen basierend auf dem Inhalt der Elemente bezeichnet. Um beides zu bestimmen, ist die Kenntnis des Datentyps entscheidend.
Arten von Chunking-Strategien
Arten von Chunking-Strategien
Daten in Form von Romanen, technischen Dokumenten oder E-Mails werden als dichte Daten klassifiziert, d. h. sie haben sehr wenige Nullwerte, was bedeutet, dass jedes Element wichtig ist. Andererseits werden Daten wie Sensordaten, kategoriale Daten oder Graphdaten als dünn besetzte Daten bezeichnet, da sie viele Nullwerte aufweisen.
Ein Beispiel für dichte und dünn besetzte Daten
Ein Beispiel für dichte und dünn besetzte Daten
Der Datentyp, der in einer RAG-Pipeline verwendet wird, kann einen erheblichen Einfluss auf deren Leistung und Genauigkeit haben. Verschiedene Datentypen wie Text, Bilder und Audio erfordern unterschiedliche Verarbeitungs- und Retrieval-Techniken. Das Verständnis des verwendeten Datentyps und der effektiven Verarbeitung ist entscheidend für den Aufbau einer erfolgreichen RAG-Pipeline.
RAG - 401 - Milvus Vector DB-Konfigurationen
Milvus ist eine Open-Source-Vektordatenbank, die für die effiziente Speicherung, Indexierung und Suche hochdimensionaler Vektor-Embeddings entwickelt wurde. Sie ist für die Ähnlichkeitssuche optimiert und eignet sich daher ideal für Empfehlungssysteme, Bildabrufanwendungen und RAG-Pipelines. Milvus kann große Datensätze unterstützen und ist hochgradig skalierbar, wodurch es sich für Unternehmensanwendungen eignet. Die folgenden Funktionen von Milvus sind besonders nützlich für RAG-Pipelines -
- Hybride Suche - Milvus unterstützt hybride Suche (Multi-Vektor-Suche), bei der gleichzeitige Abfragen über mehrere Vektorfelder innerhalb desselben Datensatzes durchgeführt und die Ergebnisse mit Re-Ranking-Strategien integriert werden. Dies bietet die Flexibilität, dass die einzelnen Vektoren unterschiedliche Embedding-Modelle, Datenverarbeitungstechniken oder beliebige andere benutzerdefinierte Operationen verwenden können.
Hybride Suche mit Milvus
Hybride Suche mit Milvus
- Multi-Trip-Abfragen - Milvus unterstützt fortgeschrittene Retrieval-Techniken für komplexe Abfragen, die den Kompromiss zwischen verschiedenen Suchmethoden ausbalancieren können, die in der hybriden Suche verwendet werden. Durch Multi-Trip-Abfragen kann eine Abfrage iterativ über mehrere Schritte verarbeitet werden, um die Suchergebnisse zu verbessern. Nach der anfänglichen Ausführung der Abfrage können weitere Abfragen basierend auf Reranking (Sortieren der Ergebnisse nach einer Prioritätsreihenfolge), Abfrageerweiterung (Erweitern um ein bestimmtes Attribut) oder Filterung ausgeführt werden.
Multi-Trip-Abfragen mit Milvus
Multi-Trip-Abfragen mit Milvus
Schließlich unterstützt Milvus die Verwendung von Gatekeepern, also Filtern, die auf den Retrieval-Prozess angewendet werden können, um sicherzustellen, dass nur relevante Informationen abgerufen werden, bevor sie an den Generator weitergegeben werden. Dies kann besonders nützlich in Echtzeit-RAG-Pipelines sein, in denen das Datenvolumen sehr groß sein kann und es wichtig ist, irrelevante Informationen schnell herauszufiltern.
Integration von Milvus und Cloudera für RAG-Pipelines
Cloudera bietet fertige Workflows für RAG, die von Apache NiFi 2.0 (einem Dataflow-System auf Basis von Flow-Based Programming) unterstützt werden. Die Workflows unterstützen verschiedene Datenspeicher, Modelle und Vektordatenbanken, einschließlich Milvus. Werfen wir einen kurzen Blick auf einige davon.
- S3 zu Milvus - Der erste Schritt in RAG besteht darin, die Daten aus der Quelle zu sammeln, sie vorzuverarbeiten, in Embeddings umzuwandeln und in einer Vektordatenbank zu speichern.
Data-to-VectorDB-Workflow
Data-to-VectorDB-Workflow
Beispielsweise nimmt dieser Cloudera-Workflow PDF-Dokumente aus S3, vektorisiert sie mithilfe eines huggingface-Modells und schreibt die Ergebnisse in Milvus. Alle Datenverarbeitungsschritte wie Partitionierung und Chunking können einfach durch Ziehen, Ablegen und Ausführen relevanter Connectors durchgeführt werden.
S3-zu-Milvus-Workflow von Cloudera
S3-zu-Milvus-Workflow von Cloudera
- RAG Query Milvus - Der zweite Schritt in RAG besteht darin, die Abfrage als Eingabe zu nehmen, sie in Embeddings umzuwandeln und anschließend eine Ähnlichkeitssuche mit den bereits gespeicherten Embeddings in der Vektordatenbank durchzuführen. Die Daten, deren Embeddings dem Abfrage-Embedding am nächsten liegen, werden abgerufen. Diese Informationen dienen als zusätzlicher Kontext für das LLM, um die Antwort zu generieren. Cloudera bietet einen fertigen Workflow für die Abfrage von Milvus für RAG.
RAG Query Milvus-Workflow von Cloudera
RAG Query Milvus-Workflow von Cloudera
Fazit
In diesem Blog haben wir darüber gesprochen, wie Sie mit Cloudera Real-time-RAG-Pipelines aufbauen können, basierend auf dem Vortrag von Chris Burns beim Unstructured Data Meetup. Da Unternehmen sich weiterentwickeln und von Tag zu Tag größer werden, benötigen wir fortschrittliche Lösungen, um effizient Wert aus der riesigen Menge an Informationen zu gewinnen. Durch Data-Lifecycle-Management-Plattformen wie Cloudera können Gen-AI-Anwendungen mit minimalem Aufwand problemlos für Unternehmen entwickelt werden. Darüber hinaus bietet die Integration von Milvus mit Cloudera zusammen ein robustes Framework für den Aufbau von RAG-Pipelines.
Chris begann damit, über die häufigen Herausforderungen zu sprechen, mit denen LLMs konfrontiert sind, wie etwa Konfabulation und Fabrikation, sowie über Möglichkeiten, diese zu bewältigen. Darüber hinaus betonte er die Bedeutung der Durchführung statistischer Analysen und hybrider Inferenz, um die Performance von RAG-Pipelines zu verbessern. Milvus ist eine großartige Vektordatenbank für den Use Case von RAG, da sie hybride Inferenz, Multi-Trip-Abfragen und Gatekeeper unterstützt, um präzise, kontextbewusste Antworten zu gewährleisten und gleichzeitig die Sicherheit aufrechtzuerhalten.
Weiterlesen

Zilliz Cloud Now Available in AWS Asia Pacific (Seoul)
Zilliz Cloud is now available in AWS Seoul — low-latency vector search, in-country data residency, and one-step migration for Korean AI teams. 31 regions across 5 clouds.

Introducing Functions and Model Inference on Zilliz Cloud: Automatic Embedding and Reranking with Hosted Models
Zilliz Cloud Functions auto-generate embeddings via OpenAI, Voyage AI, Cohere, or Zilliz Hosted Models. Built-in reranking — just insert text and search.

How to Use Anthropic MCP Server with Milvus
MCP + Milvus: Streamline AI agent development with standardized data access, eliminating integration hassles while enhancing context and flexibility.


