RAG & Vektor-Datenbanken in n8n

Wie Sie mit n8n intelligente Dokumentensuche, KI-Assistenten und semantische Search bauen – mit Pinecone, Supabase & Qdrant.

Von Vektor-Embeddings bis Hybrid Search – praktisch erklärt

Das Problem mit klassischer Suche

Warum Sie semantische Suche brauchen

Sie haben 10.000 PDF-Dokumente (Angebote, Verträge, Handbücher). Ein Kunde fragt: "Wie war nochmal die Kündigungsfrist bei Projekt XY?"

  • Dateinamen-Suche: Findet nichts, wenn "Kündigungsfrist" nicht im Dateinamen steht
  • Volltext-Suche (SQL LIKE): Findet nur exakte Wortübereinstimmungen, nicht ähnliche Begriffe
  • ChatGPT: Kennt Ihre internen Dokumente nicht, kann nur raten

Sie brauchen semantische Suche – die Bedeutung versteht, nicht nur Wörter matched.

Was ist RAG (Retrieval-Augmented Generation)?

Externe Wissensdatenbanken mit LLMs kombinieren

RAG ist eine Technik, die externe Wissensdatenbanken mit Large Language Models (LLMs) kombiniert.

Ohne RAG

ChatGPT kennt nur sein Trainingsdaten-Wissen (bis 2023). Ihre internen Dokumente? Keine Ahnung.

Mit RAG

Bevor ChatGPT antwortet, sucht es zuerst in Ihrer Vektor-Datenbank nach relevanten Dokumenten und nutzt diese als Kontext.

Der RAG-Prozess in 4 Schritten

1

Embedding erstellen (beim Indexieren)

Was passiert, wenn Sie ein Dokument hochladen?

Dokument (PDF, Vertrag, Handbuch) wird in kleine Chunks zerlegt (z.B. 500 Zeichen)
Jeder Chunk wird in einen Vektor umgewandelt (z.B. 1536 Zahlen) via OpenAI Embeddings
Kündigungsfrist beträgt 3 Monate → [0.234, -0.891, 0.543, ..., 0.123] (1536 Zahlen)
Der Original-Key existiert nur im RAM während der Verschlüsselung
2

Vektoren speichern

Vektoren werden in Vektor-Datenbank gespeichert

Vektoren landen in Vektor-Datenbank (Pinecone, Supabase Vector, Qdrant)
Metadata wird mitgespeichert: Dateiname, Datum, Kunde, Seite
Optimiert für schnelle Ähnlichkeitssuche (Cosine Similarity)
3

User-Frage embedden (beim Abfragen)

User-Frage wird ebenfalls vektorisiert

User fragt: Wie ist die Kündigungsfrist bei Projekt XY?
Diese Frage wird ebenfalls in einen Vektor umgewandelt (gleiche OpenAI API)
Ermöglicht mathematischen Vergleich mit gespeicherten Dokumenten
4

Ähnlichkeitssuche & LLM-Antwort

Die relevantesten Chunks werden an ChatGPT gegeben

Vektor-DB findet die semantisch ähnlichsten Chunks (via Cosine Similarity)
Diese Chunks werden als Kontext an ChatGPT gegeben
Prompt: Basierend auf diesen Dokumenten, beantworte die Frage...
ChatGPT antwortet mit Quellenangabe

Warum Vektoren statt SQL?

Vektoren repräsentieren Bedeutung im mathematischen Raum.

SQL-Suche

"Kündigungsfrist" findet nur exakt "Kündigungsfrist"

Findet NICHT: "Vertragslaufzeit", "Beendigungsklausel"

Vektor-Suche

"Kündigungsfrist" findet auch ähnliche Konzepte

Findet AUCH: "3-monatige Kündigungsklausel", "Vertragslaufzeit"

Vektor-Datenbanken: Pinecone vs Supabase vs Qdrant

n8n unterstützt alle drei – aber welche ist die richtige für Sie?

