Passer au contenu principal

Vue d’ensemble

L’extraction basée sur des prompts vous permet d’utiliser des instructions en langage naturel pour extraire des données structurées à partir de documents à l’aide de LLM. Au lieu d’entraîner des modèles de machine learning traditionnels, vous décrivez les données que vous voulez extraire et la façon dont elles doivent être formatées, et le LLM se charge de l’extraction en fonction de vos instructions. Ce que vous allez accomplir :
  • Créer une activité d’extraction basée sur des prompts
  • Configurer une connexion LLM
  • Rédiger des prompts d’extraction efficaces
  • Définir le format et la structure de sortie
  • Appliquer un niveau de rigueur et des règles de validation
  • Tester et affiner votre extraction
Temps nécessaire : 20-30 minutes Cas d’utilisation :
  • Extraction d’informations Fournisseur à partir de factures
  • Capture de données de document au niveau de l’en-tête
  • Traitement de documents semi-structurés
  • Documents avec des mises en page variables

Prérequis

Avant de commencer, assurez-vous de disposer de ce qui suit :
  1. Accès à ABBYY Vantage Advanced Designer
  2. Une connexion LLM configurée (voir Comment configurer les connexions LLM)
  3. Une Compétence de document avec des documents d’exemple chargés
  4. Des notions de base sur la structure JSON
  5. Des définitions de champs pour les données que vous souhaitez extraire
Remarque : Ce guide se concentre sur l’extraction au niveau de l’en-tête. Les fonctionnalités d’extraction de tableaux peuvent varier.

Comprendre l’extraction pilotée par des prompts

Qu’est-ce que l’extraction basée sur des prompts ?

L’extraction basée sur des prompts utilise des LLM pour comprendre et extraire des données à partir de documents à partir d’instructions en langage naturel. Vous définissez :
  • Rôle : Le rôle que le LLM doit jouer (par exemple « modèle d’extraction de données »)
  • Instructions : La manière d’extraire et de formater les données
  • Structure de sortie : Le format JSON exact des résultats
  • Règles : Les consignes pour gérer les données ambiguës ou manquantes

Avantages

  • Aucune donnée d’apprentissage requise : fonctionne uniquement avec la conception de prompts
  • Flexible : facile d’ajouter ou de modifier des champs
  • Gère les variations : les LLM peuvent comprendre différents formats de documents
  • Configuration rapide : plus rapide que l’entraînement de modèles de ML classiques
  • Langage naturel : rédigez les instructions en anglais simple

Limites

  • Coût : Chaque extraction effectue des appels à l’API LLM
  • Vitesse : Plus lent que l’extraction traditionnelle pour les documents simples
  • Cohérence : Les résultats peuvent varier légèrement d’une exécution à l’autre
  • Limites de contexte : Les documents très longs peuvent nécessiter un traitement spécifique

Étape 1 : Ajouter une activité Prompt-based

Créez une nouvelle activité d’extraction basée sur des invites dans votre Compétence de document.
  1. Ouvrez votre Compétence de document dans ABBYY Vantage Advanced Designer
  2. Dans le panneau de gauche, recherchez EXTRACT FROM TEXT (NLP)
  3. Trouvez et cliquez sur Prompt-based
Selecting Prompt-Based Activity
  1. L’activité apparaît dans votre canevas de workflow
  2. Connectez-la entre vos activités d’entrée et de sortie
Remarque : Les activités Prompt-based se trouvent sous « EXTRACT FROM TEXT (NLP) » dans le panneau Activities, aux côtés d’autres méthodes d’extraction comme Named Entities (NER) et Deep Learning.

Étape 2 : Configurer la connexion LLM

Sélectionnez la connexion LLM que l’activité doit utiliser.
  1. Sélectionnez l’activité basée sur un prompt dans votre workflow
  2. Dans le panneau Propriétés de l’activité sur la droite, repérez LLM Connection
  3. Cliquez sur le menu déroulant
Configuration de la connexion LLM
  1. Sélectionnez dans la liste votre connexion LLM configurée
    • Exemples : Nick-ChatGPT, Microsoft Foundry, Production GPT-4
  2. Vérifiez que la connexion est bien sélectionnée
