> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Daten mit promptbasierten Aktivitäten extrahieren

> Erstellen Sie in ABBYY Vantage Advanced Designer promptbasierte Extraktionsaktivitäten: Verwenden Sie Prompts in natürlicher Sprache mit LLMs, um Daten aus Dokumenten zu extrahieren.

<div id="overview">
  ## Übersicht
</div>

Die promptbasierte Extraktion ermöglicht es Ihnen, mithilfe natürlicher Sprachanweisungen strukturierte Daten mit LLMs aus Dokumenten zu extrahieren. Statt herkömmliche Machine-Learning-Modelle zu trainieren, beschreiben Sie, welche Daten extrahiert werden sollen und wie sie formatiert sein sollen, und das LLM übernimmt die Extraktion anhand Ihrer Anweisungen.

Hintergrundinformationen dazu, wie Vantage LLMs verwendet, einschließlich Datenverarbeitung und Kosten, finden Sie unter [LLMs in ABBYY Vantage](/de/vantage/documentation/llms/llms).

**Was Sie erreichen werden:**

* Eine promptbasierte Extraktionsaktivität erstellen.
* Eine LLM-Verbindung konfigurieren.
* Effektive Extraktions-Prompts schreiben.
* Ausgabeformat und -struktur definieren.
* Strenge und Validierungsregeln anwenden.
* Ihre Extraktion testen und optimieren.

**Benötigte Zeit:** 20-30 Minuten

**Anwendungsfälle:**

* Extraktion von Vendor-Informationen aus Rechnungen
* Erfassung von Dokumentdaten auf Kopfzeilenebene
* Verarbeitung semi-strukturierter Dokumente
* Dokumente mit variablen Layouts

***

<div id="prerequisites">
  ## Voraussetzungen
</div>

Bevor Sie beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:

1. **Zugriff auf ABBYY Vantage Advanced Designer**.
2. **Eine konfigurierte LLM-Verbindung**. Siehe [LLM-Verbindungen konfigurieren](/de/vantage/documentation/skills/connections).
3. **Einen Document-Skill** mit geladenen Beispieldokumenten.
4. **Grundlegende Kenntnisse** der JSON-Struktur.
5. **Felddefinitionen** für die Daten, die Sie extrahieren möchten.

<Note>
  Diese Anleitung behandelt die Extraktion auf Kopfzeilenebene. Die Unterstützung für die Tabellenextraktion kann variieren.
</Note>

***

<div id="understanding-prompt-based-extraction">
  ## Promptbasierte Extraktion verstehen
</div>

<div id="what-is-prompt-based-extraction">
  ### Was ist promptbasierte Extraktion?
</div>

Die promptbasierte Extraktion nutzt LLMs, um Dokumente zu verstehen und anhand natürlichsprachlicher Anweisungen Daten daraus zu extrahieren. Sie definieren:

* **Rolle**: Welche Rolle das LLM einnehmen soll (z. B. „Modell zur Datenextraktion“).
* **Anweisungen**: Wie Daten extrahiert und formatiert werden sollen.
* **Ausgabestruktur**: Das exakte JSON-Format für die Ergebnisse.
* **Regeln**: Richtlinien für den Umgang mit mehrdeutigen oder fehlenden Daten.

