Génération de schéma par IA - Documentation Entity Enricher

Génération de schéma par IA

Générez des schémas JSON structurés à partir de données d'exemple grâce à l'IA, avec autocorrection automatique et post-traitement intelligent.

Fonctionnement

La génération de schéma transforme des données d'entité brutes en un schéma JSON typé et annoté qui définit exactement quelles informations extraire lors de l'enrichissement. Au lieu d'écrire vos schémas manuellement, vous collez un exemple de JSON et laissez l'IA analyser la structure, inférer les types, attribuer les domaines d'expertise et suggérer des améliorations.

Le pipeline de génération

La génération n'est pas un seul gros prompt. C'est une suite de petits appels à préoccupation unique, exécutés pour la plupart en parallèle — c'est ce qui permet à des modèles petits et peu coûteux de produire un schéma exploitable, puisque chaque appel répond à une seule question étroite sur un matériau qu'il peut embrasser d'un seul regard.

  1. Canonicaliser l'échantillon (sans LLM) — une valeur qui porte sa propre unité devient un nombre dont l'unité figure dans le nom ("8.275 h" devient half_life_seconds: 29790), et une date qu'aucun type natif ne peut représenter devient une année entière. Chaque valeur observée doit confirmer la règle, sinon la propriété reste du texte. C'est l'échantillon réécrit qui est enregistré.
  2. Cadrage de l'identité — un appel unique, exécuté avant tous les autres car c'est le dernier autorisé à modifier votre échantillon. Lorsqu'un élément d'un tableau lié mêle des informations sur l'entité et des informations sur son association au parent, l'élément est restructuré : les informations d'association restent en place, les informations propres à l'entité sont imbriquées dans un sous-objet nommé. Sans cela, les deux types d'information partagent une même identité.
  3. Dériver le squelette (sans LLM) — l'arborescence des propriétés, les types JSON et la nullabilité proviennent directement du ou des échantillons ; les structures répétées et les éléments de tableau assimilables à des entités deviennent des définitions réutilisables. Les objets localisés (comme {"en": "...", "fr": "..."}) sont ramenés à une seule valeur multilingue.
  4. Poser les questions en parallèle — des appels concurrents distincts déterminent l'identité et le nommage de l'entité, les indicateurs comportementaux (clé, préservation, multilingue, nullable, ainsi que les propositions de format), si les champs à nombres entiers sont réellement discrets, quelles chaînes proviennent d'un vocabulaire fermé, et comment les propriétés sont acheminées vers les domaines d'expertise.
  5. Rédiger la documentation — un appel par domaine d'expertise, dans la persona de ce domaine, produisant la description et les exemples de chaque propriété — ainsi que son propre avis complémentaire sur la possibilité réelle que la valeur soit absente.
  6. Assembler, valider, enregistrer (sans LLM) — les fragments sont fusionnés, les 8 règles de validation s'exécutent en filet de sécurité, un post-traitement déterministe résout les conflits d'indicateurs, et le schéma est enregistré — dédoublonné par empreinte de contenu, afin que des schémas identiques ne soient pas dupliqués.

Chaque étape réessaie de son côté (3 tentatives) et ses réponses s'accumulent d'une tentative à l'autre : un modèle qui répond par fragments finit donc par converger. L'étape accepte ensuite ce qu'elle a obtenu et les manques sont comblés de façon déterministe — un modèle faible dégrade les descriptions plutôt que de faire échouer la génération. Seuls l'identité et le routage vers le domaine peuvent faire échouer toute l'exécution. Chaque appel est facturé et journalisé comme un prompt distinct : l'enregistrement montre ainsi exactement ce qui a été dépensé, et où.

Vous pouvez transmettre plusieurs échantillons du même type d'entité au lieu d'un seul — le schéma couvre alors l'union de leurs champs, tout ce qui manque dans un échantillon devient nullable, et les valeurs observées dans l'ensemble deviennent de véritables exemples. Les noms des champs doivent correspondre : les échantillons décrivant des types d'entité différents sont refusés, tout comme les objets d'un tableau qui ne partagent aucun champ, car il ne resterait rien pour identifier leurs lignes. L'éditeur d'échantillons signale toute différence de ce type avant que vous ne dépensiez une génération.

