Vue d’ensemble
- Créer une activité d’extraction basée sur des prompts.
- Configurer une connexion à un LLM.
- Rédiger des prompts d’extraction efficaces.
- Définir le format et la structure de sortie.
- Appliquer la rigueur et des règles de validation.
- Tester et affiner votre extraction.
- Extraction des informations sur le fournisseur à partir de factures
- Capture de données d’en-tête de document
- Traitement de documents semi-structurés
- Documents présentant des mises en page variables
Prérequis
- D’un accès à ABBYY Vantage Advanced Designer.
- D’une connexion LLM configurée. Voir Configurer les connexions LLM.
- D’une Compétence de document avec des exemples de documents chargés.
- D’une compréhension de base de la structure JSON.
- De définitions de champs pour les données que vous souhaitez extraire.
Ce guide se concentre sur l’extraction des champs d’en-tête. Les capacités d’extraction de tableaux peuvent varier.
Comprendre l’extraction basée sur 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 : comment extraire et mettre en forme 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.
Étape 1 : Ajouter une activité Prompt-based
- Ouvrez votre Compétence de document dans ABBYY Vantage Advanced Designer.
- Dans le panneau de gauche, repérez EXTRACT FROM TEXT (NLP).
- Recherchez Prompt-based et cliquez dessus.

- L’activité apparaît dans le canevas de votre workflow.
- Connectez-la entre vos activités Input et Output.
Les activités basées sur des prompts se trouvent sous “EXTRACT FROM TEXT (NLP)” dans le volet 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 l’activité basée sur des prompts dans votre workflow.
- Dans le volet Propriétés de l’activité à droite, repérez LLM Connection.
- Cliquez sur le menu déroulant.

- Sélectionnez dans la liste la connexion LLM que vous avez configurée.
- Exemple :
Nick-ChatGPT,Microsoft Foundry,Production GPT-4
- Exemple :
- Vérifiez que la connexion est bien sélectionnée.
Si aucune connexion n’apparaît dans la liste, vous devez d’abord configurer une connexion LLM via Configuration → Connections.
Lorsque vous publiez la compétence, la connexion sélectionnée ici devient celle définie par défaut pour cette compétence dans le Vantage Web Portal. Sous Skill Catalog → [your skill] → Parameters, la connexion apparaît déjà renseignée. Les administrateurs du tenant peuvent la remplacer par une autre connexion (par exemple, pour faire pointer une compétence de production vers un autre point de terminaison LLM selon l’environnement) sans republier la compétence — voir Paramètres de la compétence de document.
Étape 3 : Définir les champs de sortie
- Dans le panneau Propriétés de l’activité, repérez la section Output.
- Vous verrez une liste hiérarchique de groupes de champs et de champs.
- Pour cet exemple, nous extrayons des informations sur le fournisseur :
- Fournisseur
- Nom
- Adresse
- ID fiscal
- Numéro de compte
- Sort Code
- IBAN
- BIC_SWIFT
- unité commerciale
- Nom
- Adresse
- Date de la facture
- Numéro de facture
- Totaux
- Montant net
- Fournisseur

- Cliquez sur le bouton Éditeur d’activité pour commencer à configurer le prompt.
Définissez tous les champs avant d’écrire votre prompt. Les noms des champs seront repris dans la structure de votre prompt.
Étape 4 : Rédiger la définition du rôle
- Dans l’Éditeur d’activité, vous verrez l’interface Prompt Text
- Commencez par la section ROLE :

- Soyez précis : “data extraction model” indique au LLM son objectif.
- Définissez le périmètre : “vendor-related fields” limite les éléments à extraire.
- Précisez 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 consignes à l’impératif (“Extract”, “Do not infer”).
- Indiquez explicitement 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 l’intitulé OUTPUT FORMAT.
- Définissez la structure JSON :

- FieldName: Doit correspondre exactement aux définitions de vos champs (par exemple,
Vendor.Name). - Text: La valeur extraite sous forme de string.
- Line: Indice de ligne (à partir de 0) où la valeur apparaît dans le document.
- Utilisez les noms de champ exacts de votre configuration Output.
- 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 la résolution des problèmes.
Étape 6 : Ajouter des règles d’extraction propres à chaque champ

