- Vue d'ensemble (Overview)
- Construction de modèles
- Validation du modèle
- Déploiement du modèle
- API
- Questions fréquemment posées

Guide de l'utilisateur des documents complexes et non structurés
Meilleures pratiques
Cette section contient les meilleures pratiques sur la façon d'écrire de bonnes instructions d'invite au niveau du projet (c'est-à-dire de l'extraction globale), au niveau du groupe de champs et au niveau du champ.
Ces bonnes pratiques sont conçues pour les LLM externes, mais les problèmes d’OCR peuvent toujours se produire. Même dans le cas d’invites bien conçues, le fait de suivre l’ensemble des instructions ne garantit pas que les performances d’extraction répondront à vos attentes.
Recommandations générales pour votre taxonomie
- Clarté et simplicité : utilisez un langage clair, direct et sans ambiguïté. Évitez les instructions trop compliquées qui pourraient tromper le modèle. Utilisez du langage simple et restez succinct.
- Cohérence : maintenir la cohérence de la terminologie entre les champs, les groupes de champs et les instructions pour éviter toute confusion.
- Fournir du contexte : équipez le modèle en un contexte pertinent pour comprendre l’étendue générale de la tâche. Cela peut inclure des informations sur le secteur d'activité, le type de document ou le format de données global, car le modèle doit comprendre la tâche qu'il gère. Si vous fournissez davantage de contexte dans l’invite, cela augmente la probabilité pour le modèle de prédire correctement le champ.
- Itérer : comme l’amélioration des invites est un processus itératif, la maintenance de l’enregistrement de vos brouillons et de leurs résultats correspondants peut fournir des informations précieuses pour les ajustements et améliorations futurs. Écrivez une invite, testez et modifiez. Répétez ce processus jusqu’à ce que vous obteniez l’extraction souhaitée.
- Évitez les instructions négatives : ne saisissez pas d'instruction similaire à : n'oubliez aucune section du document. Remplacez-la par : assurez-vous que toutes les sections clés du document, telles que x, y,z, sont couvertes.
- Éviter le langage répétitif : un langage répétitif peut entraîner une redondance, de la confusion et rendre les instructions du modèle peu claires.
- Attention aux informations contradictoires : assurez-vous que votre projet, votre groupe de champs et vos instructions au niveau du champ ne se confondent pas les uns avec les autres en termes d’informations à extraire, de format de l’extraction et de l’emplacement des informations à extraire. Cela confondra le modèle et fournira des résultats incohérents.
- Exemple de confirmation : dans la mesure du possible, renforcez l'instruction de l'invite par des exemples de réponses correctes. Ces instances peuvent orienter le modèle vers le résultat attendu.
Figure 1. Exemple de taxonomie