Les valeurs qui comportent leur propre unité sont converties en nombres avant la dérivation du schéma, car une colonne contenant "8.275 h" et "85 ms" ne peut être ni triée, ni filtrée par plage, ni agrégée. L'unité est reportée dans le nom de la propriété (half_life_seconds), un substitut non numérique comme "stable" devient null, et les dates antérieures à l'an 1 deviennent une année entière (négative pour les dates av. J.-C.), qu'aucun type de date ne peut stocker et que le texte trie incorrectement. Votre panneau d'exemple est mis à jour en conséquence, afin d'afficher toujours l'exemple décrit par le schéma. Tout ce que la conversion ne peut pas lire avec certitude est laissé exactement tel que vous l'avez saisi.

Auto-correction, étape par étape

Comme chaque étape répond à une seule question précise, la correction peut l'être tout autant : le validateur d'une étape conserve tout ce qui est revenu exploitable et ne redemande que ce qui manque. Rien n'est régénéré de zéro : une réponse partiellement correcte est donc un progrès, et non une tentative perdue.

Exemple : l'étape de signalement sur 30 propriétés

Tentative 1Le modèle répond pour 22 d'entre elles et répartit sa réponse sur plusieurs appels d'outil — un défaut courant des petits modèles. Les 22 sont conservées.
RéessayerLa relance ne demande que les 8 propriétés restantes — une question plus courte, à laquelle il est plus probable qu'on réponde entièrement.
Tentative 26 autres arrivent. Les 2 derniers se replient sur des valeurs par défaut déterministes, et le manque est consigné dans l'enregistrement de génération au lieu de le faire échouer.

Les huit règles de validation s'appliquent toujours au schéma assemblé en guise de contrôle final — exactitude des types, attribution des domaines d'expertise, intégrité des références, exhaustivité. À ce stade, elles font office de filet de sécurité plutôt que de mécanisme de correction. Pour en savoir plus sur chaque règle, consultez le guide Règles de validation.

Ce que contient le schéma

Un schéma généré est plus qu'une simple définition de types. Chaque propriété inclut des métadonnées qui guident le processus d'enrichissement :

Type

Type de schéma JSON (string, number, integer, boolean, array, object)

Description

Description contextuelle qui indique à l'IA quelles informations rechercher

Expertise

Indique quel domaine d'expertise (financier, réglementaire, etc.) fournit cette valeur

Clé

Indique si ce champ participe à l'identification de l'instance. Les clés remplissent deux rôles à la fois : elles focalisent le prompt d'enrichissement sur la bonne entité, et ce sont elles sur lesquelles la fusion apparie les éléments d'un tableau. Une clé peut malgré tout être nullable — un qualificatif qui distingue des éléments frères similaires reste identifiant même si des familles entières en sont réellement dépourvues

Vocabulaire fermé

Lorsque les valeurs d'une chaîne proviennent d'un ensemble restreint et entièrement énumérable (statuts, notes, codes de classification), la génération propose les membres — orthographiés comme dans vos échantillons — afin que l'enrichissement ne puisse pas dériver vers un synonyme

Nullable

Indique si le champ peut être nul — les champs non nullables sont requis pour l'admission en base de données

Multilingue

Indique si le champ doit être enrichi dans plusieurs langues

Conserver

Indique s'il faut conserver la valeur d'origine inchangée pendant l'enrichissement

Exemples

Des valeurs d'exemple réalistes qui guident l'IA vers le bon format

Format / Motif

Forme vérifiable par la machine pour les valeurs de type chaîne : les réponses malformées sont rejetées puis relancées, et les valeurs stockées conservent la forme canonique. La génération ne revendique jamais qu'un format nommé (date, time, date-time, uuid, email, uri, ipv4, ipv6) prouvé par ses échantillons — un motif regex est une prédiction sur des valeurs que personne n'a encore vues, et un motif erroné fait échouer chaque enrichissement du champ ; c'est donc à vous de l'ajouter vous-même dans l'éditeur

