Zum Hauptinhalt springen

Übersicht

Die promptbasierte Extraktion ermöglicht es Ihnen, mit Anweisungen in natürlicher Sprache strukturierte Daten aus Dokumenten mithilfe von LLMs zu extrahieren. Anstatt klassische Machine-Learning-Modelle zu trainieren, beschreiben Sie, welche Daten Sie extrahieren möchten und in welchem Format sie ausgegeben werden sollen, und das LLM übernimmt die Extraktion basierend auf Ihren Anweisungen. Was Sie erreichen werden:
  • Erstellen einer promptbasierten Extraktionsaktivität
  • Konfigurieren einer LLM-Verbindung
  • Schreiben effektiver Extraktions-Prompts
  • Definieren von Ausgabeformat und -struktur
  • Anwenden von Striktheitsgrad und Validierungsregeln
  • Testen und Verfeinern Ihrer Extraktion
Benötigte Zeit: 20–30 Minuten Anwendungsfälle:
  • Extraktion von Vendor-Informationen aus Rechnungen
  • Erfassung von Dokumentdaten auf Kopfzeilenebene
  • Verarbeitung halbstrukturierter Dokumente
  • Dokumente mit variablen Layouts

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Folgendes vorhanden ist:
  1. Zugriff auf ABBYY Vantage Advanced Designer
  2. Eine konfigurierte LLM-Verbindung (siehe Konfigurieren von LLM-Verbindungen)
  3. Ein Document-Skill mit geladenen Beispieldokumenten
  4. Grundlegendes Verständnis der JSON-Struktur
  5. Felddefinitionen für die Daten, die Sie extrahieren möchten
Hinweis: Dieser Leitfaden konzentriert sich auf die Extraktion auf Kopfebene. Die Möglichkeiten zur Tabellenextraktion können variieren.

Grundlagen der promptbasierten Extraktion

Was ist promptbasierte Extraktion?

Promptbasierte Extraktion verwendet LLMs, um auf Basis von Anweisungen in natürlicher Sprache Dokumente zu verstehen und Daten daraus zu extrahieren. Sie definieren:
  • Rolle: Welche Rolle das LLM einnehmen soll (z. B. „Datenextraktionsmodell“)
  • Anweisungen: Wie Daten extrahiert und formatiert werden sollen
  • Ausgabestruktur: Das genaue JSON-Format für die Ergebnisse
  • Regeln: Richtlinien für den Umgang mit mehrdeutigen oder fehlenden Daten

Vorteile

  • Keine Trainingsdaten erforderlich: Kommt allein mit Prompt-Engineering aus
  • Flexibel: Felder lassen sich leicht hinzufügen oder ändern
  • Robust gegenüber Varianten: LLMs können unterschiedliche Dokumentformate verstehen
  • Schnelle Einrichtung: Schneller als das Trainieren herkömmlicher ML-Modelle
  • Natürliche Sprache: Formulieren Sie Anweisungen in einfachem Englisch

Einschränkungen

  • Kosten: Jede Extraktion nutzt LLM-API-Aufrufe
  • Geschwindigkeit: Langsamer als die herkömmliche Extraktion für einfache Dokumente
  • Konsistenz: Ergebnisse können zwischen einzelnen Durchläufen leicht variieren
  • Kontextbeschränkungen: Sehr lange Dokumente müssen möglicherweise speziell behandelt werden

Schritt 1: Eine Prompt-basierte Aktivität hinzufügen

Erstellen Sie in Ihrem Document-Skill eine neue Prompt-basierte Extraktionsaktivität.
  1. Öffnen Sie Ihren Document-Skill in ABBYY Vantage Advanced Designer
  2. Suchen Sie im linken Bereich EXTRACT FROM TEXT (NLP)
  3. Suchen Sie den Eintrag Prompt-based und klicken Sie darauf
Selecting Prompt-Based Activity
  1. Die Aktivität wird in Ihrem Workflow-Canvas angezeigt
  2. Verbinden Sie sie zwischen den Eingabe- und Ausgabeaktivitäten
Hinweis: Prompt-basierte Aktivitäten finden Sie im Aktivitätenbereich unter „EXTRACT FROM TEXT (NLP)“, zusammen mit anderen Extraktionsmethoden wie Named Entities (NER) und Deep Learning.

Schritt 2: LLM-Verbindung konfigurieren

Legen Sie fest, welche LLM-Verbindung die Activity verwenden soll.
  1. Wählen Sie die promptbasierte Activity in Ihrem Workflow aus
  2. Suchen Sie im Activity Properties-Panel auf der rechten Seite den Eintrag LLM Connection
  3. Klicken Sie auf das Dropdown-Menü