Niveau du projet (extraction globale)
| Bonnes pratiques | Détails (Details) | Importance | Exemple correct | Exemple incorrect |
|---|---|---|---|---|
| Définition du secteur d'activité et saisie du type de document | Décrire brièvement le secteur d'activité et le type de document desquels les informations sont extraites. Ensuite, spécifiez les principales caractéristiques et la structure attendue du type de document pour guider l'extraction. | Cela fournit un contexte important pour le processus d'extraction de données. | Instruction: extraire des informations d’un relevé de courtier, qui se trouve couramment dans le secteur des services financiers. Les relevés de courtage se composent généralement de quelques sections : vue d’ensemble du compte, résumé du compte, dépenses de compte et activité de transaction du compte. |
Instruction : extraire du document les champs ci-dessous. Explication: cet exemple d'instruction de projet ne bénéficie pas au modèle. Il ne fournit pas de contexte ou de caractéristiques clés qui pourraient guider le modèle. |
| Spécifiez si vous prévoyez que le document apparaisse plusieurs fois dans un même fichier. | Indiquez si le document contient plusieurs instances de données identiques et fournissez des conseils pour chaque instance d'extraction. Dans les cas d'utilisation qui peuvent contenir plusieurs documents dans un même fichier, identifiez un identificateur unique et incluez-le en tant que champ dans chaque groupe de champs. | Cela facilitera le post-traitement et rendra l'automatisation plus efficace. | Instruction: il peut y avoir plusieurs comptes de courtier dans un seul fichier de document. Un compte de courtage peut être identifié via un champ de numéro de compte unique présent dans chaque groupe de champs. Extrayez les informations du compte, les avoirs du compte et les groupes de champs d’activité du compte pour chaque compte. |
Instruction : extraire toutes les instances de données de chaque document de compte. Explication : cet exemple d’instruction est médiocre dans la mesure où il ne spécifie pas comment déterminer si un type de document apparaît plusieurs fois dans un fichier. |
Groupe de champs
| Bonnes pratiques | Détails (Details) | Importance | Exemple correct | Exemple incorrect |
|---|---|---|---|---|
| Regroupez les points de données similaires que vous souhaitez extraire dans des groupes de champs. | Organisez les champs associés en groupes logiques. | Cela permet de rationaliser l'extraction et de minimiser les erreurs. | Le nom, l'adresse et l'état civil du propriétaire du compte sont autant d'informations qu'il est possible d'associer dans un groupe de champs « Informations sur le propriétaire du compte ». |
Groupe de champs : Informations sur le compte Champs : Dépôts du compte, Date de transaction, Propriétaire du compte Explication : ce regroupement peut fonctionner dans une situation où un utilisateur souhaite uniquement extraire ces trois champs. Cependant, s’il existe d’autres champs tels que le symbole de boursier et la base de coût, la conception ou la structure de ce groupe ne sera pas la plus efficace. |
| Contexte du groupe de champs | Expliquez comment chaque groupe de champs contribue à la signification globale et à l'objectif du document. | Cela aide le modèle à comprendre le contexte de l'extraction. | Instruction : cette section décrit les principaux détails de la déclaration de courtage, y compris le nom de l’action, la date d’achat, la quantité achetée, la base de coût et le prix total payé. Ces informations aident à déterminer les positions actuelles dans un relevé de courtage. |
Instruction : extraire du document les champs ci-dessous. Explication : les instructions de l’invite ne disposent pas de contexte ni d’instructions détaillées pour le modèle. Il n’indique pas non plus le type d’informations qui nécessite une extraction, ni ne met en évidence son importance. |
| Exploitation de l'emplacement et de la structure des informations du document dans les invites de votre groupe de champs |
Indiquez les emplacements probables des données de chaque champ, par exemple tableau, en-tête, corps, pour guider l'extraction. Remarque : si vous travaillez sur un document dans lequel les informations figurent dans la même section, indiquez l'état de la section dans l'invite. | Cela aide le modèle à se concentrer sur la partie correcte du document pour chaque champ. | Instructions : les données de champ de cette section se trouvent très probablement dans l’en-tête du rapport, sur la première page sous le titre du document. |
Instructions : extraire les informations du début du document. Explication : l’invite est vague et ne fournit pas au modèle suffisamment de détails sur les éléments à rechercher dans le document. |
| Modélisation des tableaux à l'aide de groupes de champs avec champs | Traiter un groupe de champs comme un tableau, chaque colonne agissant comme un champ unique au sein de ce groupe. Cette approche est essentielle pour modéliser les données efficacement, car elle garantit une différenciation claire, minimise la duplication des données et améliore la cohérence des données. | Cette méthode permet de structurer logiquement et de disposer les données de manière systématique, ce qui améliore l'efficacité des requêtes et de l'analyse de données. |
Groupe de champs : Clients Champs : Nom, Adresse, Numéro de téléphone |
Groupes de champs : Nom du client, Adresse du client, Numéro de téléphone du client Champs : Nom, Adresse, Numéro de téléphone Explication : cet exemple sépare inutilement chaque client dans son propre groupe de champs, ce qui rend la gestion des données complexe et sujette à des incohérences. |
| Créer des groupes de champs parent et enfant |
Les relations sont caractérisées par un symbole > de supériorité. Un groupe de champs parent peut avoir plusieurs groupes de champs enfants.
| L'utilisation de groupes de champs pour afficher les relations entre les données dans les documents est un excellent moyen de maintenir l'organisation hiérarchique des données. |
Groupe de champs : Relevé de courtage Champs : Propriétaire du compte, Type de compte Nom du groupe de champs : Relevé de courtage > Répartition des actifs Champs : Type d’actif, par exemple, Actions, Obligations, Trésorerie, Pourcentage des actifs totaux Nom du groupe de champs : Relevé de courtage > Investissements Champs : Nom de l’investissement, Quantité détenue, Prix par action, Valeur totale de l’investissement |
Groupe de champs : Propriétaire du compte Champs : Nom, Nom de l’investissement, Type de compte, Nombre d’actions, Actions, Obligations Groupe de champs : Propriétaire du compte > Adresse Champs : Rue, Ville, État, Code postal Groupe de champs : Propriétaire du compte > Coordonnées Champs : Numéro de téléphone, E-mail Explication : il s'agit d'une hiérarchie mal structurée, car elle combine des champs non liés sous le même parent, et les groupes de champs enfants (Adresse et Coordonnées) ne sont pas logiquement liés aux champs du parent (Nom de l'investissement, Nombre d'actions, Actions, Stocks, Liens ). Cela pourrait prêter à confusion dans le modèle d’IA, car il ne reflète pas l’organisation naturelle des données dans le document. |
| Utiliser un champ clé pour les fichiers qui contiennent plusieurs documents | Sélectionnez un identificateur unique dans le document qui vous permettra de différencier les données. Inclure ce champ dans chaque groupe de champs. Il n'est pas nécessaire de modifier l'instruction de ce champ d'un groupe de champs à un autre. | L'inclusion de ce champ clé permet de séparer les informations dans le document et évite toute confusion lors du traitement des données extraites. | Champ : Numéro de compte, Numéro de sécurité sociale, Numéro de police |
Champ : Date, Nom Explication : les noms de champ répertoriés ne seraient pas compatibles avec les champs clés, car ils ne sont pas uniques. Les dates et les noms peuvent être répétés. |
Au niveau du champ
| Bonnes pratiques | Détails (Details) | Importance | Exemple correct | Exemple incorrect |
|---|---|---|---|---|
| Choisir soigneusement les noms des champs | Choisissez pour les champs des noms clairs et reconnaissables qui correspondent aux attentes de l'utilisateur. Si un nom universel est utilisé dans toutes les variantes de document, veillez à l'inclure. | Des noms de champs précis garantissent une extraction précise et réduisent l'ambiguïté. | Champ : Date de l’accident |
Champ : Date Explication: la date est un terme générique qui ne fournit aucun contexte sur ce à quoi la date se réfère. Cela peut entraîner une extraction de données inexacte, car le modèle d’IA peut récupérer n’importe quelle date qui apparaît dans le document. |
| Soyez explicite et détaillé, utilisez des instructions | Démarrez le modèle en indiquant explicitement ce que vous souhaitez qu'il extraie. Spécifiez le format et la structure exacts des données à extraire. | Des instructions claires et détaillées guident le modèle pour extraire exactement ce dont vous avez besoin, dans le format que vous attendez. | Instructions : extraire la liste de tous les conseillers du document, les formater dans une liste séparée par des virgules et les organiser dans l’ordre alphabétique. |
Instructions : obtenir tous les conseillers Explication: l’invite est ambiguë et ne fournit pas d’instructions claires au modèle sur le résultat souhaité et sur la façon dont elle doit être formatée. Cela peut entraîner des incohérences dans les informations extraites, ce qui rend le traitement des résultats plus difficile. |
| Fournir des exemples dans les instructions | Fournir des exemples d'entrées et de sorties attendues correspondantes pour clarifier les résultats attendus. | Cela aide le modèle à comprendre exactement ce que vous recherchez. |
Instruction: extrait les dates de transaction du document. Les dates doivent être au format MM/DD/YYYY . Par exemple, si le document indique que la transaction a été effectuée le 1er janvier 2021, la date extraite doit être le 01/01/2021. Si la date de transaction est indiquée au format MM/YYYY , extrayez-la comme premier jour de ce mois. Par exemple, si la date est présentée comme 05/2021, extrayez-la comme 01/05/2021.
|
Instruction : obtenir les dates de transaction du document. Explication: l'invite ci-dessus n'est pas aussi efficace, car elle ne fournit pas d'instructions explicites sur la façon de gérer les différents formats de date trouvés dans le document. Ce manque de clarté peut entraîner des incohérences au niveau de l’extraction des dates, ce qui rend la tâche d’interprétation et d’analyse des données plus complexe. |
| S’en tenir à une idée principale par instruction de champ | Évitez de surcharger l'invite en essayant d'extraire de grandes quantités de données séquentielles dans un seul champ pour améliorer la précision. Chaque niveau de champ doit se concentrer sur l'extraction d'une donnée. | Cela facilitera également le post-traitement. |
Champ 1 : extraire le numéro de compte. Champ 2 : extraire la date de la transaction. Champ 3 : extraire le solde du compte. |
Instruction : extraire ensemble le numéro de compte, la date de transaction et le solde du compte. Explication: l’invite est surchargée de plusieurs instructions qui dirigent le modèle vers extraire différents types de données simultanément. Cette approche pourrait générer des résultats d'extraction compliqués et rendre le post-traitement difficile. |
Type de champ
| Bonnes pratiques | Détails (Details) | Importance | Exemple correct | Exemple incorrect |
|---|---|---|---|---|
| Choisir des types de données avec un objectif |
Déterminez comment vous souhaitez que les données extraites soient formatées et vérifiez qu'elles correspondent aux scénarios d'utilisation en aval pour optimiser l'extraction des données en vue de l'automatisation.
| La sélection du type de données approprié permet un formatage précis et facilite le traitement en aval. |
Nom du champ : Volume de transaction Type de données : Nombre |
Nom du champ : Numéro de téléphone Type de données : Nombre Explication : l’utilisation du type de données Nombre pour un numéro de téléphone n’est pas utile. Bien qu'un numéro de téléphone soit composé de chiffres, il ne s'agit pas d'une valeur numérique, ce qui signifie que vous n'effectuez pas d'arithmétique avec ; elle est mieux décrite sous la forme d’une chaîne de chiffres. Par conséquent, l'utilisation d'un type de données Texte exact serait le choix approprié. |
| N'incluez que des instructions spécifiques au type de champ dans le type de champ. |
Lorsque vous fournissez des instructions d'extraction de données, il est essentiel de les garder spécifiques à chaque type de champ. Si des instructions générales s'appliquent à tous les champs d'un certain type, un utilisateur peut les fournir au niveau du type de champ pour éviter les répétitions. Par exemple, si tous les champs Montant monétaire doivent être libellés en USD, spécifiez-le au niveau du type de champ. Cependant, certains ensembles de données peuvent nécessiter des champs uniques non couverts par les types de champs existants (Date, Texte, Montant monétaire, etc.). Dans ces cas, vous pouvez créer un nouveau type de champ personnalisé. Lorsque vous écrivez des instructions pour ces nouveaux champs, spécifiez comment les données doivent être formatées pour vous assurer que les données extraites répondent à l'objectif prévu. Ces pratiques améliorent la précision et la cohérence de vos données extraites. |
Type de champ : Date Instruction : extrait toutes les dates associées aux transactions du document. Les dates doivent être normalisées au format |
Type de champ : Montant monétaire Instruction : extraire le prix de l’élément de la colonne Prix du tableau des éléments de la facture. Explication : l’instruction est pertinente spécifiquement pour l’extraction d’une quantité monétaire d’un certain champ (la colonne Prix), et non pour tout autre champ relatif à une quantité monétaire. |
Exemples de champs et de types de champs
Signatures
Lorsque vos documents incluent des signatures, assurez-vous d'appliquer les bonnes pratiques suivantes :
-
Utilisez un type de données booléen pour une activité Signé par X ? c'est-à-dire, Est-il signé par cette personne ?, ainsi qu'un champ de texte pour le nom de la personne, qui est généralement imprimé.
-
Si vous pouvez généralement trouver des signatures dans un format de table ou de type table, utilisez l’option Prétraitement du modèle de table .
-
Les échecs sont le plus courants dans un document comportant plusieurs signataires, y compris la personne nommée dans le document et son témoignage.
-
Soyez clair et descriptif sur les éléments suivants :
- Que constitue une signature ?
- Qu’est-ce qui ne constitue pas une signature ?
- Qui doit signer le document ?
- Comment détecter la personne qui doit signer le document ?
-
Tenez compte des cas d'échec potentiels dans vos documents et incluez-les dans les instructions, comme décrit dans l'exemple suivant :
Exemple d'instruction pour un champ Signé par Signataire
Déterminez si le signataire, et non le témoignage, a signé le document.
Renvoyez la valeur true uniquement si le document est signé par ce signataire. Renvoyez la valeur false si elle n’a pas été signée par eux.
Il est possible que les signatures ne ressemblent pas au nom imprimé. Par conséquent, recherchez simplement une signature ou un ajout manuscrit au document dans l'espace pour la signature près du nom du signataire spécifique.
Si un nom est modifié par un ajout manuscrit, cela ne doit pas être traité comme une signature, mais uniquement des signatures explicites.
Les signatures seront généralement proches et autour du mot « Signé par » ou d'une variante telle que « Signé en tant que Sélectionnez », « En présence de », etc.
Une ligne pointillée ne constitue pas une signature.
S'il s'agit d'un groupe de champs Signatures généraux, contenant un champ Signé combiné au Nom ou à la Position du signataire, ou aux deux, vous pouvez ajouter dans les instructions : Assurez-vous d'attribuer des signatures à la bonne personne.
Voici un exemple d’instruction pour un groupe de champs de signature plus étendu :
Exemple d’instruction pour un groupe de champs Signatures
Informations sur les personnes signant et le statut du document. S’il existe plusieurs blocs de signature et que plusieurs personnes sont présentes dans le document, extrayez-les.
Il peut ne pas y avoir de blocage de signature explicite, mais des contrats et des lettres peuvent avoir été signés par la personne qui l'envoie, avec un bloc de signature pour la personne qui l'accepte. Dans ce cas, extrayez les deux ensembles de signatures.
Remarque :Si les performances ne sont toujours pas satisfaisants, même après que vous avez fait des efforts persistants pour les améliorer grâce au réglage des instructions, contactez votre gestionnaire de compte. Ils peuvent vérifier si des fonctionnalités de traitement des aperçus qui pourraient vous aider sont disponibles dans votre région.
Différences régionales
Quantités monétaires et séparateurs de virgules
Un exemple de différences régionales qui peuvent nécessiter d'être invité à corriger le comportement LLM par défaut est l'utilisation de virgules comme séparateurs décimaux dans certains pays, comme l' Allemagne et l' Inde.
L'exemple suivant, pour un cas d'utilisation de reçus allemands, montre comment tenir compte de la présence de valeurs dans un format inattendu :
Exemple d'instruction
Vous extrayez des données à partir de reçus allemands. Les montants monétaires sont tous en euros, tandis que le symbole euro peut être manquant. "," est le séparateur décimal typique pour tous les nombres, tandis que '.' est utilisé pour formater les valeurs plus grandes.
Pour déterminer si ce format est utilisé, recherchez une virgule comme séparateur final dans la valeur. Sinon, le nombre est probablement formaté dans le format alternatif d’utilisation de ',' pour le formatage et '.' pour les décimales.
Les montants comportent généralement deux décimales (par exemple 8,58 est 8,58 euros et 9.115,00 est 9 115,00e. Attendez-vous à ce que les articles sur une seule ligne dans les reçus d’alimentation soient inférieurs à 100 euros.
Tester et itérer
- Créez un champ contenant toutes les informations que vous souhaitez extraire, mais n'incluez aucune instruction.
- Sélectionnez un échantillon de 2 à 3 documents et exécutez des prédictions sur chacun d'eux. Ces documents doivent refléter la variation présente dans les documents pour lesquels vous créez le modèle.
- Comparez les extractions du modèle à ce que vous attendiez. Pour les champs qui n'ont pas bien fonctionné, rédigez une invite à l'aide des meilleures pratiques énumérées précédemment, car cela vous servira d'invite de référence.
- Réessayez les prédictions à l'aide des mêmes exemples deux ou trois échantillons de documents testés précédemment et vérifiez si les performances d'extraction se sont améliorées.
- Si les prédictions sont incorrectes ou incomplètes, affinez les requêtes pour ajouter les détails nécessaires pour améliorer les performances d'extraction du modèle. Si les prédictions correspondent à vos attentes, élargissez la taille de votre échantillon de documents. Il est essentiel d'augmenter progressivement ces chiffres. Passez de 2 à 3 à 10, puis à 20, 30, etc. Continuez jusqu'à ce que vous soyez certain que les prédictions du modèle sont correctes.
- Si les instructions ont changé, réévaluez les documents précédemment consultés pour vous assurer que les prédictions restent exactes.
- Une fois que vous êtes satisfait des performances du modèle, consultez le premier document et commencez à annoter. Annotez au moins dix documents pour obtenir des métriques de performances de champ utiles dans l'onglet Mesurer. Cette fonctionnalité vous permet d'évaluer les performances d'extraction au niveau global du projet et du champ.
- Surveillez les métriques de performances pour renseigner votre raffinement de prompts à grande échelle. Le processus d'itération rapide doit principalement se produire au niveau du champ, où les ajustements auront des impacts plus ciblés et directs sur les champs spécifiques qui ne fonctionnent pas bien. Si la note d'un groupe de champs ne fonctionne pas bien, l'ajustement de vos instructions de projet et de groupe de champs peut avoir plus d'impact, car elles affectent plusieurs champs.