RAG in Produktion: Vom PoC zum Enterprise-System

RAG in Produktion: Vom PoC zum Enterprise-System

Foto von Zdeněk Macháček auf Unsplash

Der Sprung vom RAG-Prototyp zum produktiven System ist größer als viele erwarten. In diesem Artikel teile ich meine Erfahrungen aus dem Aufbau eines RAG-Systems für einen pharmazeutischen Fachverlag – mit über 135 Fachbüchern und etwa 2.000 Fachartikeln als Wissensbasis.

Die Ausgangssituation

Ein Fachverlag im pharmazeutischen Bereich stand vor einer klassischen Herausforderung: Jahrzehnte an wertvollem Fachwissen, verteilt über verschiedene Publikationsformate, sollten durch eine KI-gestützte Suche zugänglich gemacht werden.

Die Anforderungen:

  • 135 Fachbücher (primär PDF)
  • ~2.000 Fachartikel (XML, JSON, HTML)
  • Viele komplexe Tabellen mit pharmazeutischen Daten
  • Ziel: 5.000-10.000 Anfragen pro Tag
  • Antwortzeit unter 15 Sekunden

Was als überschaubares Projekt begann, entwickelte sich zu einer Lektion in Enterprise-RAG-Architektur.

Architektur-Entscheidungen

Der Tech-Stack

Nach Evaluation verschiedener Optionen entschieden wir uns für:

KomponenteTechnologieBegründung
Vector StoreElasticsearchBestehende Expertise, Hybrid-Suche möglich
EmbeddingsOpenAIQualität, einfache Integration
LLMGPT-4Fachsprachliche Kompetenz
InfrastrukturAWS (EC2, später managed)Skalierbarkeit

Die erste Architektur: Docker auf EC2

Unsere initiale Architektur sah so aus:

Das Problem: Die GPU-Instance für Embeddings lief permanent – auch wenn keine Dokumente verarbeitet wurden. Bei aktuellen GPU-Preisen ein erheblicher Kostenfaktor.

Die optimierte Architektur

Nach den ersten Monaten migrierten wir zu:

Die Vorteile:

  • Elastic Cloud statt selbst gehosteter Elasticsearch: Weniger Ops-Aufwand, automatische Skalierung
  • On-Demand Ingestion: Embedding-Pipeline läuft nur bei Bedarf, nicht 24/7
  • OpenAI API für Embeddings: Keine eigene GPU-Infrastruktur nötig

Multi-Format-Verarbeitung: Die unterschätzte Komplexität

Das Format-Chaos

Unser Dokumentenkorpus bestand aus:

FormatQuelleHerausforderung
PDFFachbücherLayout-Erkennung, Tabellen, Grafiken
XMLArtikel-ExportStrukturierte aber tiefe Verschachtelung
JSONAPI-ExportsUnterschiedliche Schemas
HTMLWeb-InhalteInkonsistente Strukturen

Chunking-Strategie: One Size Fits None

Die wichtigste Erkenntnis: Unterschiedliche Inhaltstypen brauchen unterschiedliche Chunking-Strategien.

Für Fließtext (Bücher, Artikel):

Strategie: Semantisches Chunking
- Chunk-Größe: 500-800 Tokens
- Overlap: 100 Tokens
- Trennung an Absatzgrenzen

Für strukturierte Daten (XML, JSON):

Strategie: Strukturerhaltend
- Chunk an logischen Einheiten (Kapitel, Abschnitte)
- Metadaten als Kontext mitführen
- Hierarchie bewahren

Für Tabellen:

Strategie: Große Chunks
- Tabellen als Ganzes oder in logischen Teilen
- HTML-Format für Strukturerhalt
- Zusätzlicher Beschreibungstext für Kontext

Tabellen: Der unterschätzte Gegner

Das Problem

Pharmazeutische Fachliteratur strotzt vor Tabellen: Wirkstoff-Interaktionen, Dosierungstabellen, Laborwerte. Diese Tabellen enthalten oft die wertvollsten Informationen – aber sie sind für RAG-Systeme notorisch schwer zu handhaben.

Typische Probleme:

  • PDF-Extraktion zerstört die Tabellenstruktur
  • Zellinhalte werden falsch zugeordnet
  • Spalten- und Zeilenbeziehungen gehen verloren

Unsere Lösung: LLM-gestützte Tabellenerkennung

Wir entwickelten einen mehrstufigen Prozess:

Schritt 1: Layout-Analyse Identifikation von Tabellenbereichen auf der Seite.

Schritt 2: LLM-Strukturierung Ein spezialisierter Prompt extrahiert die Tabellenstruktur:

Analysiere diese Tabelle und konvertiere sie in valides HTML.
Behalte alle Spalten- und Zeilenbeziehungen bei.
Füge eine kurze Beschreibung des Tabelleninhalts hinzu.

Schritt 3: Große Chunks Tabellen werden als große Chunks (bis 2.000 Tokens) gespeichert, um den Kontext zu erhalten.

Die Ergebnisse

MetrikVor LLM-ExtraktionNach LLM-Extraktion
Strukturerhalt~40%~90%
Korrekte Zellzuordnung~50%~85%
Retrievalqualität für Tabellenfragenniedrighoch

Lesson Learned: Die Investition in hochwertige Tabellen-Extraktion zahlt sich aus. Bei fachspezifischen Inhalten sind Tabellen oft die primäre Informationsquelle.