Remarque : Si aucune connexion n’apparaît dans la liste, vous devez d’abord configurer une connexion LLM via Configuration → Connections.

Étape 3 : Définir les champs de sortie

Configurez les champs que vous souhaitez extraire avant de rédiger votre prompt.
  1. Dans le panneau Activity Properties, repérez la section Output
  2. Vous verrez une liste hiérarchique de groupes de champs et de champs individuels
  3. Pour cet exemple, nous extrayons les informations du fournisseur :
    • Fournisseur
      • Nom
      • Adresse
      • TaxID
      • Numéro de compte
      • Code guichet
      • IBAN
      • BIC_SWIFT
    • Unité opérationnelle
      • Nom
      • Adresse
      • Date de la facture
      • Numéro de facture
    • Totaux
      • Montant net
Structure de sortie des champs
  1. Cliquez sur le bouton Activity Editor pour commencer à configurer le prompt
Remarque : Définissez tous les champs avant de rédiger votre prompt. Les noms de champ seront utilisés dans la structure de votre prompt.

Étape 4 : Rédiger la définition du rôle

Définissez le rôle que le LLM doit jouer lors du traitement des documents.
  1. Dans l’Activity Editor, vous verrez l’interface Prompt Text.
  2. Commencez par la section ROLE :
RÔLE

Vous êtes un modèle d'extraction de données. Extrayez uniquement les champs 
relatifs au fournisseur spécifiés dans le document. Extrayez le texte de la 
valeur tel quel (pas l'étiquette). N'inférez ni ne reformatez aucune donnée. 
Omettez tout champ qui n'est pas clairement présent.
Éditeur de texte de prompt Instructions clés pour le rôle :
  • Soyez spécifique : “data extraction model” indique au LLM sa fonction
  • Définissez le périmètre : “vendor-related fields” limite ce qu’il doit extraire
  • Fixez les attentes : “value text verbatim” évite tout reformatage
  • Gérez les données manquantes : “Omit any field that is not clearly present”
Bonnes pratiques :
  • Gardez le rôle clair et concis
  • Utilisez des phrases à l’impératif (“Extract”, “Do not infer”)
  • Soyez explicite sur ce qu’il NE faut PAS faire
  • Définissez comment gérer les cas limites

Étape 5 : Définir le format de sortie

Précisez la structure JSON exacte pour les résultats d’extraction.
  1. Sous la section ROLE, ajoutez le titre OUTPUT FORMAT
  2. Définissez la structure JSON :
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> }
  ]
}
Format de sortie JSON Composants de la structure :
  • FieldName: Doit correspondre exactement à vos définitions de champs (par exemple, Vendor.Name)
  • Text: La valeur extraite sous forme de string
  • Line: Index de ligne (à partir de 0) où la valeur apparaît dans le document
Notes importantes :
  • Utilisez les noms de champ exacts de votre configuration de sortie
  • Incluez tous les champs même si certains peuvent être vides
  • La structure doit être un JSON valide
  • Les numéros de ligne facilitent la vérification et le diagnostic

Étape 6 : Ajouter des règles d’extraction propres à chaque champ

Fournissez des instructions détaillées pour l’extraction de chaque champ. Sous OUTPUT FORMAT, ajoutez des règles spécifiques pour chaque type de champ :
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.

NUMÉRO DE COMPTE
1) Reconnaître « Numéro de compte », « N° de compte », « Compte n° ».
2) Extraire le format numérique exactement tel qu'imprimé (par ex. « 12-34-56 » ou « 500 105 17 »).
3) Comptes du fournisseur uniquement (par ex. sections « Bénéficiaire » ou « Paiement fournisseur »).
4) Ignorer l'IBAN — il possède son propre champ.

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 Structure des règles :
  • Schémas de reconnaissance : répertoriez les libellés alternatifs pour chaque champ
  • Spécifications de format : décrivez le format exact à extraire
  • Indications de localisation : indiquez où se trouvent généralement les données
  • Exclusions : ce qu’il NE FAUT PAS extraire
Bonnes pratiques :
  • Numérotez vos règles pour plus de clarté
  • Fournissez plusieurs variantes de libellés
  • Précisez à qui appartiennent les données (du côté du fournisseur vs. du côté du client)
  • Incluez des exemples de format entre parenthèses
  • Soyez explicite à propos des champs associés (par ex., “Ignorer l’IBAN — il possède son propre champ”)