- Motifs de reconnaissance : indiquez des libellés alternatifs pour chaque champ.
- Spécifications de format : décrivez le format exact à extraire.
- Indications sur l’emplacement : où trouver 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 (côté fournisseur ou côté client).
- Incluez des exemples de format entre parenthèses.
- Soyez explicite concernant les champs associés (par ex., “Ignorez l’IBAN — il a son propre champ”).
Étape 7 : Appliquer les règles de rigueur

- Évite 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 : définit la marche à suivre lorsque des champs ne sont pas trouvés.
- Préserve l’intégrité des données : l’extraction verbatim conserve la mise en forme d’origine.
- Ne générez jamais de données qui ne figurent pas dans le document.
- Omettez les extractions incertaines plutôt que de deviner.
- Renvoyez une structure vide si aucun champ n’est trouvé.
- Faites correspondre exactement les libellés des champs.
- Préservez la mise en forme du texte d’origine.
Étape 8 : Sélectionner le format de document
- Dans l’Éditeur d’activité, repérez la liste déroulante Prompt.
- Vous verrez plusieurs options pour définir comment le document est transmis au LLM.

-
PDF : fichier PDF d’origine
- À utiliser pour : les documents dont la mise en page est essentielle
- Points à prendre en compte : taille de fichier plus importante, prise en charge des PDF limitée par certains LLM
-
Plain Text : extraction de texte sans mise en forme
- À utiliser pour : les documents simples contenant uniquement du texte
- Points à prendre en compte : toutes les informations de mise en forme et de structure sont perdues
-
Annotated Text ⭐ (Recommandé)
- À utiliser pour : la plupart des types de documents
- Points à prendre en compte : préserve la structure tout en restant un format textuel
- Avantages : meilleur équilibre entre structure et performance
-
Formatted Text : texte avec conservation de la mise en forme de base
- À utiliser pour : les documents pour lesquels une partie de la mise en forme est importante
- Points à prendre en compte : solution intermédiaire entre Plain et Annotated
- Sélectionnez Annotated Text pour obtenir les meilleurs résultats
Les tests ont montré qu’Annotated Text fournit 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écuter l’activité
- Fermez l’Éditeur d’activité.
- Accédez à l’onglet All Documents.
- Sélectionnez un document de test.
- Cliquez sur Test Activity ou sur le bouton Run.