Configuring LLM Connection
  1. Wählen Sie Ihre konfigurierte LLM-Verbindung aus der Liste aus
    • Beispiel: Nick-ChatGPT, Microsoft Foundry, Production GPT-4
  2. Überprüfen Sie, ob die Verbindung ausgewählt ist
Hinweis: Wenn keine Verbindungen angezeigt werden, müssen Sie zuerst eine LLM-Verbindung über Configuration → Connections konfigurieren.

Schritt 3: Ausgabefelder definieren

Richten Sie die Felder ein, die Sie extrahieren möchten, bevor Sie den Prompt schreiben.
  1. Suchen Sie im Bereich Activity Properties den Abschnitt Output.
  2. Sie sehen eine hierarchische Liste von Feldgruppen und Feldern.
  3. In diesem Beispiel extrahieren wir Vendor-Informationen:
    • Vendor
      • Name
      • Address
      • TaxID
      • Account Number
      • Sort Code
      • IBAN
      • BIC_SWIFT
    • Business Unit
      • Name
      • Address
      • Invoice Date
      • Invoice Number
    • Totals
      • Net Amount
Struktur der Feldausgabe
  1. Klicken Sie auf die Schaltfläche Activity Editor, um mit der Konfiguration des Prompts zu beginnen.
Hinweis: Definieren Sie alle Felder, bevor Sie den Prompt schreiben. Die Feldnamen werden in Ihrer Prompt-Struktur verwendet.

Schritt 4: Die Rollendefinition erstellen

Definieren Sie, welche Rolle das LLM bei der Verarbeitung von Dokumenten einnehmen soll.
  1. Im Activity Editor wird die Oberfläche Prompt Text angezeigt
  2. Beginnen Sie mit dem Abschnitt ROLE:
ROLLE

Sie sind ein Datenextraktionsmodell. Extrahieren Sie nur die angegebenen Vendor-bezogenen 
Felder aus einem Document. Extrahieren Sie den Werttext wortwörtlich (nicht die Beschriftung). 
Leiten Sie keine Daten ab und formatieren Sie diese nicht um. Lassen Sie alle Felder weg, die nicht eindeutig vorhanden sind.
Prompt Text Editor Wichtige Rollenanweisungen:
  • Sei präzise: „data extraction model“ teilt dem LLM seinen Zweck mit
  • Umfang definieren: „vendor-related fields“ begrenzt, was extrahiert werden soll
  • Erwartungen festlegen: „value text verbatim“ verhindert eine Umformatierung
  • Mit fehlenden Daten umgehen: „Omit any field that is not clearly present“
Bewährte Vorgehensweisen:
  • Halte die Rollenbeschreibung klar und prägnant
  • Verwende Imperativformen („Extract“, „Do not infer“)
  • Sei explizit darin, was NICHT getan werden soll
  • Lege fest, wie Sonderfälle zu behandeln sind

Schritt 5: Ausgabeformat definieren

Geben Sie die genaue JSON-Struktur für die Extraktionsergebnisse an.
  1. Fügen Sie unterhalb des ROLE-Abschnitts die Überschrift OUTPUT FORMAT hinzu
  2. Definieren Sie die JSON-Struktur:
OUTPUT FORMAT

Return one valid JSON object using this exact structure:

{
  "Fields": [
    { "FieldName": Vendor.Name, "Text": "...", "Line": <FirstLineIndex> },
    { "FieldName": Vendor.Address, "Text": "...", "Line": <FirstLineIndex> },
    { "FieldName": Vendor.TaxID, "Text": "...", "Line": <FirstLineIndex> },
    { "FieldName": Vendor.Account Number, "Text": "...", "Line": <FirstLineIndex> },
    { "FieldName": Vendor.Sort Code, "Text": "...", "Line": <FirstLineIndex> },
    { "FieldName": Vendor.IBAN, "Text": "...", "Line": <FirstLineIndex> },
    { "FieldName": Vendor.BIC_SWIFT, "Text": "...", "Line": <FirstLineIndex> }
  ]
}
JSON-Ausgabeformat Strukturkomponenten:
  • FieldName: Muss exakt mit Ihren Felddefinitionen übereinstimmen (z. B. Vendor.Name)
  • Text: Der extrahierte Wert als string
  • Line: 0-basierter Zeilenindex der Zeile, in der der Wert im Dokument erscheint
Wichtige Hinweise:
  • Verwenden Sie die exakten Feldnamen aus Ihrer Output-Konfiguration
  • Schließen Sie alle Felder ein, auch wenn einige leer sein können
  • Die Struktur muss gültiges JSON sein
  • Zeilennummern helfen bei der Verifizierung und Fehlersuche

Schritt 6: Feldspezifische Extraktionsregeln hinzufügen

