Modifier

Automatiser le traitement des formulaires PDF

Azure AI Document Intelligence
Azure AI services
Azure Logic Apps
Azure Functions

Cet article décrit une architecture Azure que vous pouvez utiliser pour remplacer des méthodes de traitement de formulaires coûteuses et inflexibles par un traitement PDF automatisé économique et flexible.

Architecture

Diagramme de l’architecture pour le traitement des formulaires PDF

Téléchargez un fichier PowerPoint de cette architecture.

Workflow

  1. Un compte de messagerie Outlook désigné reçoit des fichiers PDF sous forme de pièces jointes. L’arrivée d’un e-mail déclenche une application logique pour le traiter. L’application logique est créée à l’aide des fonctionnalités d’Azure Logic Apps.
  2. L’application logique charge les fichiers PDF dans un conteneur dans Azure Data Lake Storage.
  3. Vous pouvez également charger manuellement ou par programmation des fichiers PDF dans le même conteneur PDF.
  4. L’arrivée d’un fichier PDF dans le conteneur PDF déclenche une autre application logique pour traiter les formulaires PDF qui se trouvent dans le fichier PDF.
  5. L’application logique envoie l’emplacement du fichier PDF à une application de fonction pour traitement. L’application de fonction est créée à l’aide des fonctionnalités d’Azure Functions.
  6. L’application de fonction reçoit l’emplacement du fichier et effectue les actions suivantes :
    1. Il fractionne le fichier en pages uniques si le fichier comporte plusieurs pages. Chaque page contient un formulaire indépendant. Les fichiers fractionnés sont enregistrés dans un deuxième conteneur dans Data Lake Storage.
    2. Il utilise HTTPS POST, une API REST Azure, pour envoyer l’emplacement du fichier PDF monopage à AI Document Intelligence à des fins de traitement. Lorsque Azure AI Document Intelligence termine son traitement, il envoie une réponse à l’application de fonction, qui place les informations dans une structure de données.
    3. Il crée un fichier de données JSON qui contient les données de réponse et stocke le fichier dans un troisième conteneur dans Data Lake Storage.
  7. L’application logique de traitement des formulaires reçoit les données de réponse traitées.
  8. L’application logique de traitement des formulaires envoie les données traitées à Azure Cosmos DB, qui enregistre les données dans une base de données et dans des collections.
  9. Power BI obtient les données d’Azure Cosmos DB et fournit des insights et des tableaux de bord.
  10. Vous pouvez implémenter un traitement supplémentaire si nécessaire sur les données qui se trouvent dans Azure Cosmos DB.

Composants

  • Les services Azure AI sont une catégorie de produits Azure AI qui utilisent les services Azure AI, l’IA spécifique aux tâches et la logique métier pour fournir des services d’IA clés en main pour les processus métier courants. L’un de ces produits est Azure AI Document Intelligence, qui utilise des modèles Machine Learning pour extraire des paires clé-valeur, du texte et des tables à partir de documents.
  • Azure Logic Apps est un service cloud serverless pour la création et l’exécution de workflows automatisés qui intègrent vos applications, données, services et systèmes.
  • Azure Functions est une solution serverless qui vous permet d’écrire moins de code, de maintenir une infrastructure plus légère et de réduire les coûts.
  • Azure Data Lake Storage est la base pour créer des lacs de données d’entreprise sur Azure.
  • Azure Cosmos DB est une base de données NoSQL et relationnelle complètement managée pour développer des applications modernes.
  • Power BI est un ensemble de services logiciels, d’applications et de connecteurs qui œuvrent de concert pour transformer vos sources de données en insights cohérents, visuellement immersifs et interactifs.

Autres solutions

  • Vous pouvez utiliser Azure SQL Database au lieu d’Azure Cosmos DB pour stocker les données de formulaires traitées.
  • Vous pouvez utiliser Azure Data Explorer pour visualiser les données de formulaires traitées stockées dans Data Lake Storage.

Détails du scénario

Le traitement des formulaires est souvent une fonction métier critique. De nombreuses entreprises s’appuient encore sur des processus manuels coûteux, chronophages et sujets aux erreurs. Le remplacement des processus manuels réduit les coûts et les risques et rend une entreprise plus agile.

