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:
LIEFERANTENNAME
1) Erkennen Sie Namen wie „ABC Corporation", „XYZ Ltd", „Acme Inc.".
2) Extrahieren Sie den vollständigen Firmennamen einschließlich rechtlicher Zusätze (Ltd, Inc, GmbH usw.).
3) Der Lieferantenname erscheint typischerweise oben im Dokument.

LIEFERANTENADRESSE
1) Extrahieren Sie die vollständige Adresse einschließlich Straße, Stadt, Postleitzahl.
2) Stellen Sie bei mehrzeiligen Adressen jede neue Zeile mit „\n" dar.
3) Nur Lieferantenseite; Kunden-/Käuferadressen ausschließen.

KONTONUMMER
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 Lieferanten-eigene Konten (z. B. Abschnitte „Beneficiary" oder „Vendor Payment").
4) Ignorieren Sie IBAN – es hat ein eigenes Feld.

BANKLEITZAHL
1) Erkennen Sie „Sort Code", „Sort No.", „BLZ", „Bankleitzahl".
2) Extrahieren Sie das numerische Format genau wie gedruckt (z. B. „12-34-56" oder „500 105 17").
3) Nur Lieferantenseite; Zahler-/Käufercodes ignorieren.

IBAN
1) Erkennen Sie „IBAN", „International Bank Account Number".
2) Extrahieren Sie die vollständige IBAN genau wie gedruckt (einschließlich Leerzeichen).
3) Nur Lieferantenseite, typischerweise unter „Bankverbindung", „Coordonnées bancaires", „Payment Details" oder „Beneficiary Bank".

BIC_SWIFT
1) Erkennen Sie „BIC", „SWIFT" oder „BIC/SWIFT".
2) Extrahieren Sie die vollständige Kennung (normalerweise 8 oder 11 Großbuchstaben/Zahlen).
3) Nur Lieferantenseite, in der Nähe der IBAN oder des Banknamens.
4) Kunden-/Zahlerdaten ausschließen.
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.
Optionen für Dokumentformate 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: Fügen Sie genauere Positionshinweise hinzu.
  • Beispiel: „Nur Vendor-Seite; Kunden-/Käuferadressen ausschließen“
Problem: Formatierung wird geändert
  • Lösung: Betonen Sie die wortgetreue Extraktion.
  • Beispiel: „Extrahieren Sie das numerische Format exakt wie gedruckt (z. B. ‚12-34-56‘)“
Problem: LLM erfindet Daten
  • Lösung: Verschärfen Sie die Regeln zur Striktheit.
  • Beispiel: „Werte niemals generieren oder ableiten. Auslassen, wenn nicht vorhanden.“
Problem: Mehrzeilige Felder werden zusammengeführt
  • Lösung: Geben Sie Escape-Sequenzen an.
  • Beispiel: „Für mehrzeilige Werte \n für Zeilenumbrüche verwenden“
Problem: Falsche Feldnamen in der Ausgabe
  • Lösung: Stellen Sie sicher, dass Feldnamen exakt übereinstimmen.
  • Beispiel: Verwenden Sie Vendor.Account Number und nicht AccountNumber

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

Do:
  • ✅ Klare, imperative 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 nummerieren, um das Nachschlagen zu erleichtern.
  • ✅ Einheitliche Terminologie durchgängig verwenden.
Don’t:
  • ❌ Unklare Anweisungen verwenden („get the name“).
  • ❌ Davon ausgehen, dass das LLM domainspezifische Konventionen kennt.
  • ❌ Übermäßig lange, komplexe Sätze schreiben.
  • ❌ Sich in verschiedenen Abschnitten widersprechen.
  • ❌ Regeln zur Strenge nicht 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:
  • Halten Sie Prompts prägnant.
  • Verwenden Sie das Annotated Text-Format.
  • Minimieren Sie die Anzahl der Felder pro Aktivität.
  • Erwägen Sie das Aufteilen komplexer Dokumente.
Für Genauigkeit:
  • Definieren Sie umfassende Feldregeln.
  • Fügen Sie Formatbeispiele hinzu.
  • Ergänzen Sie strikte Validierungsregeln.
  • Testen Sie mit unterschiedlichen Dokumentbeispielen.