Geben Sie detaillierte Anweisungen für die Extraktion jedes Feldes. Fügen Sie unterhalb des OUTPUT FORMAT spezifische Regeln für jeden Feldtyp hinzu:
VENDOR NAME
1) Recognize names like "ABC Corporation", "XYZ Ltd", "Acme Inc.".
2) Extract the complete company name including legal suffixes (Ltd, Inc, GmbH, etc.).
3) Vendor name typically appears near the top of the document.

VENDOR ADDRESS
1) Extract the complete address including street, city, postal code.
2) For multiline addresses, represent each new line using "\n".
3) Vendor-side only; exclude customer/buyer addresses.

ACCOUNT NUMBER
1) Erkennen Sie „Account Number", „Account No", „Acct #".
2) Extrahieren Sie das numerische Format genau wie gedruckt (z. B. „12-34-56" oder „500 105 17").
3) Nur Vendor-eigene Konten (z. B. Abschnitte „Beneficiary" oder „Vendor Payment").
4) Ignorieren Sie IBAN – es hat ein eigenes Feld.

SORT CODE
1) Recognize "Sort Code", "Sort No.", "BLZ", "Bankleitzahl".
2) Extract the numeric format exactly as printed (e.g., "12-34-56" or "500 105 17").
3) Vendor-side data only; ignore payer/buyer codes.

IBAN
1) Recognize "IBAN", "International Bank Account Number".
2) Extract the full IBAN exactly as printed (include spaces).
3) Vendor-side only, typically under "Bankverbindung", "Coordonnées bancaires", "Payment Details", or "Beneficiary Bank".

BIC_SWIFT
1) Recognize "BIC", "SWIFT", or "BIC/SWIFT".
2) Extract the complete identifier (usually 8 or 11 uppercase letters/numbers).
3) Vendor-side only, near the IBAN or bank name.
4) Exclude customer/payer data.
Extraction Rules Regelstruktur:
  • Erkennungsmuster: Alternative Bezeichnungen für jedes Feld auflisten
  • Formatangaben: Exaktes zu extrahierendes Format beschreiben
  • Positionshinweise: Wo die Daten typischerweise zu finden sind
  • Ausschlüsse: Was NICHT extrahiert werden soll
Best Practices:
  • Nummerieren Sie Ihre Regeln für bessere Übersichtlichkeit
  • Geben Sie mehrere Bezeichnungsvarianten an
  • Geben Sie an, wem die Daten gehören (auf Vendor-Seite vs. kundenseitig)
  • Fügen Sie Formatbeispiele in Klammern hinzu
  • Seien Sie explizit bei zugehörigen Feldern (z. B. „IBAN ignorieren — sie hat ihr eigenes Feld“)

Schritt 7: Strictness-Regeln anwenden

Fügen Sie Validierungsregeln hinzu, um Datenqualität und Konsistenz sicherzustellen. Fügen Sie am Ende Ihres Prompts den Abschnitt STRICTNESS hinzu:
STRICTNESS
- Niemals Werte generieren oder ableiten.
- Mehrdeutige oder fehlende Felder weglassen.
- Wenn keine der Vendor-Felder gefunden werden, Folgendes zurückgeben:
  {
    "Fields": []
  }
Strictness Rules Zusätzliche Strenge-Regeln (optional):
ALLGEMEINE REGELN
- Extrahieren Sie genau einen Wert pro Feld.
- Überspringen Sie jedes Feld, das nicht sicher lokalisiert werden kann — lassen Sie es in der Ausgabe weg.
- „FieldName" muss exakt mit den oben genannten Namen übereinstimmen.
- „Text" muss wörtlich aus dem Dokument kopiert werden — keine Normalisierung oder Inferenz.
- Für mehrzeilige Werte (z. B. Adressen) stellen Sie jede neue Zeile mit der Escape-Sequenz „\n" dar (ein Backslash gefolgt vom Buchstaben n).
- Fügen Sie keine HTML-Tags wie <br> in den Ausgabetext ein.
- „Line" ist der 0-basierte Index der ersten Zeile, die den extrahierten Wert enthält; fügen Sie ihn nur hinzu, wenn er verifizierbar ist.
Warum Strenge wichtig ist:
  • Verhindert Halluzinationen: LLMs können plausibel wirkende, aber falsche Daten erzeugen
  • Stellt Konsistenz sicher: Klare Regeln verringern die Unterschiede zwischen Durchläufen
  • Geht mit fehlenden Daten um: Definiert, was zu tun ist, wenn Felder nicht gefunden werden
  • Erhält die Datenintegrität: 1:1-Extraktion im Originalwortlaut bewahrt das ursprüngliche Format
Wichtige Prinzipien der Strenge:
  • Niemals Daten erzeugen, die nicht im Dokument vorhanden sind
  • Unsichere Extraktionen lieber auslassen, als zu raten
  • Eine leere Struktur zurückgeben, wenn keine Felder gefunden werden
  • Feldnamen exakt einhalten
  • Ursprüngliche Textformatierung beibehalten