Cet article décrit une architecture que vous pouvez utiliser pour remplacer le traitement manuel de formulaires PDF ou les systèmes hérités coûteux qui automatisent le traitement des formulaires PDF. Azure AI Document Intelligence traite les formulaires PDF, Logic Apps fournit le flux de travail et Functions fournit des fonctionnalités de traitement des données.

Pour plus d’informations sur le déploiement, consultez Déployer ce scénario dans cet article.

Cas d’usage potentiels

La solution décrite dans cet article peut traiter de nombreux types de formulaires, notamment :

  • Factures
  • Enregistrements de paiements
  • Dossiers de sécurité
  • Enregistrements d’incidents
  • Enregistrements de conformité
  • Bons de commande
  • Formulaires d’autorisation de paiement
  • Formulaires de dépistage de santé
  • Formulaires d’enquête

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework, un ensemble de principes directeurs que vous pouvez utiliser pour améliorer la qualité d’une charge de travail. Pour plus d'informations, consultez Microsoft Azure Well-Architected Framework.

Fiabilité

La fiabilité permet de s’assurer que votre application tient vos engagements auprès de vos clients. Pour plus d’informations, consultez la page Vue d’ensemble du pilier de fiabilité.

Une charge de travail fiable est une charge de travail à la fois résiliente et disponible. La résilience est la capacité du système à récupérer après des défaillances et à continuer de fonctionner. L’objectif de la résilience est que l’application retrouve un état entièrement fonctionnel suite à une défaillance. La disponibilité permet de mesurer si vos utilisateurs peuvent accéder à votre charge de travail quand ils en ont besoin.

Cette architecture est conçue comme une architecture de démarrage que vous pouvez déployer et prototyper rapidement pour fournir une solution métier. Si votre prototype réussit, vous pouvez étendre et améliorer l’architecture, si nécessaire, pour répondre à des exigences supplémentaires.

Cette architecture utilise une infrastructure et des technologies Azure évolutives et résilientes. Par exemple, Azure Cosmos DB dispose d’une redondance intégrée et d’une couverture globale que vous pouvez configurer pour répondre à vos besoins.

Pour obtenir les garanties de disponibilité des services Azure que cette solution utilise, consultez Contrats de niveau de service (SLA) des services en ligne.

Sécurité

La sécurité fournit des garanties contre les attaques délibérées, et contre l’utilisation abusive de vos données et systèmes importants. Pour plus d’informations, consultez Vue d’ensemble du pilier Sécurité.

Le compte de messagerie Outlook utilisé dans cette architecture est un compte de messagerie dédié qui reçoit des formulaires PDF en tant que pièces jointes. Il est recommandé de limiter les expéditeurs aux parties de confiance uniquement et d’empêcher les acteurs malveillants de spammer le compte de messagerie.

L’implémentation de cette architecture décrite dans Déployer ce scénario prend les mesures suivantes pour renforcer la sécurité :

  • Les scripts de déploiement PowerShell et Bicep utilisent Azure Key Vault pour stocker des informations sensibles afin qu’elles ne soient pas affichées sur les écrans de terminal ni stockées dans les journaux de déploiement.
  • Les identités managées fournissent une identité managée automatiquement dans Microsoft Entra ID que des applications utilisent lors de la connexion à des ressources qui prennent en charge l’authentification Microsoft Entra. L’application de fonction utilise des identités managées pour que le code ne dépende pas de principaux individuels et ne contienne pas d’informations d’identité sensibles.

Optimisation des coûts

L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et à améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.

Voici quelques recommandations pour optimiser les coûts :

  • Utilisez la stratégie de paiement à l’utilisation pour votre architecture, et effectuez un scale-out selon les besoins au lieu d’investir dans des ressources à grande échelle au départ.
  • L’implémentation de l’architecture décrite dans Déployer ce scénario déploie une solution de départ adaptée à la preuve de concept. Les scripts de déploiement créent une architecture de travail avec des besoins en ressources minimales. Par exemple, les scripts de déploiement créent un plus petit hôte Linux serverless pour exécuter l’application de fonction.

Efficacité des performances

L'efficacité des performances est la capacité de votre charge de travail à évoluer de manière efficace pour répondre aux demandes des utilisateurs. Pour plus d’informations, consultez Vue d’ensemble du pilier d’efficacité des performances.

