L'automatisation des dossiers de sinistre, des tickets de support et des documents KYC peut tourner entièrement dans la propre infrastructure d'une entreprise, sans qu'aucun document soit envoyé à un fournisseur de modèles externe. Le modèle de langage est une étape sur sept, aux côtés de la classification, de l'extraction du texte et de la mise en page, de la validation, d'une file de revue, de l'évaluation par champ et d'un enregistrement d'audit. Voici comment chaque étape se construit, ce qui diffère entre sinistres, tickets et KYC, et ce qu'il faut demander à un prestataire qui propose de le construire.
Les dossiers de sinistre, les tickets de support et les documents KYC ont le même problème en commun : des personnes les lisent pour remplir des champs dont un autre système a besoin. Un sinistre devient un numéro de police, une date de sinistre et des lignes de facture ; un ticket, une catégorie et un client ; une pièce d'identité, un nom, une date de naissance et une date d'expiration. L'exigence qui accompagne ce travail est généralement formulée avant tout le reste : les documents ne doivent partir ni chez OpenAI ni chez aucun autre fournisseur de modèles externe.
L'endroit où tourne le modèle est une décision distincte, comparée dans un article précédent de ce blog. Celui-ci suppose un modèle à poids ouverts servi dans votre infrastructure et décrit le pipeline qui l'entoure, de l'ingestion jusqu'à l'enregistrement que consomme un autre système. Il explique des mécanismes ; ce n'est pas une étude de cas.
La réponse courte : le modèle de langage est une étape sur sept, et les sept tournent dans votre infrastructure. Les documents sont classés à l'ingestion ; le texte et la mise en page sont extraits par OCR ou par un modèle de mise en page avant tout appel au modèle ; un moteur de serving auto-hébergé contraint la sortie à un schéma par type de document ; du code valide l'enregistrement par rapport au schéma et aux règles métier ; les champs en échec ou incertains vont dans une file de revue humaine dont les corrections alimentent le jeu d'évaluation ; la précision est mesurée par champ et par type de document ; et chaque champ conserve la trace du modèle, du prompt et de la version de schéma qui l'ont produit. Sinistres, tickets et KYC partagent ce squelette et diffèrent par leurs règles, leurs données à caractère personnel et leur conservation. Ce qu'amBrain peut étayer publiquement sur son propre travail autour des LLM, en intégralité : Nous avons mené une intégration LLM jusqu'en production dans le périmètre FinTech d'un client : extraction et normalisation d'avis non structurés émis par des brokers et des places de marché — opérations sur titres, modifications d'instruments et de marges — en enregistrements structurés que consomme le système de trading. Le client n'est pas nommé, les étapes parmi celles-ci que ce projet a utilisées ne sont pas divulguées, et cet article n'est pas une étude de cas de ce projet.
Tenir les données à l'écart des fournisseurs externes est une propriété de l'ensemble du pipeline, pas de l'appel au modèle : le moteur d'OCR, l'outil de revue, le jeu d'évaluation, le stockage d'audit et les logs contiennent tous le document ou quelque chose qui en dérive, comme le détaille intégralement l'article précédent sur les pilotes.
Chaque étape ultérieure dépend du type de document : le schéma, les règles, les relecteurs et la durée de conservation ; la classification vient donc en premier et décide de la route. Un dossier de sinistre arrivé par e-mail peut contenir un formulaire de déclaration, des factures, des photos et un rapport médical ; chaque pièce jointe est classée séparément et rattachée au même dossier.
Un PDF généré par un logiciel comporte une couche texte lisible directement. Un scan ou une photo prise au téléphone ne contient que des pixels, et il faut quelque chose pour les transformer en caractères avec leurs positions.
Les moteurs open source pour cette étape s'exécutent en local. La documentation en ligne de commande de Tesseract montre une sortie TSV avec une colonne de confiance pour chaque mot et une sortie hOCR avec un attribut de confiance par mot, un signal par mot que l'étape de routage peut exploiter. Docling, une bibliothèque de conversion open source sous licence MIT, cite la mise en page, l'ordre de lecture et la structure des tableaux parmi ses fonctionnalités PDF, la prise en charge de l'OCR pour les PDF scannés et les images, ainsi que l'exécution locale pour les données sensibles et les environnements isolés (air-gapped).
Un modèle vision-langage peut à la place lire l'image de la page : la documentation de vLLM sur les entrées multimodales indique que l'entrée d'images est prise en charge conformément à l'OpenAI Vision API. Ce qui fonctionne le mieux se mesure sur vos documents, en gardant à l'esprit qu'une étape d'OCR séparée renvoie les positions des mots et leurs niveaux de confiance, ce que ne fait pas un modèle qui lit une image.
Chaque type de document reçoit son propre schéma de sortie, versionné comme du code. La documentation de vLLM sur les structured outputs énumère cinq types de contraintes : choice, regex, un schéma JSON, une grammaire hors contexte et un structural tag, avec des backends parmi lesquels xgrammar, guidance, outlines et lm-format-enforcer, et une valeur par défaut, auto, qui essaiera de choisir un backend approprié en fonction des détails de la requête.
Validez à nouveau la sortie dans le code applicatif avec un validateur JSON Schema ordinaire. Les backends diffèrent : la même page indique que xgrammar, guidance et outlines utilisent des expressions régulières de style Rust tandis que lm-format-enforcer utilise le module re de Python, et que pour les modèles Qwen3 Coder avec le raisonnement activé, les structured outputs pourraient être désactivés si le contenu du raisonnement n'est pas analysé dans un champ séparé. Une génération arrêtée par la limite de tokens se termine aussi au milieu d'un enregistrement. La seconde vérification ne coûte pas cher.
Un enregistrement conforme au schéma peut malgré tout être faux. Les contrôles qui le détectent sont ceux que le back-office applique aujourd'hui à la main, écrits sous forme de code par type de document :
Les documents d'identité ont leur propre validateur. L'ICAO Doc 9303, la spécification des documents de voyage lisibles à la machine, définit dans la zone de lecture automatique des chiffres de contrôle calculés modulo 10 avec une pondération 7, 3, 1 répétée en continu, les lettres A à Z comptant pour 10 à 35 et le caractère de remplissage pour zéro, et indique que les chiffres de contrôle permettent aux lecteurs de vérifier que les données sont correctement interprétées.
Le routage se décide par champ, pas par document : un sinistre dont le total de facture échoue alors que tout le reste passe envoie un champ à une personne, pas le dossier entier. Les signaux :
La certitude que le modèle déclare lui-même est volontairement laissée de côté ; un article précédent de ce blog explique pourquoi c'est un garde-fou faible.
L'écran de revue affiche la page, avec les mots cités surlignés, à côté de la valeur proposée, pour qu'un relecteur vérifie au lieu de tout relire. Chaque correction est stockée par champ avec l'ancienne valeur, la nouvelle valeur, le relecteur et un motif choisi dans une courte liste. Une fois confirmée par une deuxième personne, elle rejoint le jeu d'évaluation, mais jamais la partie figée sur laquelle se prennent les décisions de release.
Un chiffre de précision unique pour le pipeline masque le résultat qui compte, par exemple des dates d'expiration qui échouent sur les cartes d'identité d'un pays alors que tous les autres champs passent. Mesurez selon les axes qu'utilise le routage :
Une release, qu'il s'agisse d'un nouveau modèle, d'un prompt, d'un schéma, d'une version d'OCR ou d'un validateur, est notée sur le jeu figé avant sa mise en service, et le jalon s'applique par champ : aucun champ d'aucun type de document ne descend sous son seuil de réussite, même si la moyenne augmente. La construction du premier jeu annoté est traitée dans l'article précédent sur les pilotes qui ne sont jamais passés en production.
Un sinistre contesté ou la question d'un auditeur sur une identité acceptée porte sur un champ d'un document. L'enregistrement qui y répond est écrit pendant l'exécution du pipeline, une entrée par champ, dans un stockage en ajout seul (append-only) :
Le règlement européen sur l'IA (AI Act) fixe une exigence de journalisation pour les systèmes qu'il considère comme à haut risque : l'article 12, paragraphe 1, dispose que les systèmes d'IA à haut risque permettent techniquement l'enregistrement automatique des événements (journaux) tout au long de la durée de vie du système. L'annexe III énumère les usages à haut risque, parmi lesquels l'évaluation de la solvabilité des personnes physiques, sauf pour la détection de fraudes financières, ainsi que l'évaluation des risques et la tarification en matière d'assurance-vie et d'assurance maladie ; l'article 6, paragraphe 3, précise quand un système listé n'est malgré tout pas considéré comme à haut risque, par exemple lorsqu'il accomplit une tâche procédurale étroite. Savoir si un pipeline donné entre dans le champ d'application relève de l'équipe juridique du client ; un enregistrement par champ écrit au moment de l'exécution est utile dans tous les cas.
Un pipeline copie des données à caractère personnel en plus d'endroits que le dossier d'origine. L'article 5, paragraphe 1, point c), du RGPD exige que les données à caractère personnel soient adéquates, pertinentes et limitées à ce qui est nécessaire au regard des finalités pour lesquelles elles sont traitées (minimisation des données). L'article 25, paragraphe 2, demande des mesures garantissant que, par défaut, seules les données à caractère personnel nécessaires au regard de chaque finalité spécifique du traitement sont traitées, et applique cela à la quantité de données collectées, à l'étendue de leur traitement, à leur durée de conservation et à leur accessibilité. En termes de pipeline :
L'OWASP Logging Cheat Sheet range les données personnelles sensibles et certaines formes d'informations permettant d'identifier une personne, comme les données de santé et les identifiants officiels, parmi les données qui ne devraient généralement pas être enregistrées directement dans les logs, et indique que ces données devraient plutôt être supprimées, masquées, assainies, hachées ou chiffrées.
La conservation diffère selon le type de document et, pour le KYC dans l'UE, elle est fixée par le droit de la lutte contre le blanchiment. L'article 77 du règlement (UE) 2024/1624, applicable à partir du 10 juillet 2027, impose aux entités assujetties de conserver une copie des documents et informations obtenus dans le cadre des mesures de vigilance à l'égard de la clientèle et de veiller à ce que ces enregistrements ne soient pas caviardés. Il fixe une durée de conservation de cinq ans, à compter de la fin de la relation d'affaires ou de la date d'une transaction occasionnelle, à l'issue de laquelle les données à caractère personnel doivent être effacées, sous réserve des exceptions prévues par le même article. L'enregistrement KYC d'origine reste complet dans le système de référence ; les propres copies du pipeline, des traces aux instantanés de revue, sont minimisées et supprimées selon un calendrier propre, plus court.
Le volume du back-office est irrégulier : un seul événement peut toucher de nombreux assurés à la fois, et une panne remplit la file des tickets. Les files, la backpressure et le repli manuel sont traités dans l'article précédent sur les pilotes ; voici ce qui est propre à un pipeline documentaire auto-hébergé :
La capacité d'accélérateurs dans votre propre infrastructure est fixe à court terme ; l'ordre dans lequel les files cèdent le passage se décide donc à l'avance, pas pendant le pic.
Tenir les documents à l'écart d'un fournisseur de modèles externe se décide par l'endroit où tourne le modèle. Pouvoir confier ces documents au pipeline se décide par tout ce qui entoure le modèle : le schéma, les règles, la file de revue et l'enregistrement de qui a produit chaque champ.
La question appelle trois types de réponse, et ils vendent des choses différentes. Les éditeurs de solutions de traitement de documents vendent une plateforme, parfois installable sur site, que vous configurez pour vos documents. Les fournisseurs cloud vendent des services managés qui tournent dans leur infrastructure. Les prestataires d'ingénierie construisent le pipeline dans votre environnement à partir de composants ouverts et de vos règles.
Quel que soit le type d'acteur auquel vous vous adressez, ces questions montrent si une équipe a déjà construit cela :
Une réponse qui reste générale sur la première et la cinquième question signifie que le chemin de données et la piste d'audit n'ont pas encore été conçus.
Ce qu'amBrain peut étayer publiquement au-delà de l'intégration en production décrite dans le résumé ci-dessus : amBrain construit des logiciels depuis 2019. Nous travaillons en trois formats : livraison complète, équipe dédiée ou ingénieurs intégrés à votre équipe. Le client conserve la pleine propriété du produit et du code, à l'exception de nos composants réutilisables.
Cet article explique comment fonctionne un tel pipeline ; ce n'est pas une étude de cas, il ne nomme aucun client, et il n'affirme pas qu'amBrain a construit un système de sinistres, de tickets ou de KYC. Le travail en production cité plus haut est l'extraction d'avis de brokers et de places de marché pour un système de trading.
La première étape n'est donc pas le choix d'un modèle. Elle consiste à mettre par écrit, pour un type de document, le schéma, les règles qui le vérifient et les champs qu'une personne doit toujours voir, avant qu'aucun document n'atteigne le pipeline.
Apportez votre architecture actuelle et le mode de défaillance qui vous inquiète : nous les passerons en revue ensemble en une demi-heure.