Weitere Informationen zu den Stärken und Grenzen der promptbasierten Extraktion sowie dazu, wann die traditionelle Extraktion vorzuziehen ist, finden Sie unter [Wann LLMs verwendet werden sollten](/de/vantage/documentation/llms/llms#when-to-use-llms).

***

<div id="step-1-add-a-prompt-based-activity">
  ## Schritt 1: Eine promptbasierte Aktivität hinzufügen
</div>

Erstellen Sie eine neue promptbasierte Extraktionsaktivität in Ihrem Document-Skill.

1. Öffnen Sie Ihren Document-Skill in **ABBYY Vantage Advanced Designer**.
2. Suchen Sie im linken Bereich nach **EXTRACT FROM TEXT (NLP)**.
3. Klicken Sie auf **promptbasiert**.

<Frame>
  <img src="https://mintcdn.com/abbyy/avxuzLZ1P3ksjmH1/images/vantage/how-to/prompt-extraction/how_to_llm_connection.png?fit=max&auto=format&n=avxuzLZ1P3ksjmH1&q=85&s=54644cb9dc145d0dcaf163af5201822e" alt="Auswahl der Aktivität „promptbasiert“" width="2936" height="1618" data-path="images/vantage/how-to/prompt-extraction/how_to_llm_connection.png" />
</Frame>

4. Die Aktivität wird auf Ihrer Workflow-Arbeitsfläche angezeigt.
5. Verbinden Sie sie zwischen Ihren Input- und Output-Aktivitäten.

<Note>
  promptbasierte Aktivitäten finden Sie unter „EXTRACT FROM TEXT (NLP)“ im Activities-Bereich zusammen mit anderen Extraktionsmethoden wie Named Entities (NER) und Deep Learning.
</Note>

***

<div id="step-2-configure-the-llm-connection">
  ## Schritt 2: Die LLM-Verbindung konfigurieren
</div>

Wählen Sie aus, welche LLM-Verbindung die Aktivität verwenden soll.

1. Wählen Sie die promptbasierte Aktivität in Ihrem Workflow aus.
2. Suchen Sie im rechten Bereich **Activity Properties** nach **LLM Connection**.
3. Klicken Sie auf das Dropdown-Menü.

<Frame>
  <img src="https://mintcdn.com/abbyy/avxuzLZ1P3ksjmH1/images/vantage/how-to/prompt-extraction/how_to_llm_connection.png?fit=max&auto=format&n=avxuzLZ1P3ksjmH1&q=85&s=54644cb9dc145d0dcaf163af5201822e" alt="LLM-Verbindung konfigurieren" width="2936" height="1618" data-path="images/vantage/how-to/prompt-extraction/how_to_llm_connection.png" />
</Frame>

4. Wählen Sie Ihre konfigurierte LLM-Verbindung aus der Liste aus.
   * Beispiel: `Nick-ChatGPT`, `Microsoft Foundry`, `Production GPT-4`
5. Vergewissern Sie sich, dass die Verbindung ausgewählt ist.

<Note>
  Wenn in der Liste keine Verbindungen angezeigt werden, müssen Sie zuerst über Konfiguration → Verbindung eine LLM-Verbindung konfigurieren.
</Note>

<Note>
  Wenn Sie den Skill veröffentlichen, wird die hier ausgewählte Verbindung im Vantage Web Portal zur **Default**-Verbindung für diesen Skill. Unter **Skill Catalog → \[your skill] → Parameters** wird die Verbindung bereits vorausgefüllt angezeigt. Mandantenadministratoren können sie auf eine andere Verbindung umstellen (zum Beispiel, um einen Produktions-Skill je nach Umgebung auf einen anderen LLM-Endpunkt zu verweisen), ohne den Skill erneut zu veröffentlichen — siehe [Document-Skill-Parameter](/de/vantage/documentation/skill-designer/skill-parameters/document-skill-params).
</Note>

***

<div id="step-3-define-output-fields">
  ## Schritt 3: Ausgabefelder definieren
</div>

Legen Sie die Felder, die Sie extrahieren möchten, fest, bevor Sie Ihren Prompt schreiben.

1. Suchen Sie im Bereich **Activity Properties** den Abschnitt **Output**.
2. Dort sehen Sie eine hierarchische Liste mit Feldgruppen und Feldern.
3. In diesem Beispiel extrahieren wir Vendor-Informationen:
   * Vendor
     * Name
     * Adresse
     * TaxID
     * Kontonummer
     * Sort Code
     * IBAN
     * BIC\_SWIFT
   * Geschäftsbereich
     * Name
     * Adresse
     * Rechnungsdatum
     * Rechnungsnummer
   * Summen
     * Nettobetrag

<Frame>
  <img src="https://mintcdn.com/abbyy/avxuzLZ1P3ksjmH1/images/vantage/how-to/prompt-extraction/how_to_activity_editor.png?fit=max&auto=format&n=avxuzLZ1P3ksjmH1&q=85&s=ca35ebd6bead5efce02f1e85af1afaed" alt="Struktur der Ausgabefelder" width="2936" height="1618" data-path="images/vantage/how-to/prompt-extraction/how_to_activity_editor.png" />
</Frame>

4. Klicken Sie auf die Schaltfläche **Activity Editor**, um mit der Konfiguration des Prompts zu beginnen.

<Note>
  Definieren Sie alle Felder, bevor Sie Ihren Prompt schreiben. Die Feldnamen werden in der Struktur Ihres Prompts verwendet.
</Note>

***

<div id="step-4-write-the-role-definition">
  ## Schritt 4: Verfassen Sie die Rollendefinition
</div>

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 ausschließlich die angegebenen Vendor-bezogenen 
Felder aus einem Dokument. Extrahieren Sie den Wert wortwörtlich (nicht die Bezeichnung). 
Leiten Sie keine Daten ab und formatieren Sie sie nicht um. Lassen Sie alle Felder weg, die nicht eindeutig vorhanden sind.
```

<Frame>
  <img src="https://mintcdn.com/abbyy/avxuzLZ1P3ksjmH1/images/vantage/how-to/prompt-extraction/how_to_prompt_text.png?fit=max&auto=format&n=avxuzLZ1P3ksjmH1&q=85&s=5427ab4101aefbfd00f26b5c70c179a4" alt="Prompt Text Editor" width="2936" height="1618" data-path="images/vantage/how-to/prompt-extraction/how_to_prompt_text.png" />
</Frame>

**Wichtige Anweisungen zur Rolle:**

* **Seien Sie präzise**: "Modell zur Datenextraktion" verdeutlicht dem LLM seinen Zweck.
* **Definieren Sie den Umfang**: "vendorbezogene Felder" grenzt ein, was extrahiert werden soll.
* **Setzen Sie klare Erwartungen**: "Werttext wortgetreu" verhindert eine Neuformatierung.
* **Gehen Sie mit fehlenden Daten um**: "Lassen Sie jedes Feld aus, das nicht eindeutig vorhanden ist".

**Bewährte Vorgehensweisen:**

* Halten Sie die Rolle klar und prägnant.
* Verwenden Sie Imperativformulierungen ("Extrahieren Sie", "Treffen Sie keine Annahmen").
* Machen Sie ausdrücklich klar, was NICHT getan werden soll.
* Legen Sie fest, wie mit Randfällen umzugehen ist.

***

<div id="step-5-define-the-output-format">
  ## Schritt 5: Ausgabeformat definieren
</div>

Legen Sie die genaue JSON-Struktur für die Extraktionsergebnisse fest.

1. Fügen Sie unterhalb des Abschnitts ROLE die Überschrift **OUTPUT FORMAT** hinzu.
2. Definieren Sie die JSON-Struktur:

```
AUSGABEFORMAT

Geben Sie ein gültiges JSON-Objekt mit genau dieser Struktur zurück:

{
  "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> }
  ]
}
```

<Frame>
  <img src="https://mintcdn.com/abbyy/avxuzLZ1P3ksjmH1/images/vantage/how-to/prompt-extraction/how_to_json_output_format.png?fit=max&auto=format&n=avxuzLZ1P3ksjmH1&q=85&s=a4885a4609b89597c9113b43ca825883" alt="JSON-Ausgabeformat" style={{ width:"56%" }} width="950" height="1360" data-path="images/vantage/how-to/prompt-extraction/how_to_json_output_format.png" />
</Frame>

**Strukturkomponenten:**

* **FieldName**: Muss exakt mit Ihren Felddefinitionen übereinstimmen (z. B. `Vendor.Name`).
* **Text**: Der extrahierte Wert als String.
* **Line**: Nullbasierter Zeilenindex, in dem der Wert im Dokument vorkommt.

**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 Fehlerbehebung.

***

<div id="step-6-add-field-specific-extraction-rules">
  ## Schritt 6: Feldspezifische Extraktionsregeln hinzufügen
</div>

Geben Sie detaillierte Anweisungen zum Extrahieren der einzelnen Felder an.

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) Recognize "Account Number", "Account No", "Acct #".
2) Extract the numeric format exactly as printed (e.g., "12-34-56" or "500 105 17").
3) Vendor-owned accounts only (e.g., "Beneficiary" or "Vendor Payment" sections).
4) Ignore IBAN — it has its own field.

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

<Frame>
  <img src="https://mintcdn.com/abbyy/avxuzLZ1P3ksjmH1/images/vantage/how-to/prompt-extraction/how_to_prompt_text.png?fit=max&auto=format&n=avxuzLZ1P3ksjmH1&q=85&s=5427ab4101aefbfd00f26b5c70c179a4" alt="Extraction Rules" width="2936" height="1618" data-path="images/vantage/how-to/prompt-extraction/how_to_prompt_text.png" />
</Frame>

**Regelaufbau:**

* **Erkennungsmuster**: Führen Sie für jedes Feld alternative Bezeichnungen auf.
* **Formatspezifikationen**: Beschreiben Sie das exakt zu extrahierende Format.
* **Hinweise zum Fundort**: Wo die Daten typischerweise zu finden sind.
* **Ausschlüsse**: Was NICHT extrahiert werden soll.

**Best Practices:**

* Nummerieren Sie Ihre Regeln zur besseren Übersicht.
* Geben Sie mehrere Varianten der Bezeichnungen an.
* Geben Sie an, wem die Daten zuzuordnen sind (Vendor-Seite vs. Kundenseite).
* Fügen Sie Formatbeispiele in Klammern ein.
* Seien Sie bei verwandten Feldern explizit (z. B. "IBAN ignorieren — dafür gibt es ein eigenes Feld").

***

<div id="step-7-apply-strictness-rules">
  ## Schritt 7: Strenge-Regeln anwenden
</div>

Fügen Sie Validierungsregeln hinzu, um die Datenqualität und Konsistenz sicherzustellen.

Fügen Sie am Ende Ihres Prompts einen Abschnitt **STRICTNESS** hinzu:

```
STRICTNESS
- Never generate or infer values.
- Omit ambiguous or missing fields.
- If none of the vendor fields are found, return:
  {
    "Fields": []
  }
