PDF zur KI-Fähigkeit in 3 Minuten: So machen Sie jedes Fachbuch zum produktiven Team-Tool
von Denis Shokhirev, Enterprise AI Architect aus Erlangen. Bei DennisCraft AI Studio implementiere ich produktive KI-Agenten für DACH-B2B-Kunden – auf Basis von Claude, Supabase, n8n, Doppler und selbstgehostetem Postgres. Letzten Monat stand ich bei einem B2B-Fintech vor der Frage: „Wie kann mein Team ISO-Standards direkt mit KI abfragen und produktiv anwenden?“ Hier das erprobte Setup aus dem laufenden Betrieb. Warum PDF-Wissen als KI-Tool bereitstellen? Im Mittelstand lagern zentrale Betri
von Denis Shokhirev, Enterprise AI Architect aus Erlangen. Bei DennisCraft AI Studio implementiere ich produktive KI-Agenten für DACH-B2B-Kunden – auf Basis von Claude, Supabase, n8n, Doppler und selbstgehostetem Postgres. Letzten Monat stand ich bei einem B2B-Fintech vor der Frage: „Wie kann mein Team ISO-Standards direkt mit KI abfragen und produktiv anwenden?“ Hier das erprobte Setup aus dem laufenden Betrieb.
Warum PDF-Wissen als KI-Tool bereitstellen?
Im Mittelstand lagern zentrale Betriebsanleitungen, Normen und Verfahren oft als statische PDF-Dateien – meist unangetastet auf Fileservern oder in Confluence. Im Ernstfall sucht niemand 350 Seiten durch. KI-Agenten machen aus jedem PDF ein produktiv nutzbares Team-Tool: relevante Passagen auf Knopfdruck, konsistent und nachvollziehbar, DSGVO-/BSI-konform.
Technischer Stack mit Compliance-Fokus
Stack und Muster
Ich setze auf Claude Code für LLM, Supabase für Datei- und Vektorspeicher, n8n zur Orchestrierung, Doppler für Geheimnisse, Postgres (inkl. pgvector) zur Indizierung. Das Muster: Retrieval-Augmented Generation (RAG) – PDF wird gechunkt, indiziert und über API mit Claude abgefragt.
Compliance und Sicherheit
99% aller dokumentierten LLM-Sicherheitslücken entstehen durch unkontrollierte Datei-Uploads und Parsing (OWASP Top-10 für LLMs, 2024). Ich lasse nie Roh-PDFs direkt in die Pipeline. Jede Datei wird mit geprüften Libraries (PyPDF2 oder pdfminer.six) vorverarbeitet und auf schädliche Anhänge/Skripte geprüft. Zugriff auf Supabase/Postgres erfolgt streng rollenbasiert.
In 3 Minuten: Von der PDF zum produktiven KI-Skill
1. Upload und Parsing der PDF
Das PDF landet in Supabase Storage. Für das Auslesen nutze ich PyPDF2 – auch komplexe Layouts werden zuverlässig erfasst. Der extrahierte Text wird in Postgres gespeichert.
import PyPDF2
from supabase import create_client
supabase_url = "IHR_URL"
supabase_key = "IHR_KEY"
client = create_client(supabase_url, supabase_key)
with open("iso27001.pdf", "rb") as f:
reader = PyPDF2.PdfReader(f)
text = ""
for page in reader.pages:
text += page.extract_text()
client.table("raw_docs").insert({"filename": "iso27001.pdf", "content": text}).execute()
2. Chunking für effektives Retrieval
LLMs wie Claude verarbeiten lange Kontexte ineffizient. Ich splitte Text in 1.000–1.500 Zeichen große Chunks mit ca. 200–300 Zeichen Überlappung – per langchain oder Python-Funktion.
def split_text(text, chunk_size=1200, overlap=250):
chunks = []
start = 0
while start < len(text):
end = min(start + chunk_size, len(text))
chunks.append(text[start:end])
start = end - overlap
return chunks
3. Indizierung in Postgres mit Embeddings
Jeder Chunk wird in einer Tabelle docs_chunks gespeichert – mit ID, Seitenzahl, Quellverweis. Die semantische Suche erfolgt per pgvector (offizielles Postgres-Plugin für Vektordaten). Embeddings generiere ich via OpenAI oder Claude.
import openai
import psycopg2
conn = psycopg2.connect("dbname=ai_docs user=postgres password=GEHEIM")
cur = conn.cursor()
def get_embedding(text):
return openai.Embedding.create(
input=text,
model="text-embedding-ada-002"
)["data"][0]["embedding"]
for chunk in split_text(text):
emb = get_embedding(chunk)
cur.execute(
"INSERT INTO docs_chunks (chunk, embedding) VALUES (%s, %s)",
(chunk, emb)
)
conn.commit()
4. RAG-Integration mit Claude
n8n reagiert auf Benutzeranfragen. Die Workflow-Logik sucht per pgvector die relevantesten Chunks, baut daraus einen Prompt mit Quellenangaben und sendet diesen an Claude Code (Anthropic SDK).
| Schritt | Tool | Dauer (Min.) |
|---|---|---|
| PDF-Upload | Supabase Storage | 0,5 |
| Parsing | PyPDF2 | 0,5 |
| Chunking | Python/langchain | 1 |
| Indizierung | pgvector | 0,5 |
| n8n-Integration | Anthropic SDK | 0,5 |
Erfahrung aus dem Produktivbetrieb: Typische Bruchstellen
1. Verlust von Formeln und Layout
PyPDF2 übersieht teils Formeln oder Spaltenlayouts. Bei kritischen Normen (z. B. EN ISO 13849-1) prüfe ich Chunks automatisiert auf Vollständigkeit – z. B. per Linecount und Schlüsselwortabgleich.
2. Phishing-Gefahr durch PDF-Anhänge
Ich hatte PDFs mit eingebetteten JavaScript-Anteilen. Ohne Filter droht Prompt Injection. Jede Datei wird mit pdfminer.six gescannt und Anhänge/Skripte entfernt.
3. Prompt-Größenlimits
Claude Code akzeptiert bis zu 200.000 Token Kontext (Anthropic Doku). Nur die relevantesten Chunks kommen in den Prompt – sonst sinkt die RAG-Qualität.
FAQ
Können Sie Open-Source-LLMs statt Claude nutzen?
Ja, aber Qualität und Wartbarkeit im Compliance-Kontext sind Stand 2024 klar schwächer. Für PoCs sinnvoll, für produktiven Einsatz mit DSGVO/BSI-Anforderungen nicht mein Weg.
Wie wird der Stack vor Datenlecks geschützt?
Keine API-Schlüssel im Code – alles zentral via Doppler. Supabase/Postgres nur per Service-Accounts, kein globaler Vollzugriff. Zugriff wird protokolliert.
Wie lange dauert der gesamte Prozess bei 400 Seiten?
Upload und Parsing: 2 Minuten. Chunking und Indizierung: weitere 2–3 Minuten. Manuelle Chunk-Prüfung: bis zu 10 Minuten nach Bedarf.
Wie gehen Sie mit PDF-Updates (neue Versionen) um?
In Supabase wird die Datei ersetzt, Parsing/Embedding neu ausgeführt, Versionen in separater Tabelle docs_versions dokumentiert.
Was ist mit Dokumenten auf Deutsch oder Französisch?
Claude Code versteht mehrere Sprachen. Jeder Chunk erhält ein Sprach-Tag, Suchanfragen werden sprachsensitiv gefiltert.
In welchem Pipeline-Schritt treten bei Ihnen die meisten Fehler im Produktivsystem auf – Parsing, Chunking oder Indizierung? Ich freue mich auf echte Erfahrungswerte. Ich biete einen kostenfreien 30-min Stack-Check für DACH-Teams mit reguliertem KI-Einsatz an. Kontaktieren Sie mich auf LinkedIn oder schreiben Sie an @ger_dennis_ai.
Turn your process into an AI system
Fixed price. Production quality. DACH B2B focus.