KriteriumPineconeSupabase VectorQdrant
TypFully Managed, Vektor-spezialisiertPostgreSQL + pgvector ExtensionOpen Source, Self-Hosted oder Cloud
HauptvorteilSchnellste Performance bei großen DatenmengenSQL + Vektoren in EINER DatenbankHöchste Flexibilität, Self-Hosting
Hybrid SearchJa (Dense + Sparse Vectors)Ja (Vector + Full-Text via tsvector)Ja (Payload Filtering)
Kosten (2025)Ab $25/Monat ($15 Credits inkl.)Ab $25/Monat ($10 Compute Credits inkl.)Kostenlos (Self-Hosted) oder Cloud ab $25/Monat
n8n SupportOffizieller NodeOffizieller Node (limitiert, Custom API empfohlen)Offizieller Node
SkalierungMillionen Vektoren, automatischGut bis ~1M Vektoren (dann langsamer)Unbegrenzt (Self-Hosted)
Metadata-FilterJa (per Namespace + Metadata)Ja (PostgreSQL WHERE clauses)Ja (Payload Filters)
Best forEnterprise, große Datenmengen, Zero OpsKMUs, die schon PostgreSQL nutzenEntwickler, Self-Hosting, spezielle Use Cases

Pinecone

Wählen Sie Pinecone für Zero Maintenance, große Datenmengen und beste Performance

  • Sie >100k Dokumente haben
  • Sie Zero Maintenance wollen
  • Performance kritisch ist
  • Fire and forget Lösung

Supabase

Wählen Sie Supabase für SQL + Vektoren in einer Datenbank und bestes Preis-Leistungs-Verhältnis

  • Sie bereits PostgreSQL nutzen
  • Sie SQL + Vektoren mischen wollen
  • Sie <1M Dokumente haben
  • Best Value für KMUs

Qdrant

Wählen Sie Qdrant für maximale Kontrolle, DSGVO-konformes Self-Hosting und Zero-Cost-Option

  • Sie Self-Hosting wollen (DSGVO)
  • Spezielle Filtering-Logik benötigt wird
  • High-Performance On-Premise gefragt ist
  • Kosten = 0 (bei Self-Hosting)

Hybrid Search: Das Beste aus beiden Welten

Semantische Ähnlichkeit + exakte Matches kombinieren

Problem: Vektor-Suche ist toll für semantische Ähnlichkeit, aber schlecht bei exakten Namen/IDs.

Nur Vektor-Suche

User fragt: "Zeig mir Vertrag V-2024-42"

Vektor-Suche findet alle Verträge, aber nicht speziell V-2024-42, weil Vektoren keine exakten IDs matchen.

Hybrid Search

User fragt: "Zeig mir Vertrag V-2024-42"

Hybrid Search kombiniert Vektor-Ähnlichkeit + Keyword-Match auf "V-2024-42" → findet exakt den Vertrag.

Wie Hybrid Search funktioniert

1

Dense Vector Search (Semantisch)

User-Frage wird in Vektor umgewandelt → findet semantisch ähnliche Chunks

Beispiel: Kündigung matched auch Vertragsbeendigung, Austritt
Gut für konzeptuelle Suche
Schlecht für exakte IDs/Namen
2

Sparse Vector Search / Full-Text (Keywords)

Gleichzeitig: Klassische Keyword-Suche auf exakte Begriffe

Beispiel: V-2024-42 findet exakt diese ID
Gut für exakte Matches
Schlecht für semantische Variation
3

Ranking & Kombination

Beide Ergebnisse werden kombiniert

z.B. 70% Vektor-Score + 30% Keyword-Score
Top-10 Chunks mit bester Gesamt-Relevanz
Werden als Kontext an LLM gegeben

Implementierung in n8n

Pinecone: Hybrid Search via Sparse + Dense Vectors (dot product metric)

Supabase: Vektor-Suche (pgvector) + PostgreSQL Full-Text Search (tsvector) kombinieren

Qdrant: Payload Filters für Metadata-basierte Keyword-Suche + Vektor-Similarity

Praktische Implementierung in n8n

Workflow-Aufbau für RAG-System

Phase 1: Dokumente Indexieren

Einmalig + bei Updates

  1. 1. Trigger: Webhook oder Schedule (z.B. täglich 2 Uhr nachts)
  2. 2. Dokumente laden: Google Drive Node, Notion Node, oder E-Mail-Anhänge
  3. 3. PDF zu Text: Extract from File Node (PDF OCR) oder externe API
  4. 4. Text chunken: Code Node – zerlegt in 500-1000 Zeichen Chunks mit Overlap
  5. 5. Embeddings erstellen: OpenAI Embeddings Node (text-embedding-3-small)
  6. 6. In Vektor-DB speichern: Pinecone/Supabase/Qdrant Vector Store Node

