Prompt für LLM-Extraktion nach JSON mit Schema, Validierung und Retries
Baue eine verlässliche Pipeline, die Freitext per LLM in JSON überführt: JSON Schema, Prompt mit Null-Regeln, Beispiele, Validierungscode mit Retries und Testfälle. Entwickelt für ChatGPT, Claude und Gemini. Er enthält 4 anpassbare Variablen und lässt sich kostenlos mit einem Klick kopieren.
Experte · Code · Redaktionelle Prüfung ausstehend
Prompt
Du bist LLM-Engineer mit Schwerpunkt auf strukturierter Datenextraktion für Produktivsysteme.
Kontext:
- Art des Eingabedokuments: {{dokument}}
- Zu extrahierende Felder (Name, Typ, Pflicht oder nicht): {{felder}}
- Sprache und Validierungsbibliothek: {{sprache}}
- Echtes Eingabebeispiel (anonymisiert):
```
{{beispiel}}
```
Liefere:
1. Ein vollständiges JSON Schema mit Typen, Formaten (Datumsangaben nach ISO 8601, Beträge als Zahl mit Währung in eigenem Feld), Enums und Pflichtfeldern.
2. Einen System-Prompt für die Extraktion mit klaren Regeln: nur gültiges JSON zurückgeben, null verwenden, wenn ein Wert nicht vorkommt (nie ableiten), Eigennamen nicht normalisieren, Umgang mit mehreren Kandidatenwerten und mehrdeutigem Text.
3. Zwei Ein-/Ausgabebeispiele (Few-Shot), eines davon mit fehlenden Feldern.
4. Code in {{sprache}}, der das Modell aufruft, strukturierte Ausgabe oder JSON-Modus aktiviert, falls der Anbieter das bietet, gegen das Schema validiert und höchstens zweimal mit der Fehlermeldung erneut anfragt.
5. Ein optionales Feld für Konfidenz oder Beleg (wörtliches Zitat aus dem Text) pro Wert und wann es sich lohnt.
6. Zehn Testfälle: unvollständige Dokumente, verschiedene Datumsformate, gemischte Sprachen, widersprüchliche Werte und bösartige Anweisungen im Text.
7. Wie die Qualität gemessen wird: Genauigkeit pro Feld gegen einen von Hand gelabelten Datensatz.
Einschränkungen:
- Erfinde keine API-Parameter: Hängt eine Option vom Anbieter ab, markiere sie mit [PRÜFEN in der offiziellen Doku].
- Das Modell darf nie ein Feld ohne Beleg im Text füllen.
- Sind die Felder mehrdeutig oder fehlt das Beispiel, frag mich zuerst.
Format: nummerierte Abschnitte mit Codeblöcken in JSON und {{sprache}}.So verwenden Sie ihn
Füge ein echtes, anonymisiertes Dokument ein und definiere jedes Feld genau. Führe vor der Stapelverarbeitung die Testfälle aus und vergleiche mit 20 bis 50 von Hand gelabelten Dokumenten.
Anwendungsbeispiel
Dokument: Lieferantenrechnungen, aus PDF in Text umgewandelt · Felder: Rechnungsnummer, Datum, USt-IdNr. des Ausstellers, Nettobetrag, MwSt., Bruttobetrag · Sprache: Python mit Pydantic.
Beispielergebnis
4. Code mit Validierung und Wiederholungen
from enum import Enum
from pydantic import BaseModel, Field, ValidationError
class Renovierungsart(str, Enum): # endgültige Werte: [AUSFÜLLEN]
bad = "bad"
kueche = "kueche"
komplett = "komplett"
sonstiges = "sonstiges"
class Anfrage(BaseModel):
name: str
telefon: str | None = None
stadt: str | None = None
renovierungsart: Renovierungsart | None = None
max_budget_eur: float | None = Field(default=None, ge=0)
def extrahieren(text: str, max_versuche: int = 2) -> Anfrage:
nachrichten = [{"role": "user", "content": text}]
for _ in range(max_versuche + 1):
# JSON-Modus / Structured Output je nach Anbieter: [PRÜFEN in der offiziellen Doku]
roh = modell_aufrufen(SYSTEM_PROMPT, nachrichten)
try:
return Anfrage.model_validate_json(roh)
except ValidationError as fehler:
nachrichten += [
{"role": "assistant", "content": roh},
{"role": "user", "content": f"Ungültiges JSON: {fehler}. Gib nur das korrigierte JSON zurück."},
]
raise ValueError("Das Modell hat kein gültiges JSON geliefert")
Erwartete Ausgabe für Ihr Beispiel:
{"name": "Jana", "telefon": "0151 0000000", "stadt": "Leipzig",
"renovierungsart": "bad", "max_budget_eur": 8000}
„Etwa 8.000“ ist eine Schätzung: Mit dem optionalen Belegfeld würden wir das wörtliche Zitat speichern, damit ein Mensch entscheidet, ob es als Maximum gilt…
Wichtige Fakten
- Kategorie
- Programmierung & Entwicklung · KI-Agenten
- Ausgabetyp
- Code
- Niveau
- Experte
- Entwickelt für
- ChatGPT, Claude und Gemini
- Verifiziert in
- Redaktionelle Prüfung ausstehend
- Variablen
- Dokumenttyp, Zu extrahierende Felder, Sprache und Validierung und Eingabebeispiel
- Sprache
- Deutsch
- Preis
- Kostenlos, ohne Anmeldung
- Aktualisiert
- 07.11.2026
Häufig gestellte Fragen
Warum null statt den Wert vom Modell ableiten zu lassen?
Weil ein erfundener, plausibel aussehender Wert gefährlicher ist als eine Lücke. Mit null erkennst du unvollständige Dokumente und leitest sie an eine manuelle Prüfung weiter.
Reicht der JSON-Modus des Anbieters?
Er garantiert wohlgeformtes JSON, aber weder korrekte Werte noch die Einhaltung deiner Geschäftsregeln. Behalte Schema-Validierung und Testfälle bei.
Wofür ist dieser Prompt gedacht?
Baue eine verlässliche Pipeline, die Freitext per LLM in JSON überführt: JSON Schema, Prompt mit Null-Regeln, Beispiele, Validierungscode mit Retries und Testfälle.
Mit welchen KI-Tools funktioniert er?
Er ist für ChatGPT, Claude und Gemini entwickelt. Wir haben ihn in diesen Tools noch nicht überprüft, daher können die Ergebnisse variieren.
Wie passe ich den Prompt an?
Klicken Sie auf „Anpassen“ und füllen Sie die Variablen aus (Dokumenttyp, Zu extrahierende Felder, Sprache und Validierung und Eingabebeispiel). Der Text wird sofort aktualisiert und lässt sich anschließend mit einem Klick kopieren. Die Werte werden nur in Ihrem Browser gespeichert.
Brauche ich Erfahrung, um ihn zu verwenden?
Er ist für Experten: Er richtet sich an Personen mit Erfahrung im Thema, die das Ergebnis beurteilen und anpassen können.
Ist dieser Prompt kostenlos?
Ja. Jeder Prompt von HomeCasa Prompts ist kostenlos, ohne Anmeldung und ohne Abonnement. Sie können ihn auch in beruflichen Projekten verwenden.
Kann ich der KI-Ausgabe vertrauen?
Betrachten Sie sie als hochwertigen Entwurf: Prüfen Sie Daten, Zahlen und wichtige Aussagen immer, bevor Sie etwas veröffentlichen oder Entscheidungen treffen.