Schritt 8: Dokumentformat auswählen

Wählen Sie, welche Dokumentdarstellung an das LLM gesendet werden soll.
  1. Suchen Sie im Activity Editor die Dropdown-Liste Prompt
  2. Sie sehen Optionen, wie das Dokument dem LLM bereitgestellt wird
Document Format Options Verfügbare Formate:
  • PDF: Ursprüngliche PDF-Datei
    • Einsatz für: Dokumente, bei denen das Layout entscheidend ist
    • Hinweise: Größere Dateigröße, einige LLMs haben nur eingeschränkte PDF-Unterstützung
  • Plain Text: Unformatierte Textextraktion
    • Einsatz für: Einfache Dokumente, die nur Text enthalten
    • Hinweise: Verliert sämtliche Formatierungs- und Layoutinformationen
  • Annotated Text ⭐ (Empfohlen)
    • Einsatz für: Die meisten Dokumenttypen
    • Hinweise: Bewahrt die Struktur, bleibt aber textbasiert
    • Vorteile: Bestes Gleichgewicht zwischen Struktur und Performance
  • Formatted Text: Text mit grundlegender Formatierung
    • Einsatz für: Dokumente, bei denen eine gewisse Formatierung wichtig ist
    • Hinweise: Mittelweg zwischen Plain und Annotated
  1. Wählen Sie Annotated Text für die besten Ergebnisse
Hinweis: In Tests wurde festgestellt, dass Annotated Text die konsistentesten und zuverlässigsten Ergebnisse für Extraktionsaufgaben liefert. Es bewahrt die Dokumentstruktur und kann dennoch effizient von LLMs verarbeitet werden.

Schritt 9: Testen Sie Ihre Extraktion

Führen Sie die Activity mit Beispieldokumenten aus, um die Ergebnisse zu prüfen.

Aktivität ausführen

  1. Schließen Sie den Activity Editor
  2. Navigieren Sie zur Registerkarte All Documents
  3. Wählen Sie ein Testdokument aus
  4. Klicken Sie auf Test Activity oder Run
Testing Activity
  1. Warten Sie, bis das LLM das Dokument verarbeitet hat
    • Verarbeitungszeit: in der Regel 5–30 Sekunden, abhängig von der Komplexität des Dokuments
    • Während Sie auf die API-Antwort warten, wird eine Ladeanzeige angezeigt

Ergebnisse überprüfen

Sobald die Verarbeitung abgeschlossen ist:
  1. Die Oberfläche wechselt zur Predictive view
  2. Überprüfen Sie das Output-Panel mit den extrahierten Feldern
  3. Klicken Sie auf jedes Feld, um Folgendes zu sehen:
    • Extrahierter Wert
    • Confidence (falls verfügbar)
    • Hervorgehobener Bereich im Dokumentbild
Reviewing Results Was Sie prüfen sollten:
  • ✅ Alle erwarteten Felder sind ausgefüllt
  • ✅ Werte stimmen exakt mit dem Dokument überein
  • ✅ Keine halluzinierten oder abgeleiteten Daten
  • ✅ Korrekte Verarbeitung von mehrzeiligen Feldern
  • ✅ Fehlende Felder werden ausgelassen (nicht mit falschen Daten aufgefüllt)

Häufige Ergebnismuster

Erfolgreiche Extraktion:
{
  "Fields": [
    { "FieldName": "Vendor.Name", "Text": "ABC Corporation Ltd", "Line": 3 },
    { "FieldName": "Vendor.Address", "Text": "123 Business Street\nLondon SW1A 1AA", "Line": 5 },
    { "FieldName": "Vendor.IBAN", "Text": "GB29 NWBK 6016 1331 9268 19", "Line": 15 }
  ]
}
Teilweise Extraktion (einige Felder fehlen):
{
  "Fields": [
    { "FieldName": "Vendor.Name", "Text": "ABC Corporation Ltd", "Line": 3 }
  ]
}
Keine Felder gefunden:
{
  "Fields": []
}

Schritt 10: Verfeinern Sie Ihren Prompt

Optimieren Sie Ihren Prompt anhand der Testergebnisse.

Häufige Probleme und Lösungen

Problem: LLM extrahiert das falsche Feld
  • Lösung: Präzisere Positionsangaben hinzufügen
  • Beispiel: „Nur Vendor-Seite; Kunden-/Käuferadressen ausschließen“
Problem: Formatierung wird verändert
  • Lösung: Auf wortgetreue Extraktion bestehen
  • Beispiel: „Das numerische Format exakt wie gedruckt extrahieren (z. B. ‚12-34-56‘)“