Détection du domaine d'expertise

L'IA regroupe les propriétés du schéma en domaines d'expertise selon leur signification sémantique. Par exemple, le schéma d'une entreprise pharmaceutique pourrait avoir des domaines comme « Analyste financier », « Expert réglementaire » et « Informations sur l'entreprise ». Ces domaines sont utilisés par la stratégie multi-expertise pour exécuter des appels LLM parallèles et spécialisés afin d'obtenir des résultats plus approfondis.

Limites du nombre de domaines

Le nombre de domaines d'expertise est automatiquement limité en fonction du nombre de propriétés de vos données afin d'éviter une fragmentation excessive :

5 propriétés
1 domaine
12 propriétés
2 domaines
30 propriétés
5 domaines
60 propriétés
10 domaines

Post-traitement

Une fois les fragments assemblés, des étapes déterministes tranchent tout ce qui ne doit pas être laissé à un modèle — en s'appuyant sur vos données d'entrée réelles comme preuve :

Élargissement aux valeurs nulles

Un champ absent ou null dans un échantillon quelconque devient nullable quelle qu'ait été la réponse du modèle : une valeur inconnue est ainsi une réponse acceptée plutôt qu'un défaut de qualité des données. Les échantillons ne peuvent qu'élargir : une poignée d'échantillons prouve la présence pour ces instances-là, jamais pour toutes les instances du type — d'où le vote accordé aussi au modèle, les deux étant combinés par un OU.

Résolution des conflits de signalements

Les attributs qui ne peuvent pas coexister sont réconciliés par des règles plutôt qu'en vous redemandant : preserve l'emporte sur multilingual et nullable, un vocabulaire fermé conservé annule multilingual, et une propriété clé ne conserve jamais d'enum.

Réparation des clés d'éléments de tableau

Chaque objet contenu dans un tableau possède obligatoirement au moins une propriété clé — c'est l'unité sur laquelle la fusion déduplique ; un élément de tableau sans clé rendrait impossible la fusion des réponses de deux modèles.

Collecte d'expertise

Tous les domaines d'expertise uniques sont extraits du schéma pour les métriques et la configuration des stratégies.

La langue dans laquelle un schéma est rédigé

Un schéma se décrit lui-même dans une langue — noms de types, descriptions de propriétés, libellés d'expertise et suggestions. C'est autre chose que les langues vers lesquelles vous enrichissez. Indiquez-en une à la génération, ou omettez-la et c'est la langue des noms de propriétés de votre échantillon qui décide : un échantillon en français cesse de produire un schéma en anglais. Le choix est mémorisé, si bien que les modifications ultérieures par l'IA continuent d'écrire dans la même langue au lieu de revenir à l'anglais.

Générer les échantillons eux-mêmes

Vous n'avez pas besoin de données d'exemple pour démarrer. Décrivez le type d'entité — éventuellement avec des documents pour l'ancrer, ou une recherche web pour la confronter à la réalité — et la plateforme rédige les exemples pour vous. Demandez-en plusieurs et vous obtenez plusieurs instances différentes, et non une seule instance reformulée.

Toutes les instances sont choisies en une seule fois

Dans le même appel, le premier échantillon détermine aussi sur qui porteront les suivants. Demander N fois indépendamment « un exemple » renvoie invariablement N fois la même instance célèbre ; c'est le fait de nommer d'emblée l'ensemble des sujets qui les rend distincts.

Le premier échantillon fixe la structure

Les échantillons restants sont générés en parallèle à partir de la structure de l'échantillon 1 prise comme contrat, et pas seulement avec la consigne de s'y conformer — une variante ne peut donc ni renommer, ni ajouter, ni supprimer un champ. Ceux qui reviennent malgré tout en double ou mal formés sont redemandés dans une vague de nouvelles tentatives limitée, et si le nombre demandé n'est pas atteint, vous en êtes informé plutôt que d'en recevoir moins en silence.

