Multimodales RAG: Über Text hinaus für intelligentere KI
Im letzten anderthalb Jahr ist Retrieval Augmented Generation (RAG) zu einer leistungsstarken Technik geworden, um Antworten von Large Language Models (LLM) mit relevanten Kontextinformationen zu verbessern und das Risiko von Halluzinationen erheblich zu reduzieren—also Fällen, in denen LLMs Antworten generieren, die plausibel klingen, aber faktisch falsch sind.
Daten aus der Praxis gehen jedoch oft weit über Text hinaus—wir begegnen auch Bildern, Videos, Tabellen und verschiedenen Dokumentformaten. Genau hier wird Multimodal RAG entscheidend, da es die Integration verschiedener Datentypen ermöglicht, um KI-Modellen noch zuverlässigeres Wissen bereitzustellen.
In diesem Beitrag sprechen wir über:
- Die Entwicklung von RAG, von traditionellem textbasiertem RAG zu Multimodal RAG
- Wie die Milvus-Vektordatenbank die Speicherung und Suche verschiedener Datentypen ermöglicht
- Die Rolle von NVIDIA GPUs bei der Beschleunigung dieser komplexen Operationen
- Die potenziellen Anwendungen und Vorteile dieser Technologie
Ob Sie ein KI-Enthusiast sind oder ein Entwickler, der RAG zu seinen Projekten hinzufügen möchte—dieser Beitrag bietet wertvolle Einblicke in eine Technologie, die die Fähigkeiten von RAG-Systemen neu definieren wird.
Die Entwicklung von RAG: Von textzentriert zu multimodal
Traditionelles RAG
Textbasiertes RAG verbessert LLM-Antworten, indem relevanter textbasierter Kontext aus einer Wissensbasis abgerufen wird. Nachfolgend finden Sie einen Überblick über einen typischen RAG-Workflow:
- Der Benutzer sendet eine Textabfrage an das System.
- Die Abfrage wird in ein Vektor-Embedding umgewandelt, das anschließend verwendet wird, um eine Vektordatenbank , wie Milvus, zu durchsuchen, in der Textpassagen als Embeddings gespeichert sind. Die Vektordatenbank ruft Passagen ab, die basierend auf Vektorähnlichkeit eng zur Abfrage passen.
- Die relevanten Textpassagen werden dem LLM als ergänzender Kontext übergeben und bereichern dessen Verständnis der Abfrage.
- Das LLM verarbeitet die Abfrage zusammen mit dem bereitgestellten Kontext und generiert eine fundiertere und genauere Antwort.
Figure 1- How RAG works.png
Abbildung: Wie RAG funktioniert
Traditionelles RAG war äußerst effektiv bei der Verbesserung der LLM-Ausgabe, bleibt jedoch auf Textdaten beschränkt. In vielen realen Anwendungen geht Wissen weit über Text hinaus—es umfasst Bilder, Diagramme und andere Modalitäten, die entscheidenden Kontext liefern.
Multimodal RAG: Über Text hinaus erweitern
Multimodal RAG adressiert die oben genannte Einschränkung, indem es die Nutzung verschiedener Datentypen ermöglicht und LLMs besseren Kontext bereitstellt.
Ein wichtiger Akteur in dieser Entwicklung ist LLaVA (Large Language and Vision Assistant), ein multimodales Modell, das darauf ausgelegt ist, sowohl Sprache (Text) als auch Vision (Bilder) zu integrieren, um die Fähigkeiten großer Sprachmodelle (LLMs) zu verbessern. LLaVA extrahiert aussagekräftige Informationen aus visuellen Inhalten und wandelt sie in textuelle Beschreibungen um, die von Embedding-Modellen verarbeitet und in Vektordatenbanken wie Milvus gespeichert werden können.
Nachfolgend sehen Sie ein Beispiel dafür, wie LlaVA mit Embedding-Modellen und Vektordatenbanken funktioniert.
Figure: An example of what LlaVa can produce when asked about an image
Abbildung: Ein Beispiel dafür, was LlaVa erzeugen kann, wenn es nach einem Bild gefragt wird
Schlüsselkomponenten einer Multimodal-RAG-Pipeline
Um diverse Datentypen zu verarbeiten, wandelt eine Multimodal-RAG-Pipeline alle Modalitäten in ein einheitliches Format um, typischerweise Text. Diese Umwandlung wird in der Regel mithilfe spezialisierter Vision-Language-Modelle (VLMs) erreicht, die allgemeine Bilder und grafische Daten wie Diagramme verarbeiten. VLMs extrahieren aussagekräftige Informationen aus diesen nicht-textuellen Quellen und transformieren sie in textbasierte Einbettungen, die von großen Sprachmodellen (LLMs) zur Kontextgenerierung genutzt werden können.
Zusätzlich zu VLMs stellen mehrere andere kritische Komponenten ebenfalls sicher, dass Multimodal-RAG-Systeme effizient und skalierbar arbeiten. Nachfolgend sind die Schlüsselkomponenten einer solchen Pipeline aufgeführt, zusammen mit einigen wichtigen Beispielen, die veranschaulichen, wie diese Komponenten implementiert werden.
Vision-Language-Modelle (VLMs): Diese Modelle verarbeiten und konvertieren visuelle Inhalte—wie Bilder, Diagramme und Grafiken—in textuelle oder eingebettete Formate, die LLMs nutzen können.
- Beispiel: Neva 22B (NVIDIA): Eine feinabgestimmte Variante von LLaVA, optimiert für allgemeines Bildverständnis, die in der Lage ist, visuelle Eingaben zu interpretieren und textuelle Beschreibungen daraus zu generieren.
- Beispiel: DePlot (Google): Spezialisiert auf die Verarbeitung und Analyse grafischer Daten wie Diagramme und Plots, wodurch es ideal für technischere visuelle Inhalte ist.
Vektordatenbanken: Vektordatenbanken sind eine entscheidende Komponente eines multimodalen RAG-Systems, die Vektoreinbettungen für verschiedene Datentypen speichert und abruft, einschließlich Text, Bilder und andere Modalitäten. Sie führen Ähnlichkeitssuchen durch und stellen sicher, dass die relevantesten Informationen für das LLM schnell zugänglich sind.
Beispiel: Milvus ist ein wichtiges Beispiel für Vektordatenbanken, die NVIDIA-GPU-beschleunigte Vektorsuche unterstützen und außergewöhnliche Leistung für groß angelegte multimodale Daten bieten.
- GPU-Beschleunigung: Milvus nutzt NVIDIA-GPUs, um Vektorindizierung und Abfragen zu beschleunigen.
- Skalierbarkeit: Es verarbeitet Ähnlichkeitssuchen im Milliardenmaßstab und eignet sich damit für Anwendungen mit hohem Datenvolumen.
- Effizienz: Die Kombination aus GPU-Indizierung und -Abfragen gewährleistet maximalen Durchsatz und Echtzeitantworten bei minimaler Latenz.
Texteinbettungsmodelle: Diese Modelle wandeln textuelle Eingaben in Vektoreinbettungen um, die für Ähnlichkeitssuchen in einem RAG-System unerlässlich sind.
- Beispiel: NV Embed: Ein GPU-beschleunigtes Einbettungsmodell, das Text effizient in Einbettungen für den schnellen Abruf in Vektordatenbanken transformiert und erhebliche Geschwindigkeitsvorteile gegenüber CPU-basierten Lösungen bietet.
Große Sprachmodelle (LLMs): LLMs bilden den Kern des RAG-Systems und generieren Antworten auf Grundlage der Abfrage und der abgerufenen Kontextdaten. Diese Modelle werden häufig für bestimmte Aufgaben feinabgestimmt, um die Antwortgenauigkeit zu verbessern.
- Beispiel: Llama 3.1 (70B Instruct Variant): Von Meta entwickelt, ist diese Version für Aufgaben des Befolgens von Anweisungen feinabgestimmt und verbessert ihre Fähigkeit, präzise, aufgabenorientierte Antworten zu generieren.
Orchestrierungs-Frameworks: Diese Frameworks verwalten den Datenfluss über die gesamte Pipeline hinweg—von der Verarbeitung der ursprünglichen Abfrage über den Abruf der relevanten multimodalen Inhalte bis hin zur Generierung der endgültigen Antwort.
- Beispiel: LlamaIndex: Ein Framework, das die Abfrageverarbeitung, den Kontextabruf und die Antwortgenerierung orchestriert und eine reibungslose Koordination zwischen allen Komponenten des multimodalen RAG-Systems sicherstellt
Abbildung: Eine multimodale RAG-Architektur (Credit NVIDIA)
Abbildung: Eine multimodale RAG-Architektur (Credit NVIDIA)
Das obige Diagramm veranschaulicht die Architektur einer beispielhaften Multimodal RAG-Pipeline, die von NVIDIA vorgestellt wurde und auf mehreren Schlüsselkomponenten basiert: Llama 3 dient als grundlegendes großes Sprachmodell (LLM), wobei LlamaIndex den gesamten Workflow orchestriert. NV Embed übernimmt das Text-Embedding, während Milvus als Vektordatenbank für schnelle Abfragen fungiert. NeVA 22B verarbeitet Bilder, und DePlot verwaltet Diagramme und Plots, sodass das System eine Vielzahl von Datenformaten verarbeiten kann.
Weitere Informationen zum Aufbau eines multimodalen RAG finden Sie in den folgenden Ressourcen:
- Video: Building Multimodal AI RAG with LlamaIndex, NVIDIA NIM, and Milvus | LLM App Development
- Tutorial: Build a Multimodal RAG with Gemini, BGE-M3, Milvus and LangChain
- Tutorial: Build Better Multimodal RAG Pipelines with FiftyOne, LlamaIndex, and Milvus
- Tutorial: Multimodal RAG locally with CLIP and Llama3
Hauptmerkmale von Multimodal RAG-Systemen
Dieses Multimodal RAG-System nutzt viele fortschrittliche Funktionen, die es ermöglichen, unterschiedliche Datentypen zu verarbeiten und zu verstehen:
- Multi-Format-Verarbeitung: Dieses multimodale RAG-System verarbeitet eine breite Palette von Dokumenttypen, darunter Textdateien, PDFs, PowerPoint-Präsentationen und Bilder. Dadurch ist es für verschiedene Zwecke wie Forschung, Business Intelligence usw. nützlich.
- Bildanalyse über Vision-Language-Modelle: Durch die Integration von Modellen wie NeVA 22B kann das System visuelle Inhalte wie Bilder und Diagramme analysieren und beschreiben.
- Effiziente Indexierung und Abfrage: Durch die Nutzung von Milvus in Kombination mit NVIDIA-GPUs bietet das System blitzschnelle Vektorindexierung und Ähnlichkeitssuche. Diese Fähigkeit ermöglicht es, riesige Datenmengen effizient zu verarbeiten, wodurch es ideal für Anwendungen ist, die eine Echtzeitabfrage multimodaler Informationen erfordern.
Durch die Kombination dieser leistungsstarken Funktionen liefert dieses Multimodal RAG-System umfassende Lösungen zur Gewinnung von Erkenntnissen aus unterschiedlichen Datentypen. Ob Sie mit Text, Bildern oder einer Kombination aus beidem arbeiten, das System ermöglicht es Ihnen, verschiedene Formate zu nutzen, um Verständnis und Entscheidungsfindung zu verbessern.
Fazit: Weiterentwicklung KI-gestützten Inhaltsverständnisses
In diesem Blogbeitrag haben wir behandelt, wie man eine multimodale RAG-Anwendung mit NVIDIA-GPUs und Milvus erstellt. Milvus spielt hier mit seinen GPU-beschleunigten Vektorsuchfunktionen eine entscheidende Rolle und gewährleistet hohe Leistung und Skalierbarkeit. Wir ermutigen Sie, zu experimentieren, indem Sie sich das Notebook on Github ansehen und weiter erkunden.
Wir würden gerne hören, was Sie denken!
Wenn Ihnen dieser Blogbeitrag gefällt, würden wir uns sehr freuen, wenn Sie uns einen Stern auf GitHub geben könnten! Sie sind außerdem herzlich eingeladen, unserer Milvus-Community auf Discord beizutreten, um Ihre Erfahrungen zu teilen. Wenn Sie mehr erfahren möchten, sehen Sie sich unser Bootcamp repository auf GitHub an, um Beispiele dafür zu finden, wie man Multimodal RAG-Apps mit Milvus erstellt.
Weitere Ressourcen
- Top 10 multimodale KI-Modelle des Jahres 2024
- Evaluieren Sie Ihr multimodales RAG mit Trulens
- Multimodale Embeddings mit FiftyOne und Milvus erkunden
- OpenAI CLIP erkunden: Die Zukunft des multimodalen KI-Lernens
- Generative-AI-Ressourcenhub | Zilliz
- Leistungsstarke KI-Modelle für Ihre GenAI-Apps | Zilliz
- Vektordatenbank-Vergleich
Weiterlesen

What Is a Vector Lakebase?
A Vector Lakebase is a unified, lake-native data architecture for AI that combines vector-database-grade serving with open lake storage, reusable lake-level indexes, and a shared semantic layer.

Introducing DeepSearcher: A Local Open Source Deep Research
In contrast to OpenAI’s Deep Research, this example ran locally, using only open-source models and tools like Milvus and LangChain.

Vector Databases vs. Hierarchical Databases
Use a vector database for AI-powered similarity search; use a hierarchical database for organizing data in parent-child relationships with efficient top-down access patterns.