Problem: LLM erfindet Daten
  • Lösung: Striktheitsregeln verschärfen
  • Beispiel: „Niemals Werte generieren oder ableiten. Auslassen, wenn nicht vorhanden.“
Problem: Mehrzeilige Felder werden verkettet
  • Lösung: Escape-Sequenzen angeben
  • Beispiel: „Für mehrzeilige Werte \n für Zeilenumbrüche verwenden“
Problem: Falsche Feldnamen in der Ausgabe
  • Lösung: Sicherstellen, dass Feldnamen exakt übereinstimmen
  • Beispiel: Vendor.Account Number und nicht AccountNumber verwenden

Iterativer Verbesserungsprozess

  1. Mit mehreren Dokumenten testen: Nicht für ein einzelnes Beispiel optimieren
  2. Muster dokumentieren: Notieren, welche Regeln funktionieren und welche verfeinert werden müssen
  3. Konkrete Beispiele hinzufügen: Formatbeispiele in Klammern angeben
  4. Strenge verfeinern: Auf Basis von Über- bzw. Unterextraktion anpassen
  5. Randfälle testen: Dokumente mit fehlenden Feldern oder ungewöhnlichen Layouts ausprobieren

Beispiele für Verfeinerungen

Vorher:
VENDOR NAME
1) Extract the vendor name from the document.
Nachher:
VENDOR NAME
1) Recognize names like "ABC Corporation", "XYZ Ltd", "Acme Inc.".
2) Extract the complete company name including legal suffixes (Ltd, Inc, GmbH, etc.).
3) Vendor name typically appears near the top of the document.
4) Exclude customer/buyer names - focus on the entity issuing the invoice.

Extraktionsprozess verstehen

Funktionsweise der promptbasierten Extraktion

  1. Dokumentkonvertierung: Ihr Dokument wird in das ausgewählte Format umgewandelt (Format Annotated Text empfohlen)
  2. Prompt-Erstellung: Ihre Rolle, das Ausgabeformat, Feldregeln und Regeln zur Strenge werden zu einem Prompt zusammengeführt
  3. API-Aufruf: Der Prompt und das Dokument werden über Ihre Verbindung an das LLM gesendet
  4. LLM-Verarbeitung: Das LLM liest das Dokument und extrahiert Daten gemäß Ihren Anweisungen
  5. JSON-Antwort: Das LLM gibt strukturierte Daten im angegebenen JSON-Format zurück
  6. Feldzuordnung: Vantage ordnet die JSON-Antwort den von Ihnen definierten Ausgabefeldern zu
  7. Verifizierung: Zeilennummern und Konfidenzwerte (falls bereitgestellt) unterstützen die Überprüfung der Genauigkeit

Tokenverbrauch und Kosten

Faktoren, die die Kosten beeinflussen:
  • Dokumentenlänge: Längere Dokumente verwenden mehr Token
  • Komplexität des Prompts: Detaillierte Prompts erhöhen den Tokenverbrauch
  • Formatwahl: Annotated Text ist in der Regel effizienter als PDF
  • Anzahl der Felder: Mehr Felder = längere Prompts
Optimierungstipps:
  • Verwenden Sie prägnante, aber klare Formulierungen in Prompts
  • Wiederholen Sie Anweisungen nicht
  • Entfernen Sie unnötige Beispiele
  • Erwägen Sie, verwandte Felder zu gruppieren

Bewährte Vorgehensweisen

Prompt-Erstellung

Tun:
  • ✅ Klare, imperativ formulierte Anweisungen verwenden („Extract“, „Recognize“, „Omit“)
  • ✅ Mehrere Bezeichnungsvarianten für jedes Feld angeben
  • ✅ Formatbeispiele in Klammern hinzufügen
  • ✅ Angeben, was NICHT extrahiert werden soll (Ausschlüsse)
  • ✅ Regeln zur einfachen Referenz nummerieren
  • ✅ Einheitliche Terminologie im gesamten Dokument verwenden
Nicht tun:
  • ❌ Vage Anweisungen verwenden („get the name“)
  • ❌ Annehmen, dass das LLM fachspezifische Konventionen kennt
  • ❌ Übermäßig lange, komplexe Sätze schreiben
  • ❌ Sich in verschiedenen Abschnitten widersprechen
  • ❌ Striktheitsregeln weglassen

Felddefinitionen

Effektive Feldanweisungen:
  • Beginnen Sie mit Erkennungsmustern (alternativen Bezeichnungen)
  • Geben Sie das exakt beizubehaltende Format an
  • Geben Sie Positionierungshinweise an (typische Platzierung)
  • Definieren Sie die Datenverantwortung (Vendor vs. Kunde)
  • Beschreiben Sie den Umgang mit mehrzeiligen Werten
  • Verweisen Sie auf verwandte Felder, um Verwechslungen zu vermeiden
