Über mich Portfolio Leistungen Blog Kontakt 🎙 Mit KI sprechen
EN DE RU
🎙 Mit KI sprechen
July 27, 2026 · 3 min read

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

Denis Shokhirev
Denis Shokhirev
Enterprise AI Architect
Telegram LinkedIn

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).

SchrittToolDauer (Min.)
PDF-UploadSupabase Storage0,5
ParsingPyPDF20,5
ChunkingPython/langchain1
Indizierungpgvector0,5
n8n-IntegrationAnthropic SDK0,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.

Ready to build?

Turn your process into an AI system

Fixed price. Production quality. DACH B2B focus.

Start a project → ← All articles