🤖

Multimodaler RAG-Workflow

Jun 27, 2025

Überblick

Diese Vorlesung erklärt, wie man einen multimodalen RAG (Retrieval-Augmented Generation) Agenten baut, der Text, Bilder und Tabellen aus komplexen PDFs in großem Maßstab extrahieren, analysieren und indexieren kann, um fortgeschrittene Chat-Interaktionen über die Daten zu ermöglichen.

Workflow des multimodalen RAG-Agenten

  • Verwenden Sie OCR (Optical Character Recognition), um sowohl Text als auch Medienanmerkungen aus PDFs zu extrahieren, einschließlich gescannter und maschinenlesbarer Dokumente.
  • Die OCR-API von Mistral liefert Markdown, Arrays extrahierter Bilder/Diagramme und verwendet ein KI-Vision-Modell zur Bildanalyse und -anmerkung.
  • Speichern Sie die OCR-Ausgabe (Text, Bilder, Anmerkungen) auf einem Backend-Server, wobei Supabase für die Speicherung verwendet wird.
  • Zerlegen Sie den Text und annotieren Sie Bilder, dann betten Sie jeden Abschnitt mit einem Einbettungsmodell in Vektorform ein.
  • Speichern Sie Vektoren in einer Vektordatenbank für eine effiziente Abfrage während der Suche.

Datenaufnahme & Verarbeitung

  • Rufen Sie PDFs per HTTP-Anfrage ab und speichern Sie deren Binärdaten.
  • Richten Sie ein Konto bei Mistral für den Zugriff auf OCR- und Annotations-APIs ein.
  • Laden Sie PDFs mit API-Schlüssel-Authentifizierung hoch und erhalten Sie eine signierte URL für sicheren Zugriff.
  • Holen Sie OCR-Ergebnisse im JSON-Format ab und stellen Sie sicher, dass Bildanmerkungen im Anfrageschema enthalten sind.
  • Verwenden Sie JavaScript-Code, um Bildanmerkungen direkt in Markdown einzufügen und so den Kontext zu verbessern.

Speicherung & Einbettung der Daten

  • Teilen Sie die OCR-Ausgabe in Seiten auf und verarbeiten Sie Bilder einzeln.
  • Laden Sie extrahierte Bilder in den Supabase-Speicher hoch, sodass die Bilder über öffentliche URLs zugänglich sind.
  • Ersetzen Sie Inline-Bildverweise im Markdown durch Supabase-URLs und deren entsprechende KI-generierte Anmerkungen.
  • Verwenden Sie einen Text-Splitter, um Markdown zu zerlegen, und betten Sie es mit einem Einbettungsmodell (z. B. OpenAIs text-embedding-3-small) ein.
  • Laden Sie Text-/Bild-Einbettungen als Vektoren in die Supabase-Vektordatenbank hoch.

Abfrage der Daten

  • Integrieren Sie einen KI-Agenten (z. B. OpenAI GPT-4.1), der den Vektorspeicher mit eingebetteten Benutzeranfragen abfragt.
  • Rufen Sie die relevantesten Vektorübereinstimmungen ab, einschließlich Bild-URLs und Anmerkungen, um Antworten zu erstellen.
  • Konfigurieren Sie das LLM mit einem System-Prompt: Antworten Sie nur mit abgerufenen Daten; antworten Sie mit "Ich weiß es nicht", wenn nicht genügend Informationen gefunden werden.
  • Aktivieren Sie die Chat-Oberfläche für die Benutzerinteraktion, rufen Sie Daten ab und zeigen Sie relevante Bilder inline an.

Erweiterte Funktionen & Optimierung

  • Erweitern Sie den Workflow mit fortschrittlicheren Datenaufnahme-Pipelines und hybriden RAG-Strategien.
  • Verwenden Sie Aggregations- und Zusammenführungslogik, um Bilddateien, Anmerkungen und Markdown für einen robusten Kontext zu kombinieren.
  • Ermöglichen Sie öffentlichen oder privaten Zugriff auf Supabase-Speicher-Buckets je nach Projektanforderungen.

Schlüsselbegriffe & Definitionen

  • RAG (Retrieval-Augmented Generation) — Eine Methode, bei der ein LLM Kontext aus einer Datenbank abruft, um die Relevanz der Antworten zu verbessern.
  • OCR (Optical Character Recognition) — Technologie zur Extraktion von Text- und Bilddaten aus gescannten Dokumenten.
  • Embedding — Umwandlung von Daten (Text/Bilder) in Vektor-Darstellungen für Ähnlichkeitssuchen in Datenbanken.
  • Vektordatenbank — Eine Datenbank, die für das Speichern und Abfragen hochdimensionaler Vektoren optimiert ist.
  • Supabase — Eine Open-Source-Backend-Plattform, die Speicher- und Vektordatenbankfunktionen bereitstellt.

To-Do / Nächste Schritte

  • Richten Sie Mistral- und Supabase-Konten ein und erhalten Sie die erforderlichen API-Schlüssel.
  • Konfigurieren Sie den Datenaufnahme- und Annotations-Workflow wie demonstriert.
  • Erkunden Sie weitere fortgeschrittene RAG-Pipelines und prüfen Sie verwandte Blueprints in den Community-Ressourcen.