Beispiel:
IBAN
1) Erkennen Sie „IBAN", „International Bank Account Number".
2) Extrahieren Sie die vollständige IBAN genau wie abgedruckt (einschließlich Leerzeichen).
3) Nur auf Vendor-Seite, typischerweise unter „Bankverbindung", „Payment Details".
4) NICHT mit Kontonummer verwechseln — IBAN ist länger und alphanumerisch.

Teststrategie

  1. Mit einfachen Dokumenten beginnen: Zuerst die grundlegende Extraktion testen
  2. Auf Varianten erweitern: Verschiedene Layouts und Formate ausprobieren
  3. Randfälle testen: Fehlende Felder, ungewöhnliche Positionen, mehrfache Treffer
  4. Fehler dokumentieren: Beispiele aufbewahren, in denen die Extraktion fehlschlägt
  5. Systematisch iterieren: Immer nur eine Sache auf einmal ändern

Leistungsoptimierung

Für Geschwindigkeit:
  • Prompts knapp halten
  • Annotated Text-Format verwenden
  • Anzahl der Felder pro Aktivität minimieren
  • Erwägen, komplexe Dokumente aufzuteilen
Für Genauigkeit:
  • Umfassende Feldregeln bereitstellen
  • Formatbeispiele einbeziehen
  • Strenge Striktheitsregeln hinzufügen
  • Mit vielfältigen Dokumentbeispielen testen
Für geringere Kosten:
  • Promptlänge optimieren
  • Effiziente Dokumentformate verwenden
  • Ergebnisse bei Bedarf cachen
  • Token-Verbrauch über das Dashboard des LLM-Anbieters überwachen

Fehlerbehebung

Extraktionsprobleme

Problem: Felder sind leer, obwohl Daten vorhanden sind Lösungen:
  • Prüfen, ob die Schreibweise des Feldnamens exakt übereinstimmt
  • Überprüfen, ob sich die Daten im ausgewählten Dokumentformat befinden
  • Weitere Label-Varianten zu den Erkennungsmustern hinzufügen
  • Strenge vorübergehend reduzieren, um zu sehen, ob das LLM sie findet
  • Prüfen, ob die Dokumentqualität die OCR/Text-Extraktion beeinflusst
Problem: LLM extrahiert Kundendaten statt Vendor-Daten Lösungen:
  • Vorgaben auf der Vendor-Seite präzisieren bzw. verstärken
  • Explizite Ausschlüsse für Kunden-/Käuferdaten hinzufügen
  • Positionshinweise angeben (z. B. „oben im Dokument“, „Ausstellerbereich“)
  • Beispiele für korrekte vs. inkorrekte Extraktion bereitstellen
Problem: Mehrzeilige Werte werden zusammengefügt oder fehlerhaft formatiert Lösungen:
  • Format der Escape-Sequenz (\n) explizit angeben
  • Beispiele für korrekte mehrzeilige Ausgaben bereitstellen
  • Prüfen, ob das Dokumentformat Zeilenumbrüche beibehält
  • Anweisung hinzufügen: „Preserve original line breaks using \n
Problem: LLM formatiert oder normalisiert Daten neu Lösungen:
  • „wortgetreu“ und „genau wie gedruckt“ betonen
  • Strengere Regel hinzufügen: „No normalization or inference“
  • Konkrete Beispiele bereitstellen, die die Beibehaltung der Formatierung zeigen
  • Negative Beispiele einfügen: „Not ‘12-34-56’, keep as ‘12 34 56’“

Leistungsprobleme

Problem: Die Extraktion ist zu langsam Lösungen:
  • Zum Annotated Text-Format wechseln, wenn PDF verwendet wird
  • Prompt vereinfachen, ohne kritische Anweisungen zu verlieren
  • Dokumentauflösung reduzieren, wenn Bilder sehr groß sind
  • Status und Rate Limits des LLM-Providers prüfen
  • Für einfache Dokumente die Verwendung eines schnelleren Modells in Betracht ziehen
Problem: Inkonsistente Ergebnisse zwischen Durchläufen Lösungen:
  • Striktheitsregeln verschärfen
  • Anweisungen spezifischer und eindeutiger formulieren
  • Mehr Formatbeispiele hinzufügen
  • Prompt-Komplexität reduzieren, die zu Interpretationsspielraum führen kann
  • Mit höheren Temperatureinstellungen testen (falls in der gewählten Verbindung verfügbar)
Problem: Hohe API-Kosten Lösungen:
  • Prompt-Länge optimieren
  • Annotated Text anstelle von PDF verwenden
  • Dokumente stapelweise außerhalb der Spitzenzeiten verarbeiten
  • Für einfache Dokumente kleinere/günstigere Modelle in Betracht ziehen
  • Budgetwarnungen im Dashboard des LLM-Providers überwachen und einrichten

Fortgeschrittene Techniken

Bedingte Extraktion

Sie können das LLM anweisen, bestimmte Felder nur zu extrahieren, wenn festgelegte Bedingungen erfüllt sind:
KONTONUMMER (BEDINGT)
1) Nur extrahieren, wenn das Dokument Bankzahlungsdetails enthält.
2) Wenn „Zahlungsart: Scheck" oder Ähnliches erscheint, dieses Feld auslassen.
3) „Kontonummer", „Konto-Nr.", „Kto.-Nr." erkennen.

Unterstützung mehrerer Sprachen

Promptbasierte Extraktion funktioniert auch mit mehrsprachigen Dokumenten sehr gut:
VENDOR NAME (MULTI-LANGUAGE)
1) Recognize in English: "Vendor Name", "Supplier", "Seller"
2) Recognize in German: "Verkäufer", "Lieferant", "Anbieter"
3) Recognize in French: "Fournisseur", "Vendeur"
4) Extract the complete company name regardless of language.

Validierungsregeln

Fügen Sie Validierungslogik zu Ihren Prompts hinzu:
IBAN (WITH VALIDATION)
1) Extract the full IBAN exactly as printed.
2) Verify it starts with a 2-letter country code.
3) If format doesn't match IBAN pattern, omit the field.
4) Do not invent check digits or country codes.

Feldbeziehungen

Legen Sie fest, wie Felder miteinander in Beziehung stehen:
ACCOUNT NUMBER vs IBAN
- Account Number: Usually shorter, numeric, domestic format
- IBAN: Alphanumeric, starts with country code (e.g., "GB29 NWBK...")
- If both are present, extract both to separate fields
- If only one is present, extract to the appropriate field
- Do not duplicate the same value in both fields

Einschränkungen und Überlegungen

Aktuelle Funktionen

Unterstützt:
  • ✅ Feldextraktion auf Header-Ebene
  • ✅ Ein- und mehrzeilige Werte
  • ✅ Mehrere Felder pro Dokument
  • ✅ Bedingte Extraktionslogik
  • ✅ Mehrsprachige Dokumente
  • ✅ Variable Dokumentlayouts
Eingeschränkt oder nicht unterstützt:
  • ⚠️ Tabellenextraktion (unterscheidet sich je nach Implementierung)
  • ⚠️ Verschachtelte komplexe Strukturen
  • ⚠️ Sehr große Dokumente (Token-Limits)
  • ⚠️ Echtzeitverarbeitung (API-Latenz)
  • ⚠️ Garantiert deterministische Ergebnisse

Wann Sie die promptbasierte Extraktion verwenden sollten

Am besten geeignet für:
  • Dokumente mit variablen Layouts
  • Teilstrukturierte Dokumente
  • Schnelles Prototyping und Testen
  • Kleine bis mittlere Dokumentvolumina
  • Wenn keine Trainingsdaten verfügbar sind
  • Mehrsprachige Dokumentverarbeitung
Alternativen in Betracht ziehen bei:
  • Produktivbetrieb mit hohem Volumen (traditionelles ML kann schneller sein)
  • Stark strukturierte Formulare (vorlagenbasierte Extraktion)
  • Kostenkritische Anwendungen (traditionelle Methoden können günstiger sein)
  • Latenzkritische Anwendungen (LLM-APIs haben Netzwerklatenz)
  • Anforderungen an Offline-Verarbeitung (für traditionelle Methoden ist kein Internet erforderlich)

Integration mit Document-Skills

Verwendung extrahierter Daten

Sobald die Extraktion abgeschlossen ist, stehen die Felddaten im gesamten Document-Skill zur Verfügung:
  1. Validierungsaktivitäten: Geschäftsregeln auf extrahierte Werte anwenden
  2. Skriptaktivitäten: Extrahierte Daten verarbeiten oder transformieren
  3. Exportaktivitäten: Daten an externe Systeme senden
  4. Review-Oberfläche: Manuelle Überprüfung der extrahierten Felder

Kombinieren mit anderen Activities

Promptbasierte Extraktion kann zusammen mit anderen Activities eingesetzt werden:
Workflow Example:
1. Classification (identify document type)
2. OCR (extract text)
3. Prompt-based extraction (extract structured data)
4. Validation rules (verify data quality)
5. Script (format for export)
6. Output (deliver results)

Feldzuordnung

Die extrahierten JSON-Felder werden automatisch Ihren definierten Ausgabefeldern zugeordnet:
  • "FieldName": "Vendor.Name" → wird dem Ausgabefeld Vendor.Name zugeordnet
  • Die Feldhierarchie bleibt in der Ausgabestruktur erhalten
  • Zeilennummern helfen bei der Überprüfung und Fehlerbehebung

Zusammenfassung

Sie haben erfolgreich:
  • ✅ Eine promptbasierte Extraktionsaktivität erstellt
  • ✅ Eine LLM-Verbindung konfiguriert
  • ✅ Einen umfassenden Extraktionsprompt mit Rolle, Format und Regeln geschrieben
  • ✅ Das optimale Dokumentformat (Annotated Text) ausgewählt
  • ✅ Strengevorgaben für die Datenqualität angewendet
  • ✅ Die Extraktion getestet und die Ergebnisse ausgewertet
  • ✅ Best Practices für das Prompt Engineering gelernt
Wichtigste Erkenntnisse:
  • Promptbasierte Extraktion verwendet Anweisungen in natürlicher Sprache
  • Das Annotated-Text-Format liefert die besten Ergebnisse
  • Klare, spezifische Prompts führen zu konsistenter Extraktion
  • Strengevorgaben verhindern Halluzinationen und sichern die Datenqualität
  • Iteratives Testen und Verfeinern verbessert die Genauigkeit
Ihre promptbasierte Extraktionsaktivität ist nun für die Dokumentverarbeitung bereit!

Weitere Schritte

  1. Mit unterschiedlichen Dokumenten testen: Validieren Sie Ihre Lösung mit verschiedenen Layouts und Varianten
  2. Prompts verfeinern: Verbessern Sie diese kontinuierlich auf Basis der Ergebnisse
  3. Kosten überwachen: Verfolgen Sie die Token-Nutzung im Dashboard Ihres LLM-Anbieters
  4. Performance optimieren: Stimmen Sie Prompts auf Geschwindigkeit und Genauigkeit ab
  5. Tabellenextraktion erkunden: Experimentieren Sie mit dem Extrahieren von Positionen (wiederholte Gruppe) (falls unterstützt)
  6. In Workflows integrieren: Kombinieren Sie dies mit anderen Aktivitäten für eine vollständige Verarbeitung

Zusätzliche Ressourcen

  • ABBYY Vantage Advanced Designer-Dokumentation: https://docs.abbyy.com
  • Leitfaden zur Einrichtung von LLM-Verbindungen: So konfigurieren Sie LLM-Verbindungen
  • Best Practices für Prompt-Engineering: Konsultieren Sie die Dokumentation Ihres LLM-Anbieters
  • Support: Wenden Sie sich für technische Unterstützung an den ABBYY-Support

Häufig gestellte Fragen

F: Was ist der Unterschied zwischen promptbasierter und traditioneller Extraktion? A: Promptbasierte Extraktion verwendet LLM-Anweisungen in natürlicher Sprache ohne Trainingsdaten. Traditionelle Methoden benötigen Trainingsbeispiele, sind aber in großem Maßstab schneller und kosteneffizienter. F: Kann ich mit promptbasierten Activities Tabellen extrahieren? A: Die Extraktion auf Kopfzeilenebene wird gut unterstützt. Die Fähigkeiten zur Tabellenextraktion können variieren und erfordern möglicherweise spezielle Prompt-Strukturen. F: Warum Annotated Text statt PDF verwenden? A: Annotated Text bietet das beste Gleichgewicht zwischen Strukturerhaltung und Verarbeitungseffizienz. In Tests hat sich dieses Format als am zuverlässigsten erwiesen. F: Wie reduziere ich API-Kosten? A: Optimieren Sie die Prompt-Länge, verwenden Sie das Annotated-Text-Format, verarbeiten Sie Dokumente effizient und überwachen Sie den Token-Verbrauch über das Dashboard Ihres LLM-Anbieters. F: Was ist, wenn meine LLM-Verbindung fehlschlägt? A: Prüfen Sie Ihren Verbindungsstatus unter Configuration → Connections. Testen Sie die Verbindung, überprüfen Sie Ihre Zugangsdaten und stellen Sie sicher, dass Ihr API-Kontingent nicht überschritten ist. F: Kann ich mehrere LLM-Verbindungen in einem Skill verwenden? A: Ja, unterschiedliche Activities können verschiedene Verbindungen nutzen. So können Sie unterschiedliche Modelle für verschiedene Extraktionsaufgaben einsetzen. F: Wie gehe ich mit Dokumenten in mehreren Sprachen um? A: Fügen Sie mehrsprachige Label-Varianten zu Ihren Feldregeln hinzu. LLMs verarbeiten mehrsprachige Inhalte in der Regel gut. F: Wie groß darf ein Dokument maximal sein? A: Das hängt von den Token-Grenzen Ihres LLM-Anbieters ab. Sehr lange Dokumente müssen möglicherweise aufgeteilt oder abschnittsweise verarbeitet werden.