- Attendez que le document soit traité par le LLM
- Temps de traitement : généralement de 5 à 30 secondes, selon la complexité du document.
- Un indicateur de chargement s’affiche pendant l’attente de la réponse de l’API.
Vérifier les résultats
- L’interface passe en vue prédictive.
- Vérifiez le panneau Output, qui affiche les champs extraits.
- Cliquez sur chaque champ pour voir :
- Valeur extraite
- Niveau de confiance (s’il est fourni)
- Zone mise en évidence 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: Affinez votre prompt
Problèmes courants et solutions
- Solution : Ajoutez des indications d’emplacement plus précises.
- Exemple : “Côté Fournisseur uniquement ; exclure les adresses du client/de l’acheteur”
- Solution : Insistez sur une extraction à l’identique.
- Exemple : “Extrayez le format numérique exactement tel qu’il est imprimé (par ex., ‘12-34-56’)”
- Solution : Renforcez les règles de rigueur.
- Exemple : “Ne générez ni ne déduisez jamais de valeurs. Omettez-les si elles ne sont pas présentes.”
- Solution : Spécifiez les séquences d’échappement.
- Exemple : “Pour les valeurs multiligne, utilisez
\npour les retours à la ligne”
- Solution : Vérifiez que les libellés de champ correspondent exactement.
- Exemple : Utilisez
Vendor.Account Numberet nonAccountNumber
Processus d’amélioration itératif
- Testez sur plusieurs documents : n’optimisez pas à partir d’un seul exemple.
- Documentez les schémas récurrents : notez quelles règles fonctionnent et lesquelles doivent être affinées.
- Ajoutez des exemples précis : incluez des exemples de format entre parenthèses.
- Affinez la rigueur : ajustez en fonction des schémas de surextraction/sous-extraction.
- Testez les cas limites : essayez des documents avec des champs manquants ou des mises en page inhabituelles.
Exemples d’améliorations
Comprendre le processus d’extraction
Fonctionnement de 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 des champs et les règles de rigueur sont combinés.
- Appel API : le prompt et le document sont envoyés au LLM via votre connexion.
- Traitement par le LLM : le LLM lit le document et extrait les données conformément à vos instructions.
- Réponse JSON : le LLM renvoie des données structurées au format JSON spécifié.
- Mise en correspondance des champs : Vantage met en correspondance la réponse JSON avec les champs de sortie que vous avez définis.
- Vérification : les numéros de ligne et les scores de confiance (le cas échéant) aident à en vérifier l’exactitude.
Utilisation des tokens et coûts
- Longueur du document : les documents plus longs utilisent plus 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 qu’un PDF.
- Nombre de champs : plus il y a de champs, plus les prompts sont longs.
- Utilisez un langage concis, mais clair, dans les prompts.
- Évitez de dupliquer les instructions.
- Supprimez les exemples inutiles.
- Envisagez de regrouper les champs pour les données liées.
Bonnes pratiques
Rédaction de prompts
- ✅ Utilisez des consignes claires et à l’impératif (« Extract », « Recognize », « Omit »).
- ✅ Fournissez plusieurs variantes de libellé pour chaque champ.
- ✅ Incluez des exemples de format entre parenthèses.
- ✅ Précisez ce qu’il ne faut PAS extraire (exclusions).
- ✅ Numérotez vos règles pour en faciliter la référence.
- ✅ Utilisez une terminologie cohérente tout au long du document.
- ❌ Utiliser des instructions vagues (« récupérer le nom »).
- ❌ Supposer que le LLM connaît les conventions propres au domaine.
- ❌ Rédiger des phrases trop longues et trop complexes.
- ❌ Vous contredire d’une section à l’autre.
- ❌ Omettre les règles de rigueur.
Définitions des champs
- Commencez par les motifs de reconnaissance (libellés alternatifs).
- Spécifiez le format exact à préserver.
- Fournissez des indications d’emplacement (position habituelle).
- Précisez à qui se rapporte la donnée (fournisseur ou client).
- Indiquez comment gérer les valeurs sur plusieurs lignes.
- Faites référence aux champs connexes pour éviter toute confusion.
Stratégie de test
- Commencez par des documents simples : testez d’abord l’extraction de base.
- Élargissez aux variantes : essayez différentes mises en page et différents formats.
- Testez les cas limites : champs manquants, positions inhabituelles, correspondances multiples.
- Documentez les échecs : conservez des exemples de cas où l’extraction échoue.
- Procédez de manière systématique : modifiez un seul élément à la fois.
Optimisation des performances
- Gardez les prompts concis.
- Utilisez le format Annotated Text.
- Limitez le nombre de champs par activité.
- Envisagez de diviser les documents complexes.
- Définissez des règles de champ détaillées.
- Incluez des exemples de formats.
- Ajoutez des règles de rigueur strictes.
- Testez avec divers échantillons de documents.
- Optimisez la longueur du prompt.
- Utilisez des formats de document efficaces.
- Mettez les résultats en cache lorsque cela est pertinent.
- Surveillez l’utilisation des tokens dans le tableau de bord du fournisseur de LLM.
Dépannage
Problèmes d’extraction
- Vérifiez que le libellé du champ correspond exactement.
- Vérifiez que les données se trouvent bien dans le format de document sélectionné.
- Ajoutez davantage de variantes de libellés aux motifs de reconnaissance.
- Réduisez temporairement la rigueur pour voir si le LLM les détecte.
- Vérifiez si la qualité du document affecte l’OCR/l’extraction de texte.
- Renforcez les spécifications côté fournisseur.
- Ajoutez des exclusions explicites pour les données du client/de l’acheteur.
- Fournissez des indications d’emplacement (par ex. : « haut du document », « section de l’émetteur »).
- Incluez des exemples d’extraction correcte et incorrecte.
- Spécifiez explicitement le format de la séquence d’échappement (
\n). - Fournissez des exemples de sortie multiligne correcte.
- Vérifiez que le format du document préserve les sauts de ligne.
- Ajoutez l’instruction : « Préserver les sauts de ligne d’origine à l’aide de
\n».
- Insistez sur « verbatim » et « exactement tel qu’imprimé ».
- Ajoutez une règle de rigueur : « Aucune normalisation ni inférence ».
- Fournissez des exemples précis montrant la conservation de la mise en forme.
- Incluez des exemples négatifs : « Pas “12-34-56”, conserver “12 34 56” ».
Problèmes de performance
- Passez au format Annotated Text si vous utilisez un PDF.
- Simplifiez le prompt sans perdre d’instructions essentielles.
- Réduisez la résolution du document si les images sont très volumineuses.
- Vérifiez l’état du fournisseur de LLM et ses limites de requêtes.
- Envisagez d’utiliser un modèle plus rapide pour les documents simples.
- Renforcez les règles de rigueur.
- Rendez les instructions plus précises et sans ambiguïté.
- Ajoutez davantage d’exemples de format.
- Réduisez la complexité du prompt, qui pourrait donner lieu à des interprétations.
- Testez avec des paramètres de température plus élevés (si disponibles dans la connexion).
- Optimisez la longueur du prompt.
- Utilisez Annotated Text à la place du PDF.
- Traitez les documents par lots pendant les heures creuses.
- Envisagez d’utiliser des modèles plus petits et moins chers pour les documents simples.
- Surveillez et configurez des alertes budgétaires dans le tableau de bord du fournisseur de LLM.
Techniques avancées
Extraction conditionnelle
Prise en charge multilingue
Règles de validation
Relations entre les champs
Limites et considérations
Fonctionnalités actuelles
- ✅ Extraction de champs au niveau de l’en-tête
- ✅ Valeurs sur une seule ligne ou sur plusieurs lignes
- ✅ Plusieurs champs par document
- ✅ Logique d’extraction conditionnelle
- ✅ Documents multilingues
- ✅ Mises en page de document variables
- ⚠️ Extraction de tableaux (selon l’implémentation)
- ⚠️ Structures complexes imbriquées
- ⚠️ Très grands documents (limites de tokens)
- ⚠️ Traitement en temps réel (latence de l’API)
- ⚠️ Résultats déterministes garantis
Quand utiliser l’extraction basée sur des prompts
Intégration avec les Skills de document
Utilisation des données extraites
- Activités de validation : appliquez des règles métier aux valeurs extraites.
- Activités de script : traitez ou transformez les données extraites.
- Activités d’export : envoyez les données vers des systèmes externes.
- Interface de relecture : vérification manuelle des champs extraits.
Combiner avec d’autres activités
Mise en correspondance des champs
"FieldName": "Vendor.Name"→ Correspond au champ de sortieVendor.Name.- La hiérarchie des champs est conservée dans la structure de sortie.
- Les numéros de ligne facilitent la vérification et le dépannage.
Résumé
- ✅ Créé une activité d’extraction basée sur des prompts.
- ✅ Configuré une connexion LLM.
- ✅ Rédigé un prompt d’extraction complet avec rôle, format et règles.
- ✅ Sélectionné le format de document optimal (Annotated Text).
- ✅ Appliqué des règles de rigueur pour la qualité des données.
- ✅ Testé l’extraction et examiné les résultats.
- ✅ Appris les bonnes pratiques de l’ingénierie 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 précis produisent une extraction cohérente.
- Les règles de rigueur empêchent les hallucinations et maintiennent la qualité des données.
- Des tests et ajustements itératifs améliorent la précision.
Étapes suivantes
- 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 des tokens dans le tableau de bord de votre fournisseur LLM.
- Optimisez les performances : peaufinez les prompts pour gagner en rapidité et en précision.
- Explorez l’extraction de tableaux : testez l’extraction des lignes d’articles (si prise en charge).
- Intégrez à des workflows : combinez avec d’autres activités pour un traitement complet.
Ressources supplémentaires
- Documentation Advanced Designer d’ABBYY Vantage : https://docs.abbyy.com
- Guide de configuration des connexions LLM : Configurer les connexions LLM.
- Bonnes pratiques d’ingénierie de prompts : Consultez la documentation de votre fournisseur de LLM.
- Support : Contactez le support ABBYY pour obtenir une assistance technique.