Im Hinblick auf die Kosten:
  • Optimieren Sie die Prompt-Länge.
  • Verwenden Sie effiziente Dokumentformate.
  • Speichern Sie Ergebnisse bei Bedarf zwischen.
  • Überwachen Sie den Token-Verbrauch über das Dashboard des LLM-Anbieters.

Fehlerbehebung

Extraktionsprobleme

Problem: Felder sind leer, obwohl Daten vorhanden sind. Lösungen:
  • Prüfen Sie, ob die Schreibweise des Feldnamens exakt übereinstimmt.
  • Stellen Sie sicher, dass sich die Daten im ausgewählten Dokumentformat befinden.
  • Fügen Sie weitere Label-Varianten zu den Erkennungsmustern hinzu.
  • Verringern Sie den Strengegrad vorübergehend, um zu prüfen, ob das LLM die Daten findet.
  • Prüfen Sie, ob die Dokumentqualität die OCR/Text-Extraktion beeinflusst.
Problem: LLM extrahiert Kundendaten statt Vendor-Daten. Lösungen:
  • Schärfen Sie die Spezifikationen für die Vendor-Seite.
  • Fügen Sie explizite Ausschlüsse für Kunden-/Käuferdaten hinzu.
  • Geben Sie Positionshinweise an (z. B. „oben im Dokument“, „Ausstellerbereich“).
  • Fügen Sie Beispiele für korrekte vs. inkorrekte Extraktion hinzu.
Problem: Mehrzeilige Werte werden zusammengefügt oder fehlerhaft dargestellt. Lösungen:
  • Geben Sie das Format der Escape-Sequenz explizit an (\n).
  • Stellen Sie Beispiele für eine korrekte mehrzeilige Ausgabe bereit.
  • Stellen Sie sicher, dass das Dokumentformat Zeilenumbrüche beibehält.
  • Fügen Sie die Anweisung hinzu: „Ursprüngliche Zeilenumbrüche mit \n beibehalten“.
Problem: LLM formatiert oder normalisiert Daten um. Lösungen:
  • Betonen Sie „wortgetreu“ und „genau wie gedruckt“.
  • Fügen Sie eine Strenge-Regel hinzu: „Keine Normalisierung oder Ableitung“.
  • Geben Sie konkrete Beispiele an, die die Beibehaltung der Formatierung zeigen.
  • Fügen Sie Negativbeispiele ein: „Nicht ‚12-34-56‘, beibehalten als ‚12 34 56‘“.

Leistungsprobleme

Problem: Die Extraktion ist zu langsam. Lösungen:
  • Wechseln Sie zum Annotated Text-Format, wenn Sie PDFs verwenden.
  • Vereinfachen Sie den Prompt, ohne wichtige Anweisungen zu verlieren.
  • Reduzieren Sie die Dokumentauflösung, wenn Bilder sehr groß sind.
  • Überprüfen Sie den Status und die Rate-Limits des LLM-Anbieters.
  • Ziehen Sie ein schnelleres Modell für einfache Dokumente in Betracht.
Problem: Inkonsistente Ergebnisse zwischen Durchläufen. Lösungen:
  • Verschärfen Sie die Strengevorgaben.
  • Formulieren Sie die Anweisungen genauer und eindeutiger.
  • Fügen Sie mehr Formatbeispiele hinzu.
  • Reduzieren Sie die Prompt-Komplexität, die zu Interpretationen führen könnte.
  • Testen Sie mit höheren Temperatureinstellungen (falls in der Verbindung verfügbar).
Problem: Hohe API-Kosten. Lösungen:
  • Optimieren Sie die Prompt-Länge.
  • Verwenden Sie Annotated Text anstelle von PDF.
  • Verarbeiten Sie Dokumente in Batches außerhalb der Spitzenzeiten.
  • Ziehen Sie kleinere/günstigere Modelle für einfache Dokumente in Betracht.
  • Überwachen Sie das Budget und richten Sie Budgetwarnungen im Dashboard des LLM-Anbieters ein.

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 Extraktions-Prompt mit Rolle, Format und Regeln geschrieben.
  • ✅ Das optimale Dokumentformat (Annotated Text) ausgewählt.
  • ✅ Strenge Regeln zur Sicherstellung der 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 Annotated-Text-Format liefert die besten Ergebnisse.
  • Klare, spezifische Prompts führen zu einer konsistenten Extraktion.
  • Strenge Regeln 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.