Automatiser la classification de documents dans Azure
Cet article décrit une architecture que vous pouvez utiliser pour traiter différents documents. L’architecture utilise la fonctionnalité Durable Functions d’Azure Functions pour implémenter des pipelines. Les pipelines traitent des documents via Azure AI Document Intelligence pour le fractionnement de documents, la reconnaissance d’entité nommée (NER) et la classification. Le contenu et les métadonnées de document sont utilisés pour le traitement en langage naturel basé sur la récupération (RAG) (NLP).
Architecture
Téléchargez un fichier Visio de cette architecture.
Flux de travail
Un utilisateur charge un fichier de documents dans une application web. Le fichier contient plusieurs documents incorporés de différents types, tels que des fichiers PDF ou TIFF (Tag Image File Format). Le fichier de documents est stocké dans le Stockage Blob Azure (1a). Pour lancer le traitement du pipeline, l’application web ajoute un message de commande à une file d’attente Azure Service Bus (1b).
Le message de commande déclenche l’orchestration de Durable Functions. Le message contient des métadonnées qui identifient l’emplacement Stockage Blob du fichier de documents à traiter. Chaque instance Durable Functions ne traite qu’un seul fichier de documents.
La fonction d’activité analyse appelle l’API Intelligence documentaire d’analyse de document qui transmet l’emplacement de stockage du fichier de documents à traiter. La fonction d’analyse lit et identifie chaque document dans le fichier de documents. Cette fonction retourne le nom, le type, les plages de pages et le contenu de chaque document incorporé à l’orchestration.
La fonction d’activité magasin de métadonnées enregistre les informations relatives au type de document, à l’emplacement et à la plage de pages de chaque document dans un magasin Azure Cosmos DB.
La fonction d’activité d’incorporation utilise le noyau sémantique pour segmenter chaque document et créer des incorporations pour chaque bloc. Les incorporations et le contenu associé sont envoyés à Azure AI Search et stockés dans un index vectoriel. Un ID de corrélation est également ajouté au document de recherche afin que les résultats de la recherche puissent être mis en correspondance avec les métadonnées de document correspondantes d’Azure Cosmos DB.
Le noyau sémantique récupère les incorporations à partir du magasin de vecteurs de recherche IA pour NLP.
Les utilisateurs peuvent discuter avec leurs données à l’aide de NLP. Cette conversation est alimentée par des données ancrées récupérées à partir du magasin vectoriel. Pour rechercher des enregistrements de document qui se trouvent dans Azure Cosmos DB, les utilisateurs utilisent des ID de corrélation inclus dans le jeu de résultats de recherche. Les enregistrements incluent des liens vers le fichier de documents d’origine dans Stockage Blob.
Composants
Durable Functions est une fonctionnalité d’Azure Functions qui vous permet d’écrire des fonctions avec état dans un environnement de calcul serverless. Dans cette architecture, un message dans une file d’attente Service Bus déclenche une instance de fonctions durables. Cette instance lance et orchestre ensuite le pipeline de traitement des documents.
Azure Cosmos DB est une base de données multimodèle distribuée mondialement que vous pouvez utiliser dans vos solutions pour mettre à l’échelle le débit et la capacité de stockage dans n’importe quel nombre de régions géographiques. Des contrats de niveau de service (SLA) complets garantissent le débit, la latence, la disponibilité et la cohérence. Cette architecture utilise Azure Cosmos DB comme magasin de métadonnées pour les informations de classification des documents.
Stockage Azure est un ensemble de services cloud hautement évolutifs et sécurisés pour les données, les applications et les charges de travail. Il inclut Stockage Blob, Azure Files, Stockage Table Azure et Stockage File d’attente Azure. Cette architecture utilise le Stockage Blob pour stocker les fichiers de documents que l’utilisateur charge et que le pipeline Durable Functions traite.
Service Bus est un répartiteur de messages d’entreprise entièrement géré avec des files d’attente de messages et des rubriques de publication-abonnement. Cette architecture utilise Service Bus pour déclencher des instances de fonctions durables.
Le service Azure App Service fournit une infrastructure pour la génération, le déploiement et la mise à l’échelle d’applications web. La fonctionnalité Web Apps d’App Service est un outil HTTP que vous pouvez utiliser pour héberger des applications web, des API REST et des back-ends mobiles. Utilisez Web Apps pour développer en .NET, .NET Core, Java, Ruby, Node.js, PHP ou Python. Les applications peuvent facilement s’exécuter et mettre à l’échelle dans des environnements Windows et Linux. Dans cette architecture, les utilisateurs interagissent avec le système de traitement des documents via une application web hébergée par App Service.
Document Intelligence est un service que vous pouvez utiliser pour extraire des insights de vos documents, formulaires et images. Cette architecture utilise Document Intelligence pour analyser les fichiers de documents et extraire les documents incorporés, ainsi que les informations de contenu et de métadonnées.
Ai Search offre une expérience de recherche riche pour le contenu privé et diversifié dans les applications web, mobiles et d’entreprise. Cette architecture utilise le stockage vectoriel de recherche IA pour indexer les incorporations du contenu de document extrait et des informations de métadonnées afin que les utilisateurs puissent rechercher et récupérer des documents à l’aide de NLP.
noyau sémantique est une infrastructure que vous pouvez utiliser pour intégrer de grands modèles de langage (LLMs) dans vos applications. Cette architecture utilise le noyau sémantique pour créer des incorporations pour le contenu du document et les informations de métadonnées, qui sont stockées dans la recherche IA.
azure OpenAI Service permet d’accéder aux modèles puissants d’OpenAI. Cette architecture utilise Azure OpenAI pour fournir une interface de langage naturel pour permettre aux utilisateurs d’interagir avec le système de traitement des documents.
Autres solutions
Pour faciliter la distribution mondiale, cette solution stocke les métadonnées dans Azure Cosmos DB. Azure SQL Database est une autre option de stockage persistant des métadonnées et des informations des documents.
Pour déclencher des instances de fonctions durables, vous pouvez utiliser d’autres plateformes de messagerie, notamment Azure Event Grid.
Le noyau sémantique est l’une des options de création d’incorporations. Vous pouvez également utiliser Azure Machine Learning ou services Azure AI pour créer des incorporations.
Pour fournir une interface de langage naturel pour les utilisateurs, vous pouvez utiliser d’autres modèles de langage dans Azure AI Foundry. La plateforme prend en charge différents modèles de différents fournisseurs, notamment Mistral, Meta, Cohere et Hugging Face.
Détails du scénario
Dans cette architecture, les pipelines identifient les documents dans un fichier de documents, les classifient par type et stockent les informations pour les utiliser dans un traitement ultérieur.
De nombreuses entreprises doivent gérer et traiter des documents qu’ils analysent en bloc et qui contiennent plusieurs types de documents différents, tels que des fichiers PDF ou des images TIFF à plusieurs pages. Ces documents peuvent provenir de l’extérieur de l’organisation, et l’entreprise réceptrice ne contrôle pas le format.
En raison de ces contraintes, les organisations doivent créer leurs propres solutions d’analyse de documents qui peuvent inclure des processus personnalisés et manuels. Par exemple, une personne peut séparer manuellement des types de documents individuels et ajouter des qualificateurs de classification pour chaque document.
Beaucoup de ces solutions personnalisées sont basées sur le modèle de workflow de machine à états. Les solutions utilisent des systèmes de base de données pour la persistance de l’état du workflow, avec des services d’interrogation qui recherchent les états qu’ils doivent traiter. La maintenance et l’amélioration de ces solutions peuvent augmenter la complexité et l’effort.
Les organisations ont besoin de solutions fiables, évolutives et résilientes pour traiter et gérer l’identification et la classification des documents pour les types de documents qu’elles utilisent. Cette solution peut traiter des millions de documents chaque jour avec une observabilité complète sur la réussite ou l’échec du pipeline de traitement.
NLP permet aux utilisateurs d’interagir avec le système de manière conversationnelle. Les utilisateurs peuvent poser des questions sur les documents et recevoir des réponses en fonction du contenu des documents.
Cas d’usage potentiels
Vous pouvez utiliser cette solution pour :
Créer des rapports de titres. De nombreuses agences gouvernementales et municipalités gèrent des archives papier qui n’existent pas au format numérique. Une solution automatisée efficace peut générer un fichier qui contient tous les documents dont vous avez besoin pour répondre à une demande de documents.
Gérer les dossiers de maintenance. Vous pouvez avoir besoin de numériser et envoyer des dossiers papier, comme des dossiers d’entretien d’avions, de locomotives et de machines, à des organisations extérieures.
Traiter les permis. Les services de permis des villes et des départements utilisent des documents papier générés pour les rapports d’inspection des permis. Vous pouvez prendre une photo de plusieurs documents d’inspection, et identifier, classifier et rechercher automatiquement ces dossiers.
Analyser les planogrammes. Les entreprises de vente au détail et de biens de consommation gèrent l’inventaire et la conformité grâce à l’analyse des planogrammes de magasin. Vous pouvez prendre une photo d’une étagère de magasin et extraire des informations sur les étiquettes de différents produits pour identifier, classifier et quantifier automatiquement les informations sur le produit.
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 Well-Architected Framework.
Fiabilité
La fiabilité permet de s’assurer que votre application peut respecter les engagements que vous prenez à vos clients. Pour en savoir plus, consultez Liste de contrôle de l'examen de la conception pour la fiabilité.
Une charge de travail fiable est à 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é indique la possibilité pour vos utilisateurs d’accéder à votre charge de travail quand ils en ont besoin.
Pour garantir la fiabilité et la disponibilité des points de terminaison Azure OpenAI, envisagez d’utiliser une passerelle d’API générative pour plusieurs déploiements ou instances Azure OpenAI. L’équilibreur de charge back-end prend en charge l’équilibrage de charge basé sur la priorité, le tourniquet et le tourniquet. Cette fonctionnalité vous offre la possibilité de définir une stratégie de distribution de charge Azure OpenAI qui répond à vos besoins spécifiques.
Pour plus d’informations sur la fiabilité dans les composants de solution, consultez les informations du contrat SLA pour les services en ligne Azure.
Optimisation des coûts
L’optimisation des coûts se concentre sur les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d'informations, consultez Liste de contrôle de la révision de la conception pour l'optimisation des coûts.
Les coûts les plus significatifs pour cette architecture sont l’utilisation des jetons de modèle Azure OpenAI, le traitement des images Document Intelligence et les exigences de capacité d’index dans AI Search.
Pour optimiser les coûts :
Utilisez des unités de débit approvisionnées (PTU) et des réservations de service pour réaliser des économies de coûts d’IA prévisibles au lieu d’une consommation basée sur des jetons.
Anticipez les déploiements régionaux et la planification de scale-up opérationnel dans AI Search.
Utilisez la tarification du niveau d’engagement pour Document Intelligence pour gérer les coûts prévisibles.
Utilisez des stratégies de cycle de vie et de capacité réservée pour rightsiser les comptes de stockage.
Utilisez la stratégie de paiement à l’utilisation pour votre architecture et effectuez un scale-out en fonction des besoins au lieu d’investir dans des ressources à grande échelle au début. À mesure que votre solution arrive à maturité, vous pouvez utiliser des réservations App Service pour réduire les coûts le cas échéant.
Pensez aux coûts d’opportunité dans votre architecture et pesez le pour et le contre d’une stratégie visant à être un précurseur ou plutôt un suiveur. Pour estimer le coût initial et les coûts opérationnels, utilisez la calculatrice de prix.
Établissez des budgets et des contrôles pour définir les limites de coût de votre solution. Pour configurer les alertes de prévision et de coût réel, utilisez les alertes budgétaires.
Efficacité des performances
L’efficacité des performances fait référence à la capacité de votre charge de travail à mettre à l’échelle pour répondre efficacement aux demandes des utilisateurs. Pour en savoir plus, consultez Liste de vérification de l'examen de la conception pour l'efficacité des performances
Cette solution peut faire apparaître des goulots d’étranglement des performances quand vous traitez des volumes de données élevés. Pour garantir une efficacité appropriée des performances pour votre solution, assurez-vous que vous comprenez et planifiez les options de mise à l’échelle d’Azure Functions, la mise à l’échelle automatique des services IA et le partitionnement Azure Cosmos DB.
Les PROCESSEURs Azure OpenAI offrent des performances et une disponibilité garanties, ainsi que des déploiements globaux. Ces déploiements utilisent l’infrastructure globale Azure pour acheminer dynamiquement le trafic client vers le centre de données avec la meilleure disponibilité pour les demandes d’inférence du client.
Contributeurs
Microsoft gère cet article. Les contributeurs suivants ont écrit cet article.
Auteur principal :
- Kevin Kraus | Spécialiste technique principal Azure
Autres contributeurs :
- Brian Swiger | Principal spécialiste technique Azure
Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.
Étapes suivantes
Articles de présentation :
- Qu’est-ce que le Stockage Blob ?
- Qu’est-ce que Service Bus ?
- Présentation de Durable Functions
- Qu’est-ce qu’Azure AI Foundry ?
- Qu’est-ce qu’Azure OpenAI ?
- Qu’est-ce qu’Azure AI Intelligence documentaire ?
- Qu’est-ce que la recherche IA ?
- Qu’est-ce que le stockage vectoriel de recherche d’IA ?
- Prise en main d’App Service
- Présentation d’Azure Cosmos DB
Documentation du produit :
- Documentation Azure pour tous les produits
- Documentation de Durable Functions
- Documentation Azure OpenAI
- Documentation Intelligence documentaire
- Documentation sur la recherche d’IA
- documentation Azure AI Foundry
- Documentation noyau sémantique