Phase 2: User-Fragen beantworten

Echtzeit

  1. 1. Trigger: Webhook (z.B. von Chatbot), E-Mail, oder Slack Message
  2. 2. User-Frage embedden: OpenAI Embeddings Node (gleiche wie beim Indexieren!)
  3. 3. Vektor-Suche: Supabase/Pinecone/Qdrant Node – findet Top-5 ähnlichste Chunks
  4. 4. Kontext zusammenbauen: Code Node – kombiniert die 5 Chunks
  5. 5. LLM-Anfrage: OpenAI Chat Model Node mit Kontext
  6. 6. Antwort zurückgeben: Webhook Response, Slack Message, oder E-Mail

Code-Beispiel: Text Chunking (n8n Code Node)

// Input: $input.item.json.text (vollständiger Dokumenten-Text)
const text = $input.item.json.text;
const chunkSize = 500; // Zeichen pro Chunk
const overlap = 50; // Überlappung zwischen Chunks

const chunks = [];
for (let i = 0; i < text.length; i += chunkSize - overlap) {
  const chunk = text.slice(i, i + chunkSize);
  chunks.push({
    text: chunk,
    metadata: {
      filename: $input.item.json.filename,
      chunkIndex: chunks.length,
      customer: $input.item.json.customer
    }
  });
}

return chunks.map(chunk => ({ json: chunk }));

Praktische Use Cases für KMUs

Reale Anwendungsbeispiele

Intelligente Vertrags-Suche

5.000 Verträge durchsuchbar in Sekunden statt Minuten

  • Frage: Zeig mir alle Verträge mit automatischer Verlängerung
  • Vektor-Suche findet semantisch passende Klauseln
  • Keyword-Filter: nur Kunde X, nur 2024
  • Zeitersparnis: 10 Min → 30 Sekunden

Support-Chatbot mit interner Knowledge Base

Slack-Bot beantwortet Fragen basierend auf Notion-Dokumentation

  • Alle Notion-Pages werden indexiert
  • Mitarbeiter fragen direkt im Slack
  • Mit Quellenangabe: Laut Handbuch Seite X...
  • Entlastet Support um ~40%

E-Mail-Archiv-Suche

Finden Sie relevante E-Mails in Sekunden statt Stunden

  • n8n Trigger: Neue E-Mail → OCR Anhänge → Embedding → Speichern
  • Suche: Zeig mir alle E-Mails zu Rechnung 2024-42
  • Findet E-Mail + alle relevanten Thread-Antworten
  • Zeitersparnis: 15 Min Suche → 10 Sekunden

Produkt-Handbuch-Chatbot

Website-Chatbot beantwortet Fragen aus 500-seitigem Handbuch

  • Handbuch wird in Vektor-DB indexiert
  • User fragt: Wie konfiguriere ich Feature X?
  • Bot findet relevante Handbuch-Abschnitte → antwortet
  • Support-Tickets um ~30% reduziert

Best Practices & Fallstricke

Was funktioniert und was nicht

Do's

  • Chunk-Size testen: 500-1000 Zeichen mit 10-20% Overlap funktioniert meist gut
  • Metadata nutzen: Speichern Sie Dateiname, Datum, Kunde, Seite – für besseres Filtering
  • Hybrid Search verwenden: Kombiniert semantisch + exakte Matches = zuverlässiger
  • Quellen angeben: LLM soll Dateiname + Seite in Antwort nennen (Vertrauen!)
  • Inkrementelle Updates: Nur neue/geänderte Dokumente neu indexieren (nicht alles)

Don'ts

  • Zu große Chunks: >2000 Zeichen = Kontext geht verloren, zu allgemein
  • Zu kleine Chunks: <200 Zeichen = zu fragmentiert, fehlt Zusammenhang
  • Kein Overlap: Wichtige Infos können an Chunk-Grenzen zerschnitten werden
  • Schlechte OCR: Bei gescannten PDFs unbedingt gute OCR nutzen (Unstructured.io, Textract)
  • Keine Duplikate-Prüfung: Gleiches Dokument 5x indexiert = schlechte Ergebnisse

Brauchen Sie Hilfe bei der Implementierung?

Wir bauen RAG-Systeme mit n8n für Sie – von einfacher Dokumentensuche bis komplexen AI-Assistenten.