Étape 7 : Appliquer des règles de contrôle strict

Ajoutez des Règles de validation pour garantir la qualité et la cohérence des données. À la fin de votre prompt, ajoutez une section STRICTNESS :
STRICTNESS
- Ne jamais générer ou déduire de valeurs.
- Omettre les champs ambigus ou manquants.
- Si aucun des champs du fournisseur n'est trouvé, retourner :
  {
    "Fields": []
  }
Strictness Rules Règles de sévérité supplémentaires (facultatif) :
RÈGLES GÉNÉRALES
- Extraire exactement une valeur par champ.
- Ignorer tout champ qui ne peut pas être localisé avec certitude — l'omettre de la sortie.
- "FieldName" doit correspondre exactement aux noms ci-dessus.
- "Text" doit être copié textuellement du document — aucune normalisation ni inférence.
- Pour les valeurs multilignes (par exemple, les adresses), représenter chaque nouvelle ligne en utilisant la séquence d'échappement "\n" (une barre oblique inverse suivie de la lettre n).
- Ne pas insérer de balises HTML telles que <br> dans le texte de sortie.
- "Line" est l'index de base 0 de la première ligne contenant la valeur extraite ; l'inclure uniquement si vérifiable.
Pourquoi la rigueur est importante :
  • Empêche les hallucinations : les LLM peuvent générer des données plausibles mais incorrectes
  • Garantit la cohérence : des règles claires réduisent les variations d’une exécution à l’autre
  • Gère les données manquantes : précise quoi faire lorsque des champs ne sont pas trouvés
  • Préserve l’intégrité des données : une extraction verbatim conserve la mise en forme d’origine
Principes clés de rigueur :
  • Ne jamais générer de données qui ne figurent pas dans le document
  • Omettre les extractions incertaines plutôt que de deviner
  • Retourner une structure vide si aucun champ n’est trouvé
  • Respecter exactement les noms de champ
  • Préserver la mise en forme du texte d’origine

Étape 8 : Sélectionner le format de document

Choisissez sous quelle forme envoyer le document au LLM.
  1. Dans l’Activity Editor, repérez la liste déroulante Prompt
  2. Vous verrez des options concernant la manière dont le document est fourni au LLM
Document Format Options Formats disponibles :
  • PDF : Fichier PDF original
    • À utiliser pour : Documents où la mise en page est essentielle
    • Points à prendre en compte : Taille de fichier plus importante, certains LLM ont une prise en charge PDF limitée
  • Plain Text : Extraction de texte non formaté
    • À utiliser pour : Documents simples contenant uniquement du texte
    • Points à prendre en compte : Perd toute information de mise en forme et de mise en page
  • Annotated Text ⭐ (recommandé)
    • À utiliser pour : La plupart des types de documents
    • Points à prendre en compte : Préserve la structure tout en restant basé sur le texte
    • Avantages : Meilleur équilibre entre structure et performance
  • Formatted Text : Texte avec mise en forme de base préservée
    • À utiliser pour : Documents pour lesquels une partie de la mise en forme est importante
    • Points à prendre en compte : Compromis entre Plain et Annotated
  1. Sélectionnez Annotated Text pour de meilleurs résultats
Remarque : D’après les tests, Annotated Text offre les résultats les plus cohérents et les plus fiables pour les tâches d’extraction. Il préserve la structure du document tout en étant traité efficacement par les LLM.

Étape 9 : Testez votre extraction

Exécutez l’activité sur des documents d’exemple pour vérifier les résultats obtenus.

Exécuter l’Activity

  1. Fermez l’Activity Editor
  2. Accédez à l’onglet All Documents
  3. Sélectionnez un document de test
  4. Cliquez sur le bouton Test Activity ou Run
Test de l’Activity
  1. Attendez que le LLM traite le document
    • Temps de traitement : généralement de 5 à 30 secondes selon la complexité du document
    • Un indicateur de chargement s’affiche pendant que vous attendez la réponse de l’API

Vérifier les résultats