Cette architecture utilise des services qui ont des fonctionnalités de mise à l’échelle intégrées que vous pouvez utiliser pour améliorer les performances. Voici quelques exemples :

Déployer ce scénario

Vous pouvez déployer une version rudimentaire de cette architecture, un accélérateur de solution, et l’utiliser comme point de départ pour le déploiement de votre propre solution. L’implémentation de référence pour l’accélérateur comprend du code, des scripts de déploiement et un guide de déploiement.

L’accélérateur reçoit les formulaires PDF, extrait les champs de données et enregistre les données dans Azure Cosmos DB. Power BI visualise les données. La conception utilise une méthodologie modulaire basée sur les métadonnées. Aucun champ de formulaire n’est codé en dur. Il peut traiter n’importe quel formulaire PDF.

Vous pouvez utiliser l’accélérateur tel quel, sans modification du code, pour traiter et visualiser les formulaires PDF d’une seule page, tels que les formulaires de sécurité, les factures, les enregistrements d’incident et bien d’autres. Pour l’utiliser, il vous suffit de collecter des exemples de formulaires PDF, d’entraîner un nouveau modèle pour apprendre la disposition des formulaires et de connecter le modèle à la solution. Vous devez également reconcevoir le rapport Power BI pour vos jeux de données pour qu’il fournisse les insights souhaités.

L’implémentation utilise Azure AI Document Intelligence Studio pour créer des modèles personnalisés. L’accélérateur utilise les noms de champs enregistrés dans le modèle Machine Learning comme référence pour traiter d’autres formulaires. Seuls cinq exemples de formulaires sont nécessaires pour créer un modèle Machine Learning personnalisé. Vous pouvez fusionner jusqu’à 100 modèles personnalisés pour créer un modèle Machine Learning composite qui peut traiter divers formulaires.

Référentiel de déploiement

Le référentiel GitHub de l’accélérateur de solution se trouve dans Accélérateur de solution d’automatisation de traitement de formulaire PDF Azure, qui contient le guide de déploiement de cette solution.

Conditions préalables au déploiement

Pour déployer, vous avez besoin d’un abonnement Azure. Pour plus d’informations sur les abonnements gratuits, consultez Créer dans le cloud avec un compte gratuit Azure.

Pour en savoir plus sur les services utilisés dans l’accélérateur, consultez les articles de vue d’ensemble et de référence répertoriés dans :

Points à prendre en considération pour le déploiement

Pour traiter un nouveau type de formulaire PDF, vous utilisez des exemples de fichiers PDF pour créer un modèle Machine Learning. Lorsque le modèle est prêt, vous connectez l’ID de modèle à la solution.

Ce nom de conteneur est configurable dans les scripts de déploiement que vous obtenez à partir du référentiel GitHub.

L’architecture ne répond à aucune exigence de haute disponibilité ou de récupération d’urgence. Si vous souhaitez étendre et améliorer l’architecture actuelle pour le déploiement de production, tenez compte des recommandations et meilleures pratiques suivantes :

  • Concevez l’architecture HA/DR en fonction de vos besoins et utilisez les fonctionnalités de redondance intégrées, le cas échéant.
  • Mettez à jour le code de déploiement Bicep pour créer un environnement informatique capable de gérer vos volumes de traitement.
  • Mettez à jour le code de déploiement Bicep pour créer davantage d’instances des composants d’architecture afin de répondre à vos exigences en matière de haute disponibilité/récupération d’urgence.
  • Suivez les instructions de redondance de Stockage Azure lorsque vous concevez et approvisionnez du stockage.
  • Suivez les instructions de continuité d’activité et de récupération d’urgence lorsque vous concevez et approvisionnez les applications logiques.
  • Suivez les instructions de Fiabilité dans Azure Functions lorsque vous concevez et approvisionnez l’application de fonction.
  • Suivez les instructions de la section Haute disponibilité avec Azure Cosmos DB lorsque vous concevez et approvisionnez une base de données créée à l’aide d’Azure Cosmos DB.
  • Si vous envisagez de mettre ce système en production pour traiter de grands volumes de formulaires PDF, vous pouvez modifier les scripts de déploiement pour créer un hôte Linux dôté de plus de ressources. Pour ce faire, modifiez le code à l’intérieur de deploy-functionsapp.bicep

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

Autres contributeurs :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes