Zum Hauptinhalt springen

Übersicht

Promptbasierte Extraktion ermöglicht es Ihnen, mit Anweisungen in natürlicher Sprache strukturierte Daten aus Dokumenten mithilfe von LLMs zu extrahieren. Anstatt herkömmliche Machine-Learning-Modelle zu trainieren, beschreiben Sie, welche Daten Sie extrahieren möchten und wie sie formatiert sein sollen, und das LLM übernimmt die Extraktion anhand Ihrer Anweisungen. Was Sie in diesem Abschnitt erreichen:
  • Erstellen einer promptbasierten Extraktionsaktivität
  • Konfigurieren einer LLM-Verbindung
  • Formulieren wirkungsvoller Extraktionsprompts
  • Definieren von Ausgabeformat und -struktur
  • Anwenden von Strenge und Validierungsregeln
  • Testen und Verfeinern Ihrer Extraktion
Bearbeitungszeit: 20–30 Minuten Anwendungsfälle:
  • Extraktion von Vendor-Informationen aus Rechnungen
  • Erfassung von Kopfdaten auf Dokumentebene
  • 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. Einen 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 Kopfzeilenebene. Die Funktionen zur Tabellenextraktion können variieren.

Grundlagen der promptbasierten Extraktion

Was ist Prompt-basierte Extraktion?

Prompt-basierte Extraktion nutzt LLMs, um anhand von Anweisungen in natürlicher Sprache Daten in Dokumenten zu verstehen und 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: Funktioniert allein durch Prompt-Engineering
  • Flexibel: Felder lassen sich leicht hinzufügen oder ändern
  • Kommt mit Varianten zurecht: LLMs können unterschiedliche Dokumentformate verstehen
  • Schnelle Einrichtung: Schneller als das Trainieren herkömmlicher ML-Modelle
  • Natürliche Sprache: Anweisungen in einfachem Englisch verfassen

Einschränkungen

  • Kosten: Jede Extraktion führt LLM-API-Aufrufe aus
  • Geschwindigkeit: Langsamer als die herkömmliche Extraktion bei einfachen Dokumenten
  • Konsistenz: Ergebnisse können von Ausführung zu Ausführung leicht variieren
  • Kontextgrenzen: Sehr lange Dokumente müssen möglicherweise speziell behandelt werden

Schritt 1: Prompt-basierte Activity hinzufügen

Erstellen Sie eine neue promptbasierte Extraktions-Activity in Ihrem Document-Skill.
  1. Öffnen Sie Ihren Document-Skill in ABBYY Vantage Advanced Designer
  2. Suchen Sie im linken Bereich EXTRACT FROM TEXT (NLP)
  3. Suchen Sie Prompt-based und klicken Sie darauf
Selecting Prompt-Based Activity
  1. Die Activity erscheint in Ihrem Workflow-Canvas
  2. Verbinden Sie sie zwischen Ihren Eingabe- und Ausgabe-Activities
Hinweis: Prompt-basierte Activities finden Sie unter „EXTRACT FROM TEXT (NLP)“ im Activities-Panel, zusammen mit anderen Extraktionsmethoden wie Named Entities (NER) und Deep Learning.

Schritt 2: LLM-Verbindung konfigurieren

Wählen Sie aus, welche LLM-Verbindung die Aktivität verwenden soll.
  1. Wählen Sie die prompt-basierte Aktivität in Ihrem Workflow aus
  2. Suchen Sie im Bereich Activity Properties auf der rechten Seite nach 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. Vergewissern Sie sich, dass die Verbindung ausgewählt ist
Hinweis: Wenn keine Verbindungen aufgelistet sind, müssen Sie zuerst eine LLM-Verbindung über Configuration → Connections konfigurieren.

Schritt 3: Ausgabefelder definieren

Richten Sie, bevor Sie Ihren Prompt schreiben, die Felder ein, die Sie extrahieren möchten.
  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
      • Adresse
      • TaxID
      • Kontonummer
      • Bankleitzahl
      • IBAN
      • BIC_SWIFT
    • Geschäftseinheit
      • Name
      • Adresse
      • Rechnungsdatum
      • Rechnungsnummer
    • Summen
      • Nettobetrag
Struktur der Feldausgabe
  1. Klicken Sie auf die Schaltfläche Activity Editor, um mit der Konfiguration Ihres Prompts zu beginnen.
Hinweis: Definieren Sie alle Felder, bevor Sie Ihren Prompt schreiben. Die Feldnamen werden in der Struktur Ihres Prompts verwendet.

Schritt 4: Rollendefinition verfassen

Definieren Sie, welche Rolle das LLM bei der Verarbeitung von Dokumenten übernehmen soll.
  1. Im Activity Editor sehen Sie die Oberfläche Prompt Text
  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 Rollenhinweise:
  • Seien Sie konkret: “data extraction model” teilt dem LLM seinen Zweck mit
  • Umfang festlegen: “vendor-related fields” begrenzt, was extrahiert werden soll
  • Erwartungen festlegen: “value text verbatim” verhindert eine Neuformatierung
  • Mit fehlenden Daten umgehen: “Omit any field that is not clearly present”
Bewährte Vorgehensweisen:
  • Halten Sie die Rollenbeschreibung klar und prägnant
  • Verwenden Sie Imperativsätze (“Extract”, “Do not infer”)
  • Seien Sie ausdrücklich darin, was NICHT getan werden soll
  • Legen Sie fest, wie Grenzfä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 Abschnitts ROLE 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, an dem der Wert im Dokument erscheint
Wichtige Hinweise:
  • Verwenden Sie die exakten Feldnamen aus Ihrer Ausgabekonfiguration
  • Schließen Sie alle Felder ein, selbst wenn einige leer sein können
  • Die Struktur muss gültiges JSON sein
  • Zeilennummern unterstützen die Verifizierung und Fehlersuche

Schritt 6: Feldspezifische Extraktionsregeln hinzufügen

Geben Sie detaillierte Anweisungen dazu, wie jedes Feld extrahiert werden soll. Fügen Sie unter 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: Führen Sie alternative Bezeichnungen für jedes Feld auf
  • Formatvorgaben: Beschreiben Sie das genaue zu extrahierende Format
  • Positionshinweise: Wo die Daten typischerweise zu finden sind
  • Ausschlüsse: Was NICHT extrahiert werden soll
Bewährte Vorgehensweisen:
  • Nummerieren Sie Ihre Regeln für bessere Übersicht
  • Geben Sie mehrere Bezeichnungsvarianten an
  • Geben Sie an, wem die Daten zugeordnet sind (auf Vendor-Seite vs. auf Kundenseite)
  • Fügen Sie Formatbeispiele in Klammern hinzu
  • Seien Sie explizit in Bezug auf zugehörige Felder (z. B. „IBAN ignorieren – sie hat ein eigenes Feld“)

Schritt 7: Strictness-Regeln anwenden

Fügen Sie Validierungsregeln hinzu, um die Datenqualität und -konsistenz sicherzustellen. Fügen Sie am Ende Ihres Prompts einen STRICTNESS-Abschnitt 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-Einstellungen (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 strikte Regeln wichtig sind:
  • Verhindert Halluzinationen: LLMs können plausibel wirkende, aber falsche Daten erzeugen
  • Sorgt für Konsistenz: Klare Regeln verringern Schwankungen zwischen Ausführungen
  • Regelt den Umgang mit fehlenden Daten: Definiert, was zu tun ist, wenn Felder nicht gefunden werden
  • Erhält die Datenintegrität: Wortgetreue Extraktion bewahrt das ursprüngliche Format
Zentrale Prinzipien für strikte Ergebnisse:
  • Niemals Daten generieren, die nicht im Dokument stehen
  • Unsichere Extraktionen weglassen, statt zu raten
  • Leere Struktur zurückgeben, wenn keine Felder gefunden werden
  • Feldnamen exakt übernehmen
  • 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 das Prompt-Dropdown-Menü.
  2. Sie sehen Optionen dafür, wie das Dokument dem LLM bereitgestellt wird.
Document Format Options Verfügbare Formate:
  • PDF: Originale PDF-Datei
    • Geeignet für: Dokumente, bei denen das Layout entscheidend ist
    • Hinweise: Größere Dateigröße, einige LLMs haben eingeschränkte PDF-Unterstützung
  • Plain Text: Unformatierte Textextraktion
    • Geeignet für: Einfache, reine Textdokumente
    • Hinweise: Verliert sämtliche Informationen zu Formatierung und Layout
  • Annotated Text ⭐ (Empfohlen)
    • Geeignet für: Die meisten Dokumenttypen
    • Hinweise: Erhält die Struktur und bleibt gleichzeitig textbasiert
    • Vorteile: Beste Balance zwischen Struktur und Performance
  • Formatted Text: Text mit grundlegender Formatierung
    • Geeignet für: Dokumente, bei denen eine gewisse Formatierung wichtig ist
    • Hinweise: Mittelweg zwischen Plain und Annotated
  1. Wählen Sie Annotated Text für bestmögliche Ergebnisse.
Hinweis: In Tests hat sich gezeigt, dass Annotated Text die konsistentesten und zuverlässigsten Ergebnisse für Extraktionsaufgaben liefert. Es erhält die Dokumentstruktur und kann gleichzeitig effizient von LLMs verarbeitet werden.

Schritt 9: Testen Sie Ihre Extraktion

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

Aktivität ausführen

  1. Schließen Sie den Activity Editor
  2. Navigieren Sie zum Reiter All Documents
  3. Wählen Sie ein Testdokument aus
  4. Klicken Sie auf Test Activity oder auf die Schaltfläche 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 ein Ladeindikator angezeigt

Ergebnisse überprüfen

Sobald die Verarbeitung abgeschlossen ist:
  1. Wechselt die Oberfläche 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 vorhanden)
    • Hervorgehobener Bereich im Dokumentbild
Reviewing Results Worauf Sie achten sollten:
  • ✅ Alle erwarteten Felder sind ausgefüllt
  • ✅ Werte stimmen exakt mit dem Dokument überein
  • ✅ Keine halluzinierten oder hergeleiteten Daten
  • ✅ Korrekte Verarbeitung von mehrzeiligen Feldern
  • ✅ Fehlende Felder werden ausgelassen (nicht mit falschen Daten befüllt)

Typische 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

Verfeinern Sie Ihren Prompt auf Basis der Testergebnisse.

Häufige Probleme und Lösungen

Problem: LLM extrahiert falsches Feld
  • Lösung: Präzisere Positionshinweise hinzufügen
  • Beispiel: „Nur auf der Vendor-Seite; Kunden-/Käuferadressen ausschließen“
Problem: Formatierung wird verändert
  • Lösung: Wortgetreue Extraktion hervorheben
  • Beispiel: „Extrahiere das numerische Format exakt wie gedruckt (z. B. ‚12-34-56‘)“
Problem: LLM erfindet Daten
  • Lösung: Regeln für strikte Extraktion verschärfen
  • Beispiel: „Niemals Werte generieren oder ableiten. Auslassen, wenn nicht vorhanden.“
Problem: Mehrzeilige Felder werden zusammengefügt
  • Lösung: Escape-Sequenzen spezifizieren
  • 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: „Verwende Vendor.Account Number und nicht AccountNumber

Iterativer Verbesserungsprozess

  1. An 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. Strengegrad verfeinern: Auf Basis von Mustern bei Über- bzw. Unterextraktion anpassen
  5. Randfälle testen: Dokumente mit fehlenden Feldern und ungewöhnlichen Layouts verwenden

Beispiele für Verfeinerungen

Vorher:
VENDOR NAME
1) Extract the vendor name from the document.
Danach:
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.

Grundlagen des Extraktionsprozesses

Funktionsweise der Prompt-basierten Extraktion

  1. Dokumentkonvertierung: Ihr Dokument wird in das ausgewählte Format umgewandelt (Format Annotated Text empfohlen)
  2. Prompt-Zusammenstellung: Ihre Rolle, das Ausgabeformat, Feldregeln und Regeln für die Strenge werden kombiniert
  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 Ihren definierten Ausgabefeldern zu
  7. Verifizierung: Zeilennummern und Konfidenzwerte (falls vorhanden) unterstützen Sie bei der Überprüfung der Genauigkeit

Tokenverbrauch und Kosten

Kostenfaktoren:
  • Dokumentenlänge: Längere Dokumente verbrauchen mehr Tokens
  • Prompt-Komplexität: Detaillierte Prompts erhöhen die Anzahl der Tokens
  • Formatwahl: Annotated Text ist in der Regel effizienter als PDF
  • Anzahl der Felder: Mehr Felder = längere Prompts
Tipps zur Optimierung:
  • Verwenden Sie eine präzise, aber klare Sprache in Prompts
  • Wiederholen Sie Anweisungen nicht
  • Entfernen Sie unnötige Beispiele
  • Ziehen Sie eine Gruppierung von Feldern für zusammengehörige Daten in Betracht

Bewährte Verfahren

Prompts formulieren

Tun Sie:
  • ✅ Klare, imperative Anweisungen verwenden („Extract“, „Recognize“, „Omit“)
  • ✅ Mehrere Beschriftungsvarianten für jedes Feld angeben
  • ✅ Formatbeispiele in Klammern anführen
  • ✅ Präzise angeben, was NICHT extrahiert werden soll (Ausschlüsse)
  • ✅ Ihre Regeln zur einfachen Referenz nummerieren
  • ✅ Durchgängig eine konsistente Terminologie verwenden
Tun Sie nicht:
  • ❌ Vage Anweisungen verwenden („get the name“)
  • ❌ Voraussetzen, dass das LLM domänenspezifische Konventionen kennt
  • ❌ Übermäßig lange, komplexe Sätze schreiben
  • ❌ Sich in verschiedenen Abschnitten widersprechen
  • ❌ Auf Vorgaben zur Strenge verzichten

Felddefinitionen

Effektive Anweisungen für Felder:
  • Mit Erkennungsmustern (alternativen Bezeichnungen) beginnen
  • Das exakt beizubehaltende Format angeben
  • Positionierungshinweise bereitstellen (typische Platzierung)
  • Datenverantwortung definieren (Vendor vs. Kunde)
  • Umgang mit mehrzeiligen Werten beschreiben
  • Verwandte Felder referenzieren, 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 Variationen ausweiten: Unterschiedliche Layouts und Formate ausprobieren
  3. Randfälle testen: Fehlende Felder, ungewöhnliche Positionen, mehrere Treffer
  4. Fehler dokumentieren: Beispiele aufbewahren, bei denen die Extraktion fehlschlägt
  5. Systematisch iterieren: Immer nur eine Sache auf einmal ändern

Leistungsoptimierung

Für Geschwindigkeit:
  • Halten Sie Prompts prägnant
  • Verwenden Sie das Annotated-Text-Format
  • Minimieren Sie die Anzahl der Felder pro Aktivität
  • Ziehen Sie in Betracht, komplexe Dokumente aufzuteilen
Für Genauigkeit:
  • Stellen Sie umfassende Feldregeln bereit
  • Fügen Sie Formatbeispiele hinzu
  • Legen Sie strenge Striktheitsregeln fest
  • Testen Sie mit vielfältigen Dokumentbeispielen
Für Kosten:
  • Optimieren Sie die Promptlänge
  • Verwenden Sie effiziente Dokumentformate
  • Cachen Sie Ergebnisse, wenn angemessen
  • Überwachen Sie den Tokenverbrauch über das Dashboard des LLM-Anbieters

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
  • Mehr Label-Varianten zu den Erkennungsmustern hinzufügen
  • Striktheit 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:
  • Spezifikationen für den Vendor präzisieren
  • Explizite Ausschlüsse für Kunden-/Käuferdaten hinzufügen
  • Positionshinweise angeben (z. B. „oben im Dokument“, „Ausstellerbereich“)
  • Beispiele für korrekte und inkorrekte Extraktion hinzufügen
Problem: Mehrzeilige Werte werden zusammengefügt oder fehlerhaft dargestellt Lösungen:
  • Escape-Sequenz-Format ausdrücklich angeben (\n)
  • Beispiele für korrekte mehrzeilige Ausgabe bereitstellen
  • Überprüfen, ob das Dokumentformat Zeilenumbrüche beibehält
  • Anweisung hinzufügen: „Ursprüngliche Zeilenumbrüche mit \n beibehalten“
Problem: LLM formatiert Daten um oder normalisiert sie Lösungen:
  • „Wortgetreu“ und „genau wie gedruckt“ betonen
  • Strikte Regel hinzufügen: „Keine Normalisierung oder Interpretation“
  • Konkrete Beispiele bereitstellen, die die Beibehaltung der Formatierung zeigen
  • Negative Beispiele einschließen: „Nicht ‚12-34-56‘, sondern ‚12 34 56‘ beibehalten“

Performanceprobleme

Problem: Extraktion ist zu langsam Lösungen:
  • Bei Verwendung von PDF auf das Format Annotated Text umstellen
  • 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 ein schnelleres Modell in Betracht ziehen
Problem: Inkonsistente Ergebnisse zwischen Durchläufen Lösungen:
  • Striktheitsregeln verschärfen
  • Anweisungen spezifischer und eindeutiger formulieren
  • Mehr Formatbeispiele hinzufügen
  • Promptkomplexität reduzieren, die zu Interpretationen führen kann
  • Mit höheren Temperatureinstellungen testen (falls in der Anbindung verfügbar)
Problem: Hohe API-Kosten Lösungen:
  • Promptlänge optimieren
  • Annotated Text anstelle von PDF verwenden
  • Dokumente in Batches 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

Erweiterte Techniken

Bedingte Extraktion

Sie können das LLM anweisen, bestimmte Felder nur dann zu extrahieren, wenn die entsprechenden 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 für mehrere Sprachen

Prompt-basierte Extraktion funktioniert gut mit mehrsprachigen Dokumenten:
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 verknüpft sind:
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 Hinweise

Aktuelle Funktionen

Unterstützt:
  • ✅ Feldextraktion auf Header-Ebene
  • ✅ Ein- und mehrzeilige Werte
  • ✅ Mehrere Felder pro Dokument
  • ✅ Bedingte Extraktionslogik
  • ✅ Mehrsprachige Dokumente
  • ✅ Variable Dokumentenlayouts
Eingeschränkt oder nicht unterstützt:
  • ⚠️ Tabellenextraktion (variiert je nach Implementierung)
  • ⚠️ Verschachtelte komplexe Strukturen
  • ⚠️ Sehr große Dokumente (Token-Limits)
  • ⚠️ Verarbeitung in Echtzeit (API-Latenz)
  • ⚠️ Deterministische Ergebnisse mit Garantie

Wann Sie promptbasierte Extraktion verwenden sollten

Am besten geeignet für:
  • Dokumente mit variablen Layouts
  • Teilstrukturierte Dokumente
  • Schnelles Prototyping und Testen
  • Kleines bis mittleres Dokumentenaufkommen
  • Wenn keine Trainingsdaten verfügbar sind
  • Mehrsprachige Dokumentverarbeitung
Alternativen in Betracht ziehen für:
  • Produktionsumgebungen mit hohem Volumen (traditionelles ML kann schneller sein)
  • Stark strukturierte Formulare (vorlagenbasierte Extraktion)
  • Kostenempfindliche Anwendungen (traditionelle Methoden können günstiger sein)
  • Latenzkritische Anwendungen (LLM-APIs verursachen Netzwerklatenz)
  • Anforderungen an Offline-Verarbeitung (für traditionelle Methoden ist keine Internetverbindung erforderlich)

Integration mit Document-Skills

Verwendung der extrahierten Daten

Sobald die Extraktion abgeschlossen ist, stehen die Felddaten in Ihrem Document-Skill im gesamten Ablauf zur Verfügung:
  1. Validierungsaktivitäten: Wenden Sie Geschäftsregeln auf die extrahierten Werte an
  2. Skriptaktivitäten: Verarbeiten oder transformieren Sie die extrahierten Daten
  3. Exportaktivitäten: Exportieren Sie Daten in externe Systeme
  4. Überprüfungsoberfläche: Manuelle Prüfung der extrahierten Felder

Kombination mit anderen Aktivitäten