Une fois le traitement terminé :
  1. L’interface passe en vue prédictive
  2. Examinez le panneau Output affichant les champs extraits
  3. Cliquez sur chaque champ pour voir :
    • Valeur extraite
    • Niveau de confiance (si disponible)
    • Zone surlignée sur l’image du document
Reviewing Results Éléments à vérifier :
  • ✅ Tous les champs attendus sont renseignés
  • ✅ Les valeurs correspondent exactement au document
  • ✅ Aucune donnée hallucinéE ou déduite
  • ✅ Gestion correcte des champs multilignes
  • ✅ Les champs manquants sont omis (et non remplis avec des données incorrectes)

Schémas de résultats courants

Extraction réussie :
{
  "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 }
  ]
}
Extraction partielle (avec des champs manquants) :
{
  "Fields": [
    { "FieldName": "Vendor.Name", "Text": "ABC Corporation Ltd", "Line": 3 }
  ]
}
Aucun Fields n’a été trouvé :
{
  "Fields": []
}

Étape 10 : Affiner votre prompt

Faites évoluer votre prompt en fonction des résultats des tests.

Problèmes courants et solutions

Problème : le LLM extrait le mauvais champ
  • Solution : Ajouter des indications de position plus précises
  • Exemple : « Côté Fournisseur uniquement ; exclure les adresses du client/acheteur »
Problème : le formatage est modifié
  • Solution : Insister sur l’extraction à l’identique
  • Exemple : « Extraire le format numérique exactement tel qu’imprimé (par exemple, “12-34-56”) »
Problème : le LLM invente des données
  • Solution : Renforcer les règles de stricte conformité
  • Exemple : « Ne jamais générer ni déduire de valeurs. Omettre si la valeur n’est pas présente. »
Problème : les champs multilignes sont concaténés
  • Solution : Spécifier les séquences d’échappement
  • Exemple : « Pour les valeurs multilignes, utiliser \n pour les retours à la ligne »
Problème : noms de champ incorrects dans le résultat
  • Solution : Vérifier que les noms de champ correspondent exactement
  • Exemple : Utiliser Vendor.Account Number et non AccountNumber

Processus d’amélioration itérative

  1. Tester sur plusieurs documents : Ne pas optimiser pour un seul exemple
  2. Documenter les schémas : Noter quelles règles fonctionnent et lesquelles doivent être affinées
  3. Ajouter des exemples précis : Inclure des exemples de format entre parenthèses
  4. Ajuster le niveau de stricteté : Le modifier en fonction des schémas de sur- ou de sous-extraction
  5. Tester les cas limites : Essayer des documents avec des champs manquants, des mises en page inhabituelles

Exemples d’améliorations

Avant :
NOM DU FOURNISSEUR
1) Extraire le nom du fournisseur du document.
Après :
NOM DU FOURNISSEUR
1) Reconnaître les noms tels que « ABC Corporation », « XYZ Ltd », « Acme Inc. ».
2) Extraire la raison sociale complète, y compris les suffixes juridiques (Ltd, Inc, GmbH, etc.).
3) Le nom du fournisseur apparaît généralement en haut du document.
4) Exclure les noms de clients/acheteurs - se concentrer sur l'entité qui émet la facture.

Comprendre le processus d’extraction

Comment fonctionne l’extraction basée sur des prompts

  1. Conversion du document : Votre document est converti dans le format sélectionné (Annotated Text recommandé)
  2. Assemblage du prompt : Votre rôle, le format de sortie, les règles de champs et les règles de stricte application sont combinés
  3. Appel à l’API : Le prompt et le document sont envoyés au LLM via votre connexion
  4. Traitement par le LLM : Le LLM lit le document et en extrait les données conformément à vos instructions
  5. Réponse JSON : Le LLM renvoie des données structurées dans le format JSON spécifié
  6. Mappage des champs : Vantage fait correspondre la réponse JSON à vos champs de sortie définis
  7. Vérification : Les numéros de ligne et les scores de confiance (s’ils sont fournis) aident à vérifier l’exactitude

Utilisation des tokens et coûts

Facteurs influençant le coût :
  • Longueur du document : les documents plus longs consomment davantage de tokens
  • Complexité du prompt : des prompts détaillés augmentent le nombre de tokens
  • Choix du format : Annotated Text est généralement plus efficace que le PDF
  • Nombre de champs : plus de champs = prompts plus longs
