Vue d’ensemble
- 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
- 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
- Accès à ABBYY Vantage Advanced Designer
- Une connexion LLM configurée (voir Comment configurer les connexions LLM)
- Une Compétence de document avec des documents d’exemple chargés
- Des notions de base sur la structure JSON
- Des définitions de champs pour les données que vous souhaitez extraire
Comprendre l’extraction pilotée par des prompts
Qu’est-ce que l’extraction basée sur des prompts ?
- 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
- Ouvrez votre Compétence de document dans ABBYY Vantage Advanced Designer
- Dans le panneau de gauche, recherchez EXTRACT FROM TEXT (NLP)
- Trouvez et cliquez sur Prompt-based

- L’activité apparaît dans votre canevas de workflow
- Connectez-la entre vos activités d’entrée et de sortie
Étape 2 : Configurer la connexion LLM
- Sélectionnez l’activité basée sur un prompt dans votre workflow
- Dans le panneau Propriétés de l’activité sur la droite, repérez LLM Connection
- Cliquez sur le menu déroulant

-
Sélectionnez dans la liste votre connexion LLM configurée
- Exemples :
Nick-ChatGPT,Microsoft Foundry,Production GPT-4
- Exemples :
- Vérifiez que la connexion est bien sélectionnée
Étape 3 : Définir les champs de sortie
- Dans le panneau Activity Properties, repérez la section Output
- Vous verrez une liste hiérarchique de groupes de champs et de champs individuels
- 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
- Fournisseur

- Cliquez sur le bouton Activity Editor pour commencer à configurer le prompt
Étape 4 : Rédiger la définition du rôle
- Dans l’Activity Editor, vous verrez l’interface Prompt Text.
- Commencez par la section ROLE :

- 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”
- 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
- Sous la section ROLE, ajoutez le titre OUTPUT FORMAT
- Définissez la structure JSON :

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

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

- 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
- 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
- Dans l’Activity Editor, repérez la liste déroulante Prompt
- Vous verrez des options concernant la manière dont le document est fourni au LLM

-
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
- Sélectionnez Annotated Text pour de meilleurs résultats
Étape 9 : Testez votre extraction
Exécuter l’Activity
- Fermez l’Activity Editor
- Accédez à l’onglet All Documents
- Sélectionnez un document de test
- Cliquez sur le bouton Test Activity ou Run

- 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
- L’interface passe en vue prédictive
- Examinez le panneau Output affichant les champs extraits
- Cliquez sur chaque champ pour voir :
- Valeur extraite
- Niveau de confiance (si disponible)
- Zone surlignée sur l’image du document

- ✅ 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
Étape 10 : Affiner votre prompt
Problèmes courants et solutions
- Solution : Ajouter des indications de position plus précises
- Exemple : « Côté Fournisseur uniquement ; exclure les adresses du client/acheteur »
- Solution : Insister sur l’extraction à l’identique
- Exemple : « Extraire le format numérique exactement tel qu’imprimé (par exemple, “12-34-56”) »
- 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. »
- Solution : Spécifier les séquences d’échappement
- Exemple : « Pour les valeurs multilignes, utiliser
\npour les retours à la ligne »
- Solution : Vérifier que les noms de champ correspondent exactement
- Exemple : Utiliser
Vendor.Account Numberet nonAccountNumber
Processus d’amélioration itérative
- Tester sur plusieurs documents : Ne pas optimiser pour un seul exemple
- Documenter les schémas : Noter quelles règles fonctionnent et lesquelles doivent être affinées
- Ajouter des exemples précis : Inclure des exemples de format entre parenthèses
- Ajuster le niveau de stricteté : Le modifier en fonction des schémas de sur- ou de sous-extraction
- Tester les cas limites : Essayer des documents avec des champs manquants, des mises en page inhabituelles
Exemples d’améliorations
Comprendre le processus d’extraction
Comment fonctionne l’extraction basée sur des prompts
- Conversion du document : Votre document est converti dans le format sélectionné (Annotated Text recommandé)
- 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
- Appel à l’API : Le prompt et le document sont envoyés au LLM via votre connexion
- Traitement par le LLM : Le LLM lit le document et en extrait les données conformément à vos instructions
- Réponse JSON : Le LLM renvoie des données structurées dans le format JSON spécifié
- Mappage des champs : Vantage fait correspondre la réponse JSON à vos champs de sortie définis
- 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
- 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
- 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
- ✅ 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
- ❌ 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
- 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
Stratégie de tests
- Commencez par des documents simples : testez d’abord l’extraction de base
- Passez ensuite à des variantes : testez différentes mises en page et différents formats
- Testez les cas limites : champs manquants, positions inhabituelles, correspondances multiples
- Consignez les échecs : conservez des exemples de cas où l’extraction échoue
- Itérez de manière systématique : ne modifiez qu’un seul élément à la fois
Optimisation des performances
- 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
- 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
- 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
- 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
- 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
- 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»
- 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
- 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
- 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)
- 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
Prise en charge multilingue
Règles de validation
Relations entre champs
Limites et points à prendre en compte
Capacités actuelles
- ✅ 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
- ⚠️ 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
- 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
- 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
- Validation Activities: Appliquer des règles métier aux valeurs extraites
- Script Activities: Traiter ou transformer les données extraites
- Export Activities: Envoyer les données vers des systèmes externes
- Review Interface: Vérification manuelle des champs extraits
Combiner avec d’autres activités
Mappage des champs
"FieldName": "Vendor.Name"→ Correspond au champ de sortieVendor.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
- ✅ 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
- 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
Prochaines étapes
- Testez avec des documents variés : Validez sur différentes mises en page et variantes
- Affinez vos prompts : Améliorez-les en continu en fonction des résultats
- Surveillez les coûts : Suivez l’utilisation de tokens dans le tableau de bord de votre fournisseur de LLM
- Optimisez les performances : Ajustez finement les prompts pour la vitesse et la précision
- Explorez l’extraction de tables : Expérimentez l’extraction des Lignes d’articles (si cette fonctionnalité est prise en charge)
- 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