```

<Frame>
  <img src="https://mintcdn.com/abbyy/avxuzLZ1P3ksjmH1/images/vantage/how-to/prompt-extraction/how_to_apply_strictness_rules.png?fit=max&auto=format&n=avxuzLZ1P3ksjmH1&q=85&s=a345f62b355223d968714bb938bb2f0a" alt="Regeln zur Strenge" width="2936" height="1618" data-path="images/vantage/how-to/prompt-extraction/how_to_apply_strictness_rules.png" />
</Frame>

**Zusätzliche Regeln zur Strenge (optional):**

```
GENERAL RULES
- Extract exactly one value per field.
- Skip any field that cannot be confidently located — omit it from the output.
- "FieldName" must match the names above exactly.
- "Text" must be copied verbatim from the document — no normalization or inference.
- For multiline values (e.g., addresses), represent each new line using the escape sequence "\n" (a backslash followed by the letter n).
- Do not insert HTML tags such as <br> in the output text.
- "Line" is the 0-based index of the first line containing the extracted value; include it only if verifiable.
```

**Warum Strenge wichtig ist:**

* **Verhindert Halluzinationen**: LLMs können plausible, aber falsche Daten erzeugen.
* **Gewährleistet Konsistenz**: Klare Regeln verringern die Unterschiede zwischen einzelnen Ausführungen.
* **Regelt fehlende Daten**: Legt fest, was zu tun ist, wenn Felder nicht gefunden werden.
* **Wahrt die Datenintegrität**: Die wortgetreue Extraktion bewahrt die ursprüngliche Formatierung.

**Wichtige Prinzipien der Strenge:**

* Erzeugen Sie niemals Daten, die nicht im Dokument enthalten sind.
* Lassen Sie unsichere Extraktionen lieber weg, statt zu raten.
* Geben Sie eine leere Struktur zurück, wenn keine Felder gefunden werden.
* Feldnamen müssen exakt übereinstimmen.
* Bewahren Sie die ursprüngliche Textformatierung.

***

<div id="step-8-select-document-format">
  ## Schritt 8: Dokumentformat auswählen
</div>

Wählen Sie aus, welche Dokumentdarstellung an das LLM gesendet werden soll.

1. Suchen Sie im Activity Editor das Dropdown-Menü **Prompt**.
2. Dort sehen Sie die Optionen dafür, wie das Dokument dem LLM bereitgestellt wird.

<Frame>
  <img src="https://mintcdn.com/abbyy/avxuzLZ1P3ksjmH1/images/vantage/how-to/prompt-extraction/how_to_extracted_data_format.png?fit=max&auto=format&n=avxuzLZ1P3ksjmH1&q=85&s=138f0f10dad8a127cface25d11d502bb" alt="Optionen für Dokumentformate" style={{ width:"61%" }} width="950" height="1360" data-path="images/vantage/how-to/prompt-extraction/how_to_extracted_data_format.png" />
</Frame>

**Verfügbare Formate:**

* **PDF**: Ursprüngliche PDF-Datei

  * Geeignet für: Dokumente, bei denen das Layout entscheidend ist
  * Zu beachten: Größere Dateigröße; einige LLMs unterstützen PDF nur eingeschränkt

  <Warning>
    **Veraltet:** Das PDF-Dokumentformat ist veraltet und nur für bereits vorhandene OpenAI-Verbindungen verfügbar. Dieses Format wird für keine neuen Verbindungen irgendeines Providers mehr unterstützt. Verwenden Sie stattdessen Annotated Text.
  </Warning>

* **Klartext**: Unformatierte Textextraktion
  * Geeignet für: Einfache Dokumente, die nur Text enthalten
  * Zu beachten: Alle Formatierungs- und Layoutinformationen gehen verloren

* **Annotated Text** ⭐ (Empfohlen)
  * Geeignet für: Die meisten Dokumenttypen
  * Zu beachten: Bewahrt die Struktur und bleibt gleichzeitig textbasiert
  * Vorteile: Beste Balance zwischen Struktur und Leistung

* **Formatierter Text**: Text mit beibehaltener grundlegender Formatierung
  * Geeignet für: Dokumente, bei denen eine gewisse Formatierung wichtig ist
  * Zu beachten: Ein Mittelweg zwischen Klartext und Annotated Text

3. Wählen Sie **Annotated Text** aus, um die besten Ergebnisse zu erzielen

<Note>
  Tests haben gezeigt, dass Annotated Text für Extraktionsaufgaben die konsistentesten und zuverlässigsten Ergebnisse liefert. Es bewahrt die Dokumentstruktur und kann gleichzeitig effizient von LLMs verarbeitet werden.
</Note>

***

<div id="step-9-test-your-extraction">
  ## Schritt 9: Testen Sie Ihre Extraktion
</div>

Führen Sie die Aktivität an Beispieldokumenten aus, um die Ergebnisse zu prüfen.

<div id="run-the-activity">
  ### Führen Sie die Activity aus
</div>

1. Schließen Sie den Activity Editor.
2. Wechseln Sie zur Registerkarte **All Documents**.
3. Wählen Sie ein Testdokument aus.
4. Klicken Sie auf **Test Activity** oder **Run**.

<Frame>
  <img src="https://mintcdn.com/abbyy/avxuzLZ1P3ksjmH1/images/vantage/how-to/prompt-extraction/how_to_json_output_format.png?fit=max&auto=format&n=avxuzLZ1P3ksjmH1&q=85&s=a4885a4609b89597c9113b43ca825883" alt="Activity testen" style={{ width:"60%" }} width="950" height="1360" data-path="images/vantage/how-to/prompt-extraction/how_to_json_output_format.png" />
</Frame>

5. Warten Sie, bis das LLM das Dokument verarbeitet
   * 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.

<div id="review-results">
  ### Ergebnisse prüfen
</div>

Sobald die Verarbeitung abgeschlossen ist:

1. Die Benutzeroberfläche wechselt zur **Predictive View**.
2. Prüfen Sie den Bereich **Output** mit den extrahierten Feldern.
3. Klicken Sie auf jedes Feld, um Folgendes anzuzeigen:
   * Extrahierter Wert
   * Konfidenzwert (falls vorhanden)
   * Hervorgehobene Region im Dokumentbild

<Frame>
  <img src="https://mintcdn.com/abbyy/avxuzLZ1P3ksjmH1/images/vantage/how-to/prompt-extraction/how_to_activity_editor.png?fit=max&auto=format&n=avxuzLZ1P3ksjmH1&q=85&s=ca35ebd6bead5efce02f1e85af1afaed" alt="Ergebnisse prüfen" width="2936" height="1618" data-path="images/vantage/how-to/prompt-extraction/how_to_activity_editor.png" />
</Frame>

**Worauf Sie achten sollten:**

* ✅ Alle erwarteten Felder sind ausgefüllt
* ✅ Die Werte stimmen exakt mit dem Dokument überein
* ✅ Keine halluzinierten oder erschlossenen Daten
* ✅ Mehrzeilige Felder werden korrekt verarbeitet
* ✅ Fehlende Felder werden weggelassen (nicht mit falschen Daten ausgefüllt)

<div id="common-result-patterns">
  ### Typische Ergebnismuster
</div>

**Erfolgreiche Extraktion:**

```json theme={null}
{
  "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):**

```json theme={null}
{
  "Fields": [
    { "FieldName": "Vendor.Name", "Text": "ABC Corporation Ltd", "Line": 3 }
  ]
}
```

**Keine Felder gefunden:**

```json theme={null}
{
  "Fields": []
}
```

***

<div id="step-10-refine-your-prompt">
  ## Schritt 10: Verfeinern Sie Ihren Prompt
</div>

Überarbeiten Sie Ihren Prompt anhand der Testergebnisse.

<div id="common-issues-and-solutions">
  ### Häufige Probleme und Lösungen
</div>

**Problem: LLM extrahiert das falsche Feld**

* **Lösung**: Fügen Sie spezifischere Positionshinweise hinzu.
* **Beispiel**: "Nur auf der Vendor-Seite; Kunden-/Käuferadressen ausschließen"

**Problem: Die Formatierung wird geändert**

* **Lösung**: Betonen Sie die wortgetreue Extraktion.
* **Beispiel**: "Extrahieren Sie das Zahlenformat exakt so, wie es gedruckt ist (z. B. '12-34-56')"

**Problem: LLM erfindet Daten**

* **Lösung**: Verschärfen Sie die Strenge-Regeln.
* **Beispiel**: "Werte niemals generieren oder ableiten. Weglassen, wenn nicht vorhanden."

**Problem: Mehrzeilige Felder werden zusammengefügt**

* **Lösung**: Geben Sie Escape-Sequenzen an.
* **Beispiel**: "Verwenden Sie für mehrzeilige Werte `\n` für Zeilenumbrüche"

**Problem: Falsche Feldnamen in der Ausgabe**

* **Lösung**: Prüfen Sie, ob die Feldnamen exakt übereinstimmen.
* **Beispiel**: Verwenden Sie `Vendor.Account Number` und nicht `AccountNumber`

<div id="iterative-improvement-process">
  ### Iterativer Verbesserungsprozess
</div>

1. **An mehreren Dokumenten testen**: Optimieren Sie nicht nur für ein einzelnes Beispiel.
2. **Muster dokumentieren**: Halten Sie fest, welche Regeln funktionieren und welche weiter verfeinert werden müssen.
3. **Spezifische Beispiele hinzufügen**: Fügen Sie Formatbeispiele in Klammern ein.
4. **Strenge anpassen**: Passen Sie sie anhand von Mustern bei Über- bzw. Unterextraktion an.
5. **Grenzfälle testen**: Probieren Sie Dokumente mit fehlenden Feldern und ungewöhnlichen Layouts aus.

<div id="example-refinements">
  ### Beispielanpassungen
</div>

**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.
```

***

<div id="understanding-the-extraction-process">
  ## Den Extraktionsprozess verstehen
</div>

<div id="how-prompt-based-extraction-works">
  ### Wie die promptbasierte Extraktion funktioniert
</div>

1. **Dokumentkonvertierung**: Ihr Dokument wird in das ausgewählte Format konvertiert (Annotated Text empfohlen).
2. **Prompt-Zusammenstellung**: Ihre Rolle, das Ausgabeformat, Feldregeln und Strengevorgaben 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 die 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) helfen dabei, die Genauigkeit zu prüfen.

<div id="token-usage-and-costs">
  ### Token-Nutzung und Kosten
</div>

**Faktoren, die sich auf die Kosten auswirken:**

* **Dokumentlänge**: Längere Dokumente verbrauchen mehr Tokens.
* **Komplexität des Prompts**: Detaillierte Prompts erhöhen die Token-Anzahl.
* **Formatwahl**: Annotated Text ist in der Regel effizienter als PDF.
* **Anzahl der Felder**: Mehr Felder = längere Prompts.

**Tipps zur Optimierung:**

* Formulieren Sie Prompts knapp, aber klar.
* Vermeiden Sie doppelte Anweisungen.
* Entfernen Sie unnötige Beispiele.
* Erwägen Sie die Gruppierung von Feldern für zusammengehörige Daten.

***

<div id="best-practices">
  ## Bewährte Methoden
</div>

<div id="prompt-writing">
  ### Prompts formulieren
</div>

**Do:**

* ✅ Verwenden Sie klare Anweisungen im Imperativ („Extrahieren“, „Erkennen“, „Auslassen“).
* ✅ Geben Sie für jedes Feld mehrere Bezeichnungsvarianten an.
* ✅ Fügen Sie Formatbeispiele in Klammern ein.
* ✅ Geben Sie an, was NICHT extrahiert werden soll (Ausschlüsse).
* ✅ Nummerieren Sie Ihre Regeln, damit leicht auf sie verwiesen werden kann.
* ✅ Verwenden Sie durchgängig eine einheitliche Terminologie.

**Don't:**

* ❌ Verwenden Sie keine vagen Anweisungen („Name abrufen“).
* ❌ Gehen Sie nicht davon aus, dass ein LLM domänenspezifische Konventionen kennt.
* ❌ Schreiben Sie keine unnötig langen, komplexen Sätze.
* ❌ Widersprechen Sie sich nicht in verschiedenen Abschnitten.
* ❌ Lassen Sie keine Regeln zur Strenge aus.

<div id="field-definitions">
  ### Felddefinitionen
</div>

**Effektive Anweisungen für Felder:**

* Beginnen Sie mit Erkennungsmustern (alternativen Bezeichnungen).
* Geben Sie das exakt zu bewahrende Format an.
* Geben Sie Positionshinweise an (übliche Platzierung).
* Definieren Sie die Datenzuordnung (Vendor vs. Kunde).
* Berücksichtigen Sie die Behandlung mehrzeiliger Werte.
* Verweisen Sie auf verwandte Felder, um Verwechslungen zu vermeiden.

**Beispiel:**

```
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", "Payment Details".
4) Do NOT confuse with Account Number — IBAN is longer and alphanumeric.
```

<div id="testing-strategy">
  ### Teststrategie
</div>

1. **Beginnen Sie mit einfachen Dokumenten**: Testen Sie zuerst die grundlegende Extraktion.
2. **Auf Variationen ausweiten**: Probieren Sie verschiedene Layouts und Formate aus.
3. **Grenzfälle testen**: Fehlende Felder, ungewöhnliche Positionen, mehrere Treffer.
4. **Fehlschläge dokumentieren**: Halten Sie Beispiele fest, bei denen die Extraktion fehlschlägt.
5. **Systematisch iterieren**: Ändern Sie jeweils nur eine Sache.

<div id="performance-optimization">
  ### Leistungsoptimierung
</div>

**Für Geschwindigkeit:**

* Halten Sie Prompts kurz.
* Verwenden Sie das Format Annotated Text.
* Minimieren Sie die Anzahl der Felder pro Aktivität.
* Erwägen Sie, komplexe Dokumente aufzuteilen.

**Für Genauigkeit:**

* Definieren Sie umfassende Feldregeln.
* Fügen Sie Formatbeispiele hinzu.
* Definieren Sie strenge Regeln.
* Testen Sie mit unterschiedlichen Dokumentbeispielen.

**Für Kosten:**

* Optimieren Sie die Länge des Prompts.
* Verwenden Sie effiziente Dokumentformate.
* Speichern Sie Ergebnisse bei Bedarf zwischen.
* Überwachen Sie die Tokennutzung im Dashboard des LLM-Providers.

***

<div id="troubleshooting">
  ## Fehlerbehebung
</div>

<div id="extraction-issues">
  ### Extraktionsprobleme
</div>

**Problem:** Felder sind leer, obwohl Daten vorhanden sind.

**Lösungen:**

* Prüfen Sie, ob der Feldname exakt richtig geschrieben ist.
* Vergewissern Sie sich, dass sich die Daten im ausgewählten Dokumentformat befinden.
* Fügen Sie den Erkennungsmustern weitere Label-Varianten hinzu.
* Verringern Sie die Strenge vorübergehend, um zu prüfen, ob das LLM die Daten dann findet.
* Prüfen Sie, ob die Dokumentqualität die OCR-/Textextraktion beeinträchtigt.

**Problem:** Das LLM extrahiert Kundendaten statt Vendor-Daten.

**Lösungen:**

* Präzisieren 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“, „Abschnitt des Ausstellers“).
* Fügen Sie Beispiele für korrekte und falsche Extraktion hinzu.

**Problem:** Mehrzeilige Werte werden zusammengezogen oder fehlerhaft formatiert.

**Lösungen:**

* Geben Sie das Format der Escape-Sequenz (`\n`) explizit an.
* Geben Sie Beispiele für die korrekte mehrzeilige Ausgabe an.
* Vergewissern Sie sich, dass das Dokumentformat Zeilenumbrüche beibehält.
* Fügen Sie die Anweisung hinzu: „Behalten Sie die ursprünglichen Zeilenumbrüche mit `\n` bei“.

**Problem:** Das LLM formatiert Daten um oder normalisiert sie.

**Lösungen:**

* Betonen Sie „wortgetreu“ und „genau wie gedruckt“.
* Fügen Sie eine Strenge-Regel hinzu: „Keine Normalisierung oder Inferenz“.
* Geben Sie konkrete Beispiele an, die die Beibehaltung der Formatierung zeigen.
* Fügen Sie Negativbeispiele hinzu: „Nicht ‚12-34-56‘, sondern ‚12 34 56‘ beibehalten“.

<div id="performance-issues">
  ### Leistungsprobleme
</div>

**Problem:** Die Extraktion ist zu langsam.

**Lösungen:**

* Wechseln Sie zum Format Annotated Text, wenn Sie PDF verwenden.
* Vereinfachen Sie den Prompt, ohne wichtige Anweisungen zu verlieren.
* Reduzieren Sie die Dokumentauflösung, wenn die Bilder sehr groß sind.
* Prüfen Sie den Status des LLM-Providers und die Ratenlimits.
* Ziehen Sie für einfache Dokumente die Verwendung eines schnelleren Modells in Betracht.

**Problem:** Inkonsistente Ergebnisse zwischen den Durchläufen.

**Lösungen:**

* Verschärfen Sie die Strenge-Regeln.
* Formulieren Sie die Anweisungen spezifischer und eindeutiger.
* Fügen Sie mehr Formatbeispiele hinzu.
* Verringern Sie die Komplexität des Prompts, die zu Interpretationsspielraum führen könnte.
* Testen Sie höhere Temperatureinstellungen (falls in der Verbindung verfügbar).

**Problem:** Hohe API-Kosten.

**Lösungen:**

* Optimieren Sie die Länge des Prompts.
* Verwenden Sie Annotated Text anstelle von PDF.
* Verarbeiten Sie Dokumente außerhalb der Spitzenzeiten in Batches.
* Ziehen Sie für einfache Dokumente die Verwendung kleinerer/günstigerer Modelle in Betracht.
* Überwachen Sie Budgetwarnungen und richten Sie sie im Dashboard des LLM-Providers ein.

***

<div id="advanced-techniques">
  ## Fortgeschrittene Methoden
</div>

<div id="conditional-extraction">
  ### Bedingte Extraktion
</div>

Sie können das LLM so anweisen, bestimmte Felder nur dann zu extrahieren, wenn Bedingungen erfüllt sind:

```
ACCOUNT NUMBER (CONDITIONAL)
1) Only extract if the document contains bank payment details.
2) If "Payment Method: Check" or similar appears, omit this field.
3) Recognize "Account Number", "Account No", "Acct #".
```

<div id="multi-language-support">
  ### Unterstützung mehrerer Sprachen
</div>

Die promptbasierte Extraktion eignet sich gut für mehrsprachige Dokumente:

```
VENDOR NAME (MEHRSPRACHIG)
1) Erkennen auf Englisch: "Vendor Name", "Supplier", "Seller"
2) Erkennen auf Deutsch: "Verkäufer", "Lieferant", "Anbieter"
3) Erkennen auf Französisch: "Fournisseur", "Vendeur"
4) Den vollständigen Firmennamen unabhängig von der Sprache extrahieren.
```

<div id="validation-rules">
  ### Validierungsregeln
</div>

Fügen Sie Ihren Prompts eine Validierungslogik hinzu:

```
IBAN (MIT VALIDIERUNG)
1) Extrahieren Sie die vollständige IBAN genau wie gedruckt.
2) Überprüfen Sie, ob sie mit einem zweistelligen Ländercode beginnt.
3) Wenn das Format nicht dem IBAN-Muster entspricht, lassen Sie das Feld aus.
4) Erfinden Sie keine Prüfziffern oder Ländercodes.
```

<div id="field-relationships">
  ### Beziehungen zwischen Feldern
</div>

Legen Sie fest, wie Felder zueinander in Beziehung stehen:

```
KONTONUMMER vs IBAN
- Kontonummer: In der Regel kürzer, numerisch, inländisches Format.
- IBAN: Alphanumerisch, beginnt mit dem Ländercode (z. B. „GB29 NWBK...").
- Wenn beide vorhanden sind, beide in separate Felder extrahieren.
- Wenn nur eines vorhanden ist, in das entsprechende Feld extrahieren.
- Denselben Wert nicht in beiden Feldern duplizieren.
```

***

<div id="limitations-and-considerations">
  ## Einschränkungen und Hinweise
</div>

<div id="current-capabilities">
  ### Aktuelle Möglichkeiten
</div>

**Unterstützt:**

* ✅ Feldextraktion auf Kopfzeilenebene
* ✅ Ein- und mehrzeilige Werte
* ✅ Mehrere Felder pro Dokument
* ✅ Bedingte Extraktionslogik
* ✅ Mehrsprachige Dokumente
* ✅ Unterschiedliche Dokumentlayouts

**Eingeschränkt oder nicht unterstützt:**

* ⚠️ Tabellenextraktion (variiert je nach Implementierung)
* ⚠️ Komplexe verschachtelte Strukturen
* ⚠️ Sehr große Dokumente (Token-Limits)
* ⚠️ Echtzeitverarbeitung (API-Latenz)
* ⚠️ Garantiert deterministische Ergebnisse

<div id="when-to-use-prompt-based-extraction">
  ### Wann Sie promptbasierte Extraktion verwenden sollten
</div>

Hinweise dazu, wann sich promptbasierte Extraktion eignet und wann traditionelle Extraktion vorzuziehen ist, finden Sie unter [Wann Sie LLMs verwenden sollten](/de/vantage/documentation/llms/llms#when-to-use-llms).

***

<div id="integration-with-document-skills">
  ## Integration mit Document-Skills
</div>

<div id="using-extracted-data">
  ### Verwenden extrahierter Daten
</div>

Nach Abschluss der Extraktion stehen die Felddaten im gesamten Document-Skill zur Verfügung:

1. **Validierungsaktivitäten**: Wenden Sie Geschäftsregeln auf extrahierte Werte an.
2. **Skript-Aktivitäten**: Verarbeiten oder transformieren Sie extrahierte Daten.
3. **Export-Aktivitäten**: Senden Sie Daten an externe Systeme.
4. **Prüfoberfläche**: Manuelle Verifizierung extrahierter Felder.

<div id="combining-with-other-activities">
  ### Kombination mit anderen Aktivitäten
</div>

Die promptbasierte Extraktion kann auch zusammen mit anderen Aktivitäten 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)
```

<div id="field-mapping">
  ### Feldzuordnung
</div>

Die extrahierten JSON-Felder werden Ihren definierten Ausgabefeldern automatisch zugeordnet:

* `"FieldName": "Vendor.Name"` → Wird dem Ausgabefeld `Vendor.Name` zugeordnet.
* Die Feldhierarchie bleibt in der Ausgabestruktur erhalten.
* Zeilennummern helfen bei der Verifizierung und Fehlerbehebung.

***

<div id="summary">
  ## Zusammenfassung
</div>

Sie haben erfolgreich:

* ✅ Eine promptbasierte Extraktionsaktivität erstellt.
* ✅ Eine LLM-Verbindung konfiguriert.
* ✅ Einen umfassenden Extraktions-Prompt mit Rolle, Format und Regeln verfasst.
* ✅ Das optimale Dokumentformat (Annotated Text) ausgewählt.
* ✅ Strenge-Regeln zur Sicherung der Datenqualität angewendet.
* ✅ Die Extraktion getestet und die Ergebnisse überprüft.
* ✅ Best Practices für Prompt Engineering kennengelernt.

**Wichtigste Erkenntnisse:**

* Die promptbasierte Extraktion verwendet Anweisungen in natürlicher Sprache.
* Das Format Annotated Text liefert die besten Ergebnisse.
* Klare, spezifische Prompts sorgen für eine konsistente Extraktion.
* Strenge-Regeln verhindern Halluzinationen und sichern die Datenqualität.
* Iteratives Testen und Verfeinern verbessern die Genauigkeit.

Ihre promptbasierte Extraktionsaktivität ist nun für die Dokumentverarbeitung bereit!

***

<div id="next-steps">
  ## Nächste Schritte
</div>

1. **Mit unterschiedlichen Dokumenten testen**: Validieren Sie die Lösung mit verschiedenen Dokumentlayouts und Varianten.
2. **Ihre Prompts verfeinern**: Verbessern Sie sie kontinuierlich auf Grundlage der Ergebnisse.
3. **Kosten überwachen**: Verfolgen Sie die Token-Nutzung im Dashboard Ihres LLM-Anbieters.
4. **Leistung optimieren**: Optimieren Sie Ihre Prompts hinsichtlich Geschwindigkeit und Genauigkeit.
5. **Tabellenextraktion erkunden**: Experimentieren Sie mit der Extraktion von Positionen (sofern unterstützt).
6. **In Workflows integrieren**: Kombinieren Sie dies mit anderen Aktivitäten für eine vollständige Verarbeitung.

***

<div id="additional-resources">
  ## Weitere Ressourcen
</div>

* **ABBYY Vantage Advanced Designer-Dokumentation:** [https://docs.abbyy.com](https://docs.abbyy.com)
* **Leitfaden zum Einrichten von LLM-Verbindungen:** [LLM-Verbindungen konfigurieren](/de/vantage/documentation/skills/connections).
* **Best Practices für Prompt Engineering:** Siehe die Dokumentation Ihres LLM-Providers.
* **Support:** Wenden Sie sich an den ABBYY-Support, wenn Sie technische Unterstützung benötigen.

***

<div id="frequently-asked-questions">
  ## Häufig gestellte Fragen
</div>

**F: Was ist der Unterschied zwischen promptbasierter und herkömmlicher Extraktion?** A: Die promptbasierte Extraktion verwendet natürliche Sprachanweisungen für LLMs und benötigt keine Trainingsdaten. Herkömmliche Methoden erfordern Trainingsbeispiele, sind im großen Maßstab aber 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 der Tabellenextraktion können variieren und erfordern möglicherweise eine bestimmte Prompt-Struktur.

**F: Warum sollte ich Annotated Text statt PDF verwenden?** A: Annotated Text bietet das beste Gleichgewicht zwischen Strukturerhalt und Verarbeitungseffizienz. In Tests hat sich dieses Format als am zuverlässigsten erwiesen.

**F: Wie kann ich API-Kosten senken?** A: Optimieren Sie die Prompt-Länge, verwenden Sie das Annotated-Text-Format, verarbeiten Sie effizient und überwachen Sie die Token-Nutzung über das Dashboard Ihres LLM-Providers.

**F: Was passiert, wenn meine LLM-Verbindung fehlschlägt?** A: Überprüfen Sie den Status Ihrer Verbindung unter Konfiguration → Verbindungen. 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 einer Skill verwenden?** A: Ja, verschiedene Aktivitäten können unterschiedliche Verbindungen verwenden. So können Sie für verschiedene Extraktionsaufgaben unterschiedliche Modelle einsetzen.

**F: Wie gehe ich mit Dokumenten in mehreren Sprachen um?** A: Fügen Sie Ihren Feldregeln mehrsprachige Label-Varianten hinzu. LLMs kommen in der Regel gut mit mehrsprachigen Inhalten zurecht.

**F: Wie groß darf ein Dokument maximal sein?** A: Das hängt von den Token-Limits Ihres LLM-Providers ab. Sehr lange Dokumente müssen möglicherweise aufgeteilt oder in Abschnitten verarbeitet werden.