Promptbasierte Extraktion kann zusammen mit anderen Aktivitäten verwendet 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 unterstützen die Ü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 verfasst
  • ✅ Das optimale Dokumentformat (Annotated Text) ausgewählt
  • ✅ Striktheitsrichtlinien für die Datenqualität angewendet
  • ✅ Die Extraktion getestet und die Ergebnisse überprüft
  • ✅ Best Practices für Prompt-Engineering gelernt
Wichtigste Erkenntnisse:
  • Promptbasierte Extraktion verwendet Anweisungen in natürlicher Sprache
  • Das Format Annotated Text liefert die besten Ergebnisse
  • Klare, spezifische Prompts führen zu konsistenter Extraktion
  • Striktheitsrichtlinien verhindern Halluzinationen und sichern die Datenqualität
  • Iteratives Testen und Verfeinern verbessert die Genauigkeit
Ihre promptbasierte Extraktionsaktivität ist nun bereit für die Verarbeitung von Dokumenten!

Nächste Schritte

  1. Mit unterschiedlichen Dokumenten testen: Überprüfen Sie die Verarbeitung bei verschiedenen Layouts und Varianten.
  2. Prompts verfeinern: Verbessern Sie diese kontinuierlich auf Basis der erzielten Ergebnisse.
  3. Kosten überwachen: Verfolgen Sie die Token-Nutzung im Dashboard Ihres LLM-Anbieters.
  4. Performance optimieren: Stimmen Sie die Prompts auf Geschwindigkeit und Genauigkeit ab.
  5. Tabellenextraktion erkunden: Experimentieren Sie mit der Extraktion von Positionen (wiederholte Gruppe) (falls unterstützt).
  6. In Workflows integrieren: Kombinieren Sie dies mit anderen Aktivitäten, um eine vollständige Verarbeitung zu erreichen.

Zusätzliche Ressourcen

  • Dokumentation zu ABBYY Vantage Advanced Designer: https://docs.abbyy.com
  • Anleitung zur Einrichtung von LLM-Verbindungen: LLM-Verbindungen konfigurieren
  • Best Practices für Prompt Engineering: Siehe die Dokumentation Ihres LLM-Anbieters
  • Support: Kontaktieren Sie den ABBYY-Support für technische Unterstützung

Häufig gestellte Fragen

F: Was ist der Unterschied zwischen promptbasierter und traditioneller Extraktion? A: Promptbasierte Extraktion verwendet Anweisungen in natürlicher Sprache für LLMs und kommt ohne Trainingsdaten aus. Traditionelle Methoden erfordern Trainingsbeispiele, sind aber in großem Maßstab schneller und kostengünstiger. F: Kann ich Tabellen mit promptbasierten Aktivitäten extrahieren? A: Die Extraktion auf Kopfzeilenebene wird gut unterstützt. Die Möglichkeiten zur Tabellenextraktion können variieren und erfordern spezifische Prompt-Strukturen. F: Warum Annotated Text statt PDF verwenden? A: Annotated Text bietet die beste Balance 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, sorgen Sie für eine effiziente Verarbeitung und überwachen Sie die Token-Nutzung über das Dashboard Ihres LLM-Anbieters. F: Was mache ich, wenn meine LLM-Verbindung fehlschlägt? A: Überprüfen Sie Ihren Verbindungsstatus unter Configuration → Connections. Testen Sie die Verbindung, prüfen Sie die Anmeldedaten und stellen Sie sicher, dass Ihr API-Kontingent nicht überschritten wurde. F: Kann ich mehrere LLM-Verbindungen in einem Skill verwenden? A: Ja, verschiedene Aktivitäten können unterschiedliche Verbindungen nutzen. So können Sie verschiedene Modelle für unterschiedliche Extraktionsaufgaben einsetzen. F: Wie gehe ich mit Dokumenten in mehreren Sprachen um? A: Fügen Sie mehrsprachige Beschriftungsvarianten zu Ihren Feldregeln hinzu. LLMs verarbeiten mehrsprachige Inhalte im Allgemeinen gut. F: Wie groß darf ein Dokument maximal sein? A: Dies hängt von den Tokenlimits Ihres LLM-Anbieters ab. Sehr lange Dokumente müssen möglicherweise aufgeteilt oder abschnittsweise verarbeitet werden.