Latenz: Die zwei Welten

Das Latenz-Profil

Unsere Messungen zeigten ein interessantes Muster:

PhaseLatenzAnteil
Embedding der Anfrage~100ms1%
Vektorsuche~200ms2%
Reranking~700ms7%
LLM-Generierung~10.000ms90%

Die Erkenntnis: 90% der Latenz entstehen beim LLM-Aufruf, nicht beim Retrieval.

Optimierungsstrategien

1. Streaming-Responses

Statt: Warten auf komplette Antwort (10+ Sekunden)
Besser: Streaming ab dem ersten Token (~500ms Time-to-First-Token)

2. Kontext-Optimierung

Weniger ist mehr:
- Top-3 statt Top-10 Dokumente
- Präzise Chunks statt langer Passagen
- Reduktion des Context Windows = schnellere Antwort

3. Caching-Strategien

- Embedding-Cache für häufige Anfragen
- Response-Cache für identische Queries
- Dokumenten-Snippets vorberechnen

Kostenoptimierung: Die harten Lektionen

Der Kostenschock

Nach dem ersten Produktionsmonat die ernüchternde Rechnung:

PostenMonatliche Kosten
GPU-Instance (24/7)Signifikant
OpenAI API (Embeddings)Moderat
OpenAI API (LLM)Hoch
ElasticsearchModerat

Die Optimierungen

1. Von 24/7 GPU zu On-Demand

Die größte Ersparnis: Ingestion-Pipeline nur bei Bedarf.

Vorher: GPU-Instance läuft permanent
Nachher: Lambda-Trigger bei neuen Dokumenten

Ersparnis: >70% der Compute-Kosten

2. Managed Services vs. Self-Hosted

AspektSelf-HostedManaged
Initiale KostenNiedrigerHöher
Ops-AufwandHochMinimal
SkalierungManuellAutomatisch
Gesamtkosten (1 Jahr)Oft höherOft niedriger

3. Embedding-Kosten reduzieren

- Batch-Processing für neue Dokumente
- Inkrementelle Updates statt vollständiger Re-Indexierung
- Embedding-Cache für häufige Anfragen

Monitoring: Was wirklich zählt

Die wichtigsten Metriken

Qualitätsmetriken:

  • Retrieval-Präzision (relevante Dokumente in Top-K?)
  • Answer-Relevanz (beantwortet die Antwort die Frage?)
  • Halluzinationsrate (werden nicht belegte Fakten genannt?)

Performance-Metriken:

  • Time-to-First-Token (User Experience)
  • End-to-End-Latenz
  • Throughput (Anfragen pro Sekunde)

Business-Metriken:

  • Nutzerzufriedenheit
  • Erfolgreiche Antworten pro Tag
  • Eskalationen an menschliche Experten

Alerting-Setup

Kritisch:
- Latenz > 20 Sekunden
- Fehlerrate > 5%
- Elasticsearch nicht erreichbar

Warnung:
- Latenz > 15 Sekunden
- Retrieval-Qualität sinkt
- Ungewöhnliche Anfragemuster

Lessons Learned

Was wir anders machen würden

1. Früher auf Managed Services setzen Der Self-Hosted-Ansatz war lehrreich, aber der Ops-Aufwand stand in keinem Verhältnis zum Nutzen.

2. Mehr Zeit für Dokumentenaufbereitung Die Qualität der Eingabedaten bestimmt maßgeblich die Qualität der Antworten. Investition hier zahlt sich doppelt aus.

3. Tabellen von Anfang an priorisieren Wir haben Tabellen zunächst als "Sonderfall" behandelt. Sie waren aber für viele Anwendungsfälle der Kerninhalt.

4. Realistische Latenz-Erwartungen setzen 10+ Sekunden Antwortzeit sind bei komplexen LLM-Generierungen normal. Lieber Streaming implementieren als unrealistische Optimierungen versuchen.

Was gut funktioniert hat

  • Hybrid-Suche (Vektor + Keyword) verbesserte die Retrieval-Qualität signifikant
  • Chunk-Overlap reduzierte Kontextverlust an Chunk-Grenzen
  • Strenge Quellenangaben erhöhten das Nutzervertrauen
  • Feedback-Loop mit Domain-Experten verbesserte kontinuierlich die Qualität

Fazit

Der Weg vom RAG-PoC zum Produktionssystem erfordert Entscheidungen in vielen Dimensionen: Infrastruktur, Datenverarbeitung, Kostenoptimierung und Monitoring. Die wichtigste Erkenntnis: Es gibt keine One-Size-Fits-All-Lösung. Jeder Dokumentenkorpus, jede Domäne und jede Nutzerbasis bringt eigene Herausforderungen mit.

Was zählt, ist ein iterativer Ansatz: Starten Sie mit einer soliden Grundarchitektur, messen Sie konsequent, und optimieren Sie dort, wo es den größten Impact hat. Und unterschätzen Sie nie die Komplexität der Dokumentenaufbereitung – sie ist oft der Schlüssel zum Erfolg.


Sie planen ein RAG-System für Ihre Fachinhalte? Kontaktieren Sie mich für eine unverbindliche Beratung zu Architektur und Implementierung.

RAG in Produktion: Vom PoC zum Enterprise-System - Evangelos Dimitriadis