La langue, et vos propres instructions

La langue est sur auto par défaut, déduite des mots de votre propre demande, puis de tout document joint. Les instructions supplémentaires que vous ajoutez ont force obligatoire : soit elles sont respectées, soit la réponse vous indique ce qui n'a pas pu l'être et pourquoi — jamais d'abandon silencieux.

Vérification d'ambiguïté

Lisez un nom de propriété dans le contexte de son objet parent et comptez les choses distinctes qu'il pourrait demander. Une seule : c'est clair. Deux ou plus : chaque modèle en retient une différente, et la colonne finit par mélanger des réponses à des questions différentes — annual_revenue pour une entreprise peut désigner le groupe ou l'entité, le brut ou le net, dans l'une de plusieurs devises. Aucune — un nom désignant quelque chose que ce parent n'a tout simplement pas — est pire : n'ayant rien à chercher, le modèle invente une valeur.

La génération lutte contre cela deux fois : le prompt lui-même exige des noms n'admettant qu'une seule lecture, et une passe finale sur le schéma terminé annote ceux qui n'y répondent toujours pas. À ce stade, le remède est un renommage — les descriptions ayant été générées à partir des noms, une description ne peut pas lever l'ambiguïté du nom dont elle est issue, et rien ne dépend encore du schéma. La génération d'exemple applique la même vérification à l'exemple et effectue les renommages avant même que vous ne le voyiez. La prose libre — une description, un résumé, des notes — n'est jamais signalée : la formulation varie, mais la question posée est claire.

Les propriétés signalées affichent un badge « ambigu » dans l'éditeur de workflow, avec la liste des lectures que le nom admet. Une fois le schéma en production, le remède devient une description réécrite, qui fixe un sens unique sans rompre le contrat de données. Consultez le guide Vérification d'ambiguïté pour la grille complète et ses remèdes.

Lors de la génération d'une entité d'exemple à partir d'une description, vous pouvez activer « Utiliser la recherche web » pour permettre au modèle de rechercher des faits actuels sur le web au lieu de s'appuyer uniquement sur ses données d'entraînement. Cela produit des valeurs d'exemple plus fraîches et plus précises — en particulier pour les faits qui évoluent vite, comme les prix, les effectifs ou les sorties récentes. L'option n'apparaît que pour les modèles dont le provider prend en charge la recherche web intégrée, et les appels de recherche sont facturés par le provider comme toute autre utilisation du modèle.

Édition de schéma par IA

Après la génération, vous pouvez modifier les schémas à l'aide d'instructions en langage naturel. Saisissez une commande et l'IA applique la modification tout en préservant la structure existante de votre schéma. Chaque modification produit également 5 suggestions d'améliorations supplémentaires.

Exemples de commandes d'édition

Ajouter un champ entier employee_count
Créer un objet adresse imbriqué avec ville et pays
Ajouter des descriptions en français à tous les champs texte
Définir une référence de société mère avec $defs
Marquer le champ site web comme nullable

Les modifications de l'IA sont validées à l'aide d'un sous-ensemble des règles de génération (vérification des types, intégrité des références, cohérence des expertises) sans comparaison avec les données d'entrée, car vous pouvez intentionnellement ajouter ou supprimer des champs.

Suggestions IA

La génération de schéma comme l'édition IA produisent 5 suggestions ciblées couvrant différentes catégories d'amélioration :

Complétude des donnéesChamps manquants qui pourraient enrichir votre entité
Qualité des donnéesVocabulaires fermés, nullabilité, corrections de type
RelationsStructures imbriquées, références d'entités via $defs
InternationalisationTraductions multilingues, prise en charge des locales
Contexte métierChamps spécifiques au domaine et regroupements d'expertise

Les suggestions apparaissent sous forme de puces cliquables dans l'Éditeur de workflow — cliquez sur l'une d'elles pour renseigner automatiquement le champ d'édition IA et l'appliquer.

Prochaines étapes