Conseils d’optimisation :
  • Utiliser une formulation concise mais claire dans les prompts
  • Ne pas dupliquer les instructions
  • Supprimer les exemples superflus
  • Envisager de regrouper les champs pour les données liées

Meilleures pratiques

Rédaction de prompts

À faire :
  • ✅ Utiliser des formulations claires et impératives (« Extract », « Recognize », « Omit »)
  • ✅ Fournir plusieurs variantes d’intitulé pour chaque champ
  • ✅ Inclure des exemples de format entre parenthèses
  • ✅ Préciser ce qu’il ne FAUT PAS extraire (exclusions)
  • ✅ Numéroter vos règles pour en faciliter la consultation
  • ✅ Utiliser une terminologie cohérente dans l’ensemble
À ne pas faire :
  • ❌ Utiliser des consignes vagues (« get the name »)
  • ❌ Supposer que le LLM connaît les conventions propres au domaine
  • ❌ Rédiger des phrases trop longues et complexes
  • ❌ Vous contredire dans différentes sections
  • ❌ Omettre les règles de rigueur

Définitions de Field

Instructions efficaces pour les Field :
  • Commencez par des modèles de reconnaissance (libellés alternatifs)
  • Indiquez le format exact à respecter
  • Fournissez des indications sur l’emplacement (position habituelle)
  • Définissez la propriété des données (Fournisseur vs. client)
  • Précisez la prise en charge des valeurs sur plusieurs lignes
  • Faites référence aux Field associés pour éviter toute confusion
Exemple :
IBAN
1) Reconnaître « IBAN », « International Bank Account Number ».
2) Extraire l'IBAN complet exactement tel qu'imprimé (inclure les espaces).
3) Côté Fournisseur uniquement, généralement sous « Bankverbindung », « Payment Details ».
4) NE PAS confondre avec le Numéro de compte — l'IBAN est plus long et alphanumérique.

Stratégie de tests

  1. Commencez par des documents simples : testez d’abord l’extraction de base
  2. Passez ensuite à des variantes : testez différentes mises en page et différents formats
  3. Testez les cas limites : champs manquants, positions inhabituelles, correspondances multiples
  4. Consignez les échecs : conservez des exemples de cas où l’extraction échoue
  5. Itérez de manière systématique : ne modifiez qu’un seul élément à la fois

Optimisation des performances

Pour la vitesse :
  • Gardez les prompts concis
  • Utilisez le format Annotated Text
  • Réduisez au minimum le nombre de champs par activité
  • Envisagez de scinder les documents complexes
Pour la précision :
  • Définissez des règles détaillées pour les champs
  • Incluez des exemples de format
  • Ajoutez des règles de validation strictes
  • Testez avec des échantillons de documents variés
Pour le coût :
  • Optimisez la longueur des prompts
  • Utilisez des formats de documents efficaces
  • Mettez les résultats en cache lorsque cela est approprié
  • Surveillez l’utilisation des jetons (tokens) via le tableau de bord du fournisseur LLM

Résolution des problèmes

Problèmes d’extraction

Problème : Les champs sont vides alors que les données sont présentes Solutions :
  • Vérifiez que l’orthographe du nom de champ correspond exactement
  • Vérifiez que les données sont dans le format de document sélectionné
  • Ajoutez davantage de variantes de libellés aux modèles de reconnaissance
  • Réduisez temporairement le niveau de rigueur pour voir si le LLM les trouve
  • Vérifiez si la qualité du document affecte l’extraction de texte/OCR
Problème : Le LLM extrait les données du client au lieu des données du Fournisseur Solutions :
  • Renforcez les spécifications relatives au Fournisseur
  • Ajoutez des exclusions explicites pour les données du client/acheteur
  • Fournissez des indications de localisation (par exemple, « haut du document », « section émetteur »)
  • Incluez des exemples d’extraction correcte vs. incorrecte
Problème : Les valeurs sur plusieurs lignes sont concaténées ou mal formées Solutions :
  • Spécifiez explicitement le format de séquence d’échappement (\n)
  • Fournissez des exemples de sortie correcte pour des valeurs sur plusieurs lignes
  • Vérifiez que le format de document préserve les sauts de ligne
  • Ajoutez l’instruction : « Préservez les sauts de ligne d’origine en utilisant \n »
Problème : Le LLM reformate ou normalise les données Solutions :
  • Insistez sur « verbatim » et « exactement comme imprimé »
  • Ajoutez une règle stricte : « Aucune normalisation ni inférence »
  • Fournissez des exemples précis montrant la préservation du formatage
  • Incluez des exemples négatifs : « Pas “12-34-56”, conserver “12 34 56” »

Problèmes de performance

Problème : L’extraction est trop lente Solutions :
  • Passer au format Annotated Text si vous utilisez un PDF
  • Simplifier le prompt sans perdre les instructions essentielles
  • Réduire la résolution du document si les images sont très grandes
  • Vérifier l’état du fournisseur de LLM et les limites de débit
  • Envisager d’utiliser un modèle plus rapide pour les documents simples
Problème : Résultats incohérents entre les exécutions Solutions :
  • Renforcer les règles de strictité
  • Rendre les instructions plus précises et non ambiguës
  • Ajouter davantage d’exemples de format
  • Réduire la complexité du prompt susceptible de conduire à des interprétations
  • Tester avec des paramètres de température plus élevés (si disponible dans la connexion)
Problème : Coûts d’API élevés Solutions :
  • Optimiser la longueur du prompt
  • Utiliser Annotated Text au lieu de PDF
  • Traiter les documents par lots en dehors des heures de pointe
  • Envisager d’utiliser des modèles plus petits/moins coûteux pour les documents simples
  • Surveiller et définir des alertes de budget dans le tableau de bord du fournisseur de LLM

Techniques avancées

Extraction conditionnelle

Vous pouvez indiquer au LLM d’extraire certains champs uniquement si certaines conditions sont satisfaites :
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 #".

Prise en charge multilingue

L’extraction basée sur des prompts fonctionne bien avec les documents multilingues :
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.

Règles de validation

Ajoutez une logique de validation à vos prompts :
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.

Relations entre champs

Indiquez les relations entre les champs :
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

Limites et points à prendre en compte

Capacités actuelles

Pris en charge :
  • ✅ Extraction de champs au niveau de l’en-tête
  • ✅ Valeurs sur une ou plusieurs lignes
  • ✅ Plusieurs champs par document
  • ✅ Logique d’extraction conditionnelle
  • ✅ Documents multilingues
  • ✅ Mises en page de documents variables
Fonctionnalités limitées ou non prises en charge :
  • ⚠️ Extraction de tables (selon l’implémentation)
  • ⚠️ Structures complexes imbriquées
  • ⚠️ Documents très volumineux (limites de jetons)
  • ⚠️ Traitement en temps réel (latence de l’API)
  • ⚠️ Aucune garantie de résultats déterministes

Quand utiliser l’extraction basée sur des prompts

Idéale pour :
  • Documents avec des mises en page variables
  • Documents semi-structurés
  • Prototypage et tests rapides
  • Volumes de documents faibles à moyens
  • Lorsque les données d’entraînement ne sont pas disponibles
  • Traitement de documents multilingues
À envisager des alternatives pour :
  • Production à grande échelle (le machine learning traditionnel peut être plus rapide)
  • Formulaires très structurés (extraction basée sur des modèles)
  • Applications sensibles aux coûts (les méthodes traditionnelles peuvent être moins coûteuses)
  • Applications très sensibles à la latence (les API LLM présentent une latence réseau)
  • Besoins de traitement hors ligne (aucune connexion Internet requise pour les méthodes traditionnelles)

Intégration avec les Compétences de document

Utilisation des données extraites

Une fois l’extraction terminée, les données des champs sont disponibles dans l’ensemble de votre Compétence de document :
  1. Validation Activities: Appliquer des règles métier aux valeurs extraites
  2. Script Activities: Traiter ou transformer les données extraites
  3. Export Activities: Envoyer les données vers des systèmes externes
  4. Review Interface: Vérification manuelle des champs extraits

Combiner avec d’autres activités

L’extraction basée sur des prompts peut être utilisée conjointement avec d’autres activités :
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)

Mappage des champs

Les champs JSON extraits sont automatiquement mis en correspondance avec vos champs de sortie définis :
  • "FieldName": "Vendor.Name" → Correspond au champ de sortie Vendor.Name
  • La hiérarchie des champs est préservée dans la structure de sortie
  • Les numéros de ligne facilitent la vérification et le dépannage

Récapitulatif

Vous avez réussi à :
  • ✅ Créer une activité d’extraction basée sur des prompts
  • ✅ Configurer une connexion LLM
  • ✅ Rédiger un prompt d’extraction complet avec rôle, format et règles
  • ✅ Sélectionner le format de document optimal (Annotated Text)
  • ✅ Appliquer des règles de rigueur pour garantir la qualité des données
  • ✅ Tester l’extraction et examiner les résultats
  • ✅ Apprendre les meilleures pratiques de conception de prompts
Points clés à retenir :
  • L’extraction basée sur des prompts utilise des instructions en langage naturel
  • Le format Annotated Text fournit les meilleurs résultats
  • Des prompts clairs et spécifiques produisent une extraction cohérente
  • Les règles de rigueur évitent les hallucinations et maintiennent la qualité des données
  • Des tests et des ajustements itératifs améliorent la précision
Votre activité d’extraction basée sur des prompts est désormais prête pour le traitement de documents !

Prochaines étapes

  1. Testez avec des documents variés : Validez sur différentes mises en page et variantes
  2. Affinez vos prompts : Améliorez-les en continu en fonction des résultats
  3. Surveillez les coûts : Suivez l’utilisation de tokens dans le tableau de bord de votre fournisseur de LLM
  4. Optimisez les performances : Ajustez finement les prompts pour la vitesse et la précision
  5. Explorez l’extraction de tables : Expérimentez l’extraction des Lignes d’articles (si cette fonctionnalité est prise en charge)
  6. Intégrez dans vos workflows : Combinez avec d’autres activités pour un traitement complet

Ressources supplémentaires

  • Documentation ABBYY Vantage Advanced Designer : https://docs.abbyy.com
  • Guide de configuration des connexions LLM : Comment configurer des connexions LLM
  • Bonnes pratiques d’ingénierie de prompts (prompt engineering) : consultez la documentation de votre fournisseur de LLM
  • Support : contactez le support ABBYY pour obtenir une assistance technique

Foire aux questions

Q : Quelle est la différence entre l’extraction basée sur des prompts et l’extraction traditionnelle ? R : L’extraction basée sur des prompts utilise des instructions en langage naturel pour les LLM sans données d’entraînement. Les méthodes traditionnelles nécessitent des exemples d’entraînement, mais sont plus rapides et plus rentables à grande échelle. Q : Puis-je extraire des tableaux avec des activités basées sur des prompts ? R : L’extraction au niveau des en-têtes est bien prise en charge. Les capacités d’extraction de tableaux peuvent varier et nécessiter des structures de prompt spécifiques. Q : Pourquoi utiliser Annotated Text plutôt que le PDF ? R : Annotated Text offre le meilleur compromis entre préservation de la structure et efficacité de traitement. Les tests ont montré que c’est l’approche la plus fiable. Q : Comment puis-je réduire les coûts d’API ? R : Optimisez la longueur des prompts, utilisez le format Annotated Text, traitez efficacement et surveillez l’utilisation des tokens via le tableau de bord de votre fournisseur de LLM. Q : Que faire si ma connexion LLM échoue ? R : Vérifiez l’état de votre connexion dans Configuration → Connections. Testez la connexion, vérifiez les identifiants et assurez-vous que votre quota d’API n’est pas dépassé. Q : Puis-je utiliser plusieurs connexions LLM dans une seule compétence ? R : Oui, différentes activités peuvent utiliser différentes connexions. Cela vous permet d’utiliser différents modèles pour différentes tâches d’extraction. Q : Comment gérer les documents en plusieurs langues ? R : Ajoutez des variantes d’étiquettes multilingues à vos règles de champ. Les LLM gèrent généralement bien le contenu multilingue. Q : Quelle est la taille maximale d’un document ? R : Cela dépend des limites de tokens de votre fournisseur de LLM. Les documents très longs peuvent devoir être divisés ou traités par sections.