Pour le formulaire de demande en ligne, vous devez fournir une adresse e-mail valide appartenant à l’organisation propriétaire de l’ID d’abonnement Azure et disposer ou bénéficier d’un accès à cet abonnement.
Azure Form Recognizer est un service d’IA appliquée qui vous permet de générer des logiciels de traitement de données automatisé à l’aide de la technologie machine learning. Form Recognizer vous permet d’identifier et d’extraire du texte, des paires clé/valeur, des marques de sélection, des données de tableau et plus encore de vos formulaires, et de générer des données structurées qui incluent les relations dans le fichier d’origine.
Dans cet article, vous allez apprendre à télécharger, installer et exécuter des conteneurs Form Recognizer. Les conteneurs vous permettent d’exécuter le service Form Recognizer dans votre propre environnement. Les conteneurs conviennent particulièrement bien à certaines exigences de sécurité et de gouvernance des données. Les fonctionnalités de Form Recognizer sont prises en charge par six conteneurs de fonctionnalités Form Recognizer : Disposition, Carte de visite, Document d’identité, Reçu, Facture et Personnalisé (pour les conteneurs Reçu, Carte de visite et Document d’identité, vous aurez également besoin du conteneur OCR Lire).
Vous avez également besoin des prérequis suivants pour pouvoir utiliser les conteneurs Form Recognizer :
Obligatoire
Objectif
Bonne connaissance de Docker
Vous devez comprendre les concepts de base liés à Docker (comme les registres, les référentiels, les conteneurs et les images conteneurs), et connaître les principaux termes et commandes utilisés pour docker.
Moteur Docker installé
Vous avez besoin d’un moteur Docker installé sur un ordinateur hôte. Docker fournit des packages qui configurent l’environnement Docker sur macOS, Windows et Linux. Pour apprendre les principes de base de Docker et des conteneurs, consultez la vue d’ensemble de Docker.
Vous devez configurer Docker pour permettre aux conteneurs de se connecter à Azure et de lui envoyer des données de facturation.
Sur Windows, vous devez également configurer Docker pour la prise en charge des conteneurs Linux.
Ressource Form Recognizer
Une ressource Azure Form Recognizer à service unique ou Cognitive Services multiservice dans le portail Azure. Pour utiliser ces conteneurs, vous devez disposer de la clé et de l’URI de point de terminaison associés. Ces deux valeurs sont disponibles dans la page Clés et point de terminaison de Form Recognizer dans le portail Azure :
{FORM_RECOGNIZER_KEY} : une des deux clés de ressource disponibles.
{FORM_RECOGNIZER_ENDPOINT_URI} : point de terminaison de la ressource utilisée pour effectuer le suivi des informations de facturation.
Ressource API Vision par ordinateur
Pour traiter des cartes de visite, des documents d’ID ou des reçus, vous avez besoin d’une ressource Vision par ordinateur.
Vous pouvez accéder à la fonctionnalité Reconnaître le texte en tant que ressource Azure (API REST ou SDK) ou conteneurcognitive-services-Recognize-Text. Les frais de facturation habituels s’appliquent.
Si vous utilisez le conteneur cognitive-services-recognize-text, assurez-vous que votre clé Vision par ordinateur pour le conteneur Form Recognizer est la clé spécifiée dans la commande docker run ou docker compose de Vision par ordinateur pour le conteneur cognitive-services-recognize-text et que votre point de terminaison de facturation est le point de terminaison du conteneur (par exemple, http://localhost:5000). Si vous utilisez le conteneur Vision par ordinateur et le conteneur Form Recognizer ensemble sur le même hôte, ceux-ci ne peuvent pas être démarrés tous les deux avec le port par défaut 5000.
Transmettez la clé et les points de terminaison pour votre conteneur Cognitive Services ou cloud Azure Vision par ordinateur :
{COMPUTER_VISION_KEY} : une des deux clés de ressource disponibles.
{COMPUTER_VISION_ENDPOINT_URI} : point de terminaison de la ressource utilisée pour effectuer le suivi des informations de facturation.
Facultatif
Objectif
Azure CLI (interface de ligne de commande)
L’interface Azure CLI vous permet d’utiliser un ensemble de commandes en ligne pour créer et gérer des ressources Azure. Elle peut s’installer dans les environnements Windows, macOS et Linux, et s’exécuter dans un conteneur Docker et Azure Cloud Shell.
Demande d’approbation pour l’exécution du conteneur
Le formulaire demande des informations sur vous, votre entreprise et le scénario d’utilisateur pour lequel vous allez utiliser le conteneur. Une fois le formulaire envoyé, l’équipe Cognitive Services Azure l’examinera et vous informera de sa décision par e-mail dans les 10 jours ouvrables.
Dans le formulaire, vous devez utiliser une adresse e-mail associée à un ID d’abonnement Azure. La ressource Azure que vous utilisez pour exécuter le conteneur doit avoir été créée avec l’ID d’abonnement Azure approuvé. Vérifiez votre adresse e-mail (boîtes de réception et dossiers de courrier indésirable) pour obtenir des mises à jour sur l’état de votre application auprès de Microsoft. Une fois approuvé, vous pourrez exécuter le conteneur après l’avoir téléchargé à partir de Microsoft Container Registry, décrit plus loin dans cet article.
Ordinateur hôte requis
L’hôte est un ordinateur x64 qui exécute le conteneur Docker. Il peut s’agir d’un ordinateur local ou d’un service d’hébergement Docker dans Azure, comme :
Le tableau suivant liste le ou les conteneurs de prise en charge pour chaque conteneur Form Recognizer que vous téléchargez. Pour plus d’informations, consultez la section Facturation.
Conteneur de fonctionnalités
Conteneur(s) de prise en charge
Disposition
Aucune
Carte de visite
Vision par ordinateur – Lire
Document d’ID
Vision par ordinateur – Lire
Facture
Disposition
Réception
Vision par ordinateur – Lire
Personnalisée
API personnalisée, Supervisé personnalisé, Disposition
Cœurs de processeur et mémoire recommandés
Notes
Les valeurs minimale et recommandée sont basées sur les limites de Docker, pas sur les ressources de la machine hôte.
Conteneurs Lire, Disposition et Prédéfinis
Conteneur
Minimum
Recommandé
Read 3.2
8 cœurs, 16 Go de mémoire
8 cœurs, 24 Go de mémoire
Disposition 2.1 (préversion)
8 cœurs, 16 Go de mémoire
8 cœurs, 24 Go de mémoire
Carte de visite 2.1 (préversion)
2 cœurs, 4 Go de mémoire
4 cœurs, 4 Go de mémoire
Document d’ID 2.1 (préversion)
1 cœur, 2 Go de mémoire
2 cœurs, 2 Go de mémoire
Facture 2.1 (préversion)
4 cœurs, 8 Go de mémoire
8 cœurs, 8 Go de mémoire
Reçu 2.1 (préversion)
4 cœurs, 8 Go de mémoire
8 cœurs, 8 Go de mémoire
Conteneurs personnalisés
Les ordinateurs hôtes requis suivants sont applicables aux demandes d’entraînement et d’analyse :
Conteneur
Minimum
Recommandé
API personnalisée
0,5 cœur, 0,5 Go de mémoire
1 cœur, 1 Go de mémoire
Supervisé personnalisé
4 cœurs, 2 Go de mémoire
8 cœurs, 4 Go de mémoire
Chaque cœur doit être cadencé à au moins 2,6 gigahertz (GHz).
Le nombre de cœurs et la quantité de mémoire correspondent aux paramètres --cpus et --memory, qui sont utilisés dans le cadre de la commande docker compose ou docker run.
Conseil
Vous pouvez utiliser la commande docker images pour lister vos images conteneurs téléchargées. Par exemple, la commande suivante liste l’ID, le référentiel et la balise de chaque image conteneur téléchargée dans un tableau :
docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
IMAGE ID REPOSITORY TAG
<image-id> <repository-path/name> <tag-name>
Exécuter le conteneur à l’aide de la commande docker-compose up
Remplacez les valeurs {ENDPOINT_URI} et {API_KEY} par votre URI de point de terminaison de ressource et la clé dans la page de ressources Azure.
Assurez-vous que la valeur CLUF est définie sur « accepter ».
Vous devez spécifier les valeurs EULA, Billing et Key ; sinon, le conteneur ne démarrera pas.
Important
Les clés sont utilisées pour accéder à votre ressource Form Recognizer. Ne partagez pas vos clés. Stockez-les en toute sécurité, par exemple, à l’aide de Azure Key Vault. Nous vous recommandons également de régénérer ces clés régulièrement. Une seule clé est nécessaire pour effectuer un appel d’API. Lors de la régénération de la première clé, vous pouvez utiliser la deuxième clé pour un accès continu au service.
Vous trouverez ci-dessous un exemple docker compose autonome permettant d’exécuter le conteneur Disposition de Form Recognizer. Avec docker compose, vous utilisez un fichier YAML pour configurer les services de votre application. Ensuite, avec la commande docker-compose up, vous créez et démarrez tous les services à partir de votre configuration. Entrez les valeurs {FORM_RECOGNIZER_ENDPOINT_URI} et {FORM_RECOGNIZER_KEY} pour votre instance de conteneur Disposition.
Maintenant, vous pouvez démarrer le service à l’aide de la commande docker compose :
docker-compose up
Vous trouverez ci-dessous un exemple docker compose autonome permettant d’exécuter ensemble les conteneurs Carte de visite et Lire de Form Recognizer. Avec docker compose, vous utilisez un fichier YAML pour configurer les services de votre application. Ensuite, avec la commande docker-compose up, vous créez et démarrez tous les services à partir de votre configuration. Entrez les valeurs {FORM_RECOGNIZER_ENDPOINT_URI} et {FORM_RECOGNIZER_KEY} pour votre instance de conteneur Carte de visite. Entrez {COMPUTER_VISION_ENDPOINT_URI} et {COMPUTER_VISION_KEY} pour votre conteneur Lire de Vision par ordinateur.
Maintenant, vous pouvez démarrer le service à l’aide de la commande docker compose :
docker-compose up
Vous trouverez ci-dessous un exemple docker compose autonome permettant d’exécuter ensemble les conteneurs Document d’ID et Lire de Form Recognizer. Avec docker compose, vous utilisez un fichier YAML pour configurer les services de votre application. Ensuite, avec la commande docker-compose up, vous créez et démarrez tous les services à partir de votre configuration. Entrez les valeurs {FORM_RECOGNIZER_ENDPOINT_URI} et {FORM_RECOGNIZER_KEY} pour votre conteneur Document d’ID. Entrez les valeurs {COMPUTER_VISION_ENDPOINT_URI} et {COMPUTER_VISION_KEY} pour votre conteneur Lire de Vision par ordinateur.
Maintenant, vous pouvez démarrer le service à l’aide de la commande docker compose :
docker-compose up
Vous trouverez ci-dessous un exemple docker compose autonome permettant d’exécuter ensemble les conteneurs Facture et Disposition de Form Recognizer. Avec docker compose, vous utilisez un fichier YAML pour configurer les services de votre application. Ensuite, avec la commande docker-compose up, vous créez et démarrez tous les services à partir de votre configuration. Entrez les valeurs {FORM_RECOGNIZER_ENDPOINT_URI} et {FORM_RECOGNIZER_KEY} pour vos conteneurs Facture et Disposition.
Maintenant, vous pouvez démarrer le service à l’aide de la commande docker compose :
docker-compose up
Vous trouverez ci-dessous un exemple docker compose autonome permettant d’exécuter ensemble les conteneurs Reçu et Lire de Form Recognizer. Avec docker compose, vous utilisez un fichier YAML pour configurer les services de votre application. Ensuite, avec la commande docker-compose up, vous créez et démarrez tous les services à partir de votre configuration. Entrez les valeurs {FORM_RECOGNIZER_ENDPOINT_URI} et {FORM_RECOGNIZER_KEY} pour votre conteneur Reçu. Entrez les valeurs {COMPUTER_VISION_ENDPOINT_URI} et {COMPUTER_VISION_KEY} pour votre conteneur Lire de Vision par ordinateur.
Rassemblez au moins six formulaires du même type. Vous allez utiliser ces données pour entraîner le modèle et tester un formulaire. Vous pouvez utiliser un exemple de jeu de données (téléchargez et extrayez sample_data.zip). Téléchargez les fichiers d’entraînement dans le dossier shared que vous avez créé ci-dessus.
Si vous souhaitez étiqueter vos données, téléchargez l’outil d’étiquetage des exemples Form Recognizer pour Windows. Le téléchargement importera le fichier .exe d’outil d’étiquetage que vous utiliserez pour étiqueter les données présentes sur votre système de fichiers local. Vous pouvez ignorer les avertissements qui se produisent pendant le processus de téléchargement.
Créer un nouveau projet d’outil d’étiquetage des exemples
Ouvrez l’outil d’étiquetage en double-cliquant sur le fichier .exe de l’outil d’étiquetage des exemples.
Dans le volet gauche de l’outil, sélectionnez l’onglet Connexions.
Sélectionnez la création d’un nouveau projet et attribuez-lui un nom et une description.
Pour le fournisseur, choisissez l’option du système de fichiers local. Pour le dossier local, veillez à entrer le chemin d’accès au dossier où vous avez stocké les exemples de fichiers de données.
Revenez à l’onglet d’accueil et sélectionnez l’option « Utiliser un modèle personnalisé pour effectuer l’apprentissage d’un modèle avec des étiquettes et des paires clé/valeur ».
Sélectionnez le bouton Entraîner dans le volet gauche pour entraîner le modèle étiqueté.
Enregistrez cette connexion et utilisez-la pour étiqueter vos demandes.
Vous pouvez choisir d’analyser le fichier de votre choix par rapport au modèle entraîné.
• Créer un fichier docker compose
Nommez ce fichier docker-compose.yml
Voici un exemple docker compose autonome pour exécuter ensemble les conteneurs Disposition, Outil d’étiquetage, API personnalisée et Supervisé personnalisé de Form Recognizer. Avec docker compose, vous utilisez un fichier YAML pour configurer les services de votre application. Ensuite, avec la commande docker-compose up, vous créez et démarrez tous les services à partir de votre configuration.
Veiller à ce que le service soit en cours d’exécution
Pour vous assurer que le service fonctionne correctement, exécutez ces commandes dans un interpréteur Ubuntu.
$cd <folder containing the docker-compose file>
$source .env
$docker-compose up
Créer une nouvelle connexion
Dans le volet gauche de l’outil, sélectionnez l’onglet Connexions.
Sélectionnez créer un nouveau projet et attribuez-lui un nom et une description.
Pour le fournisseur, choisissez l’option système de fichiers local. Pour le dossier local, veillez à entrer le chemin d’accès au dossier où vous avez stocké les fichiers d’exemples de données.
Revenez à l’onglet d’accueil et sélectionnez Utiliser un modèle personnalisé pour effectuer l’apprentissage d’un modèle avec des étiquettes et des paires clé/valeur.
Sélectionnez le bouton Entraîner dans le volet gauche pour entraîner le modèle étiqueté.
Enregistrez cette connexion et utilisez-la pour étiqueter vos demandes.
Vous pouvez choisir d’analyser le fichier de votre choix par rapport au modèle entraîné.
Vérifier que le serveur est en cours d’exécution
Il existe plusieurs façons de vérifier que le conteneur est exécuté :
Le conteneur fournit une page d’accueil au niveau \, qui est une validation visuelle que le conteneur est en cours d’exécution.
Vous pouvez ouvrir votre navigateur web habituel, puis accéder à l’adresse IP externe et au port exposé du conteneur en question. Utilisez les différentes URL de requête ci-dessous pour vérifier que le conteneur est en cours d’exécution. Les exemples d’URL de requête listés ci-dessous sont http://localhost:5000, mais votre conteneur spécifique peut varier. N’oubliez pas que vous accédez à l’adresse IP externe et au port exposé de votre conteneur.
URL de la demande
Objectif
http://localhost:5000/
Le conteneur fournit une page d’hébergement.
http://localhost:5000/ready
Cette demande, effectuée avec GET, permet de vérifier que le conteneur est prêt à accepter une requête exécutée sur le modèle. Cette requête peut être utilisée pour les probes liveness et readiness de Kubernetes.
http://localhost:5000/status
Cette demande, effectuée avec GET, permet de vérifier si la clé API servant à démarrer le conteneur est valide sans provoquer de requête de point de terminaison. Cette requête peut être utilisée pour les probes liveness et readiness de Kubernetes.
http://localhost:5000/swagger
Le conteneur fournit un ensemble complet de documentation pour les points de terminaison et une fonctionnalité Essayer. Avec cette fonctionnalité, vous pouvez entrer vos paramètres dans un formulaire HTML basé sur le web, et constituer la requête sans avoir à écrire du code. Une fois la requête retournée, un exemple de commande CURL est fourni pour illustrer les en-têtes HTTP, et le format du corps qui est nécessaire.
Arrêter les conteneurs
Pour arrêter les conteneurs, utilisez la commande suivante :
docker-compose down
Facturation
Les conteneurs Form Recognizer envoient des informations de facturation à Azure en utilisant une ressource Form Recognizer sur votre compte Azure.
Les requêtes sur le conteneur sont facturées au niveau tarifaire de la ressource Azure utilisée pour Key. Chaque instance de conteneur utilisée pour traiter vos documents et vos images vous sera facturée. Par conséquent, si vous utilisez la fonctionnalité de carte de visite, les instances de conteneur BusinessCard et Computer Vision Read de Form Recognizer vous seront facturées. Pour la fonctionnalité de facture, les instances de conteneur Invoice et Layout de Form Recognizer vous seront facturées. Consultez la facturation des conteneurs Form Recognizer et des fonctionnalités Lire de Vision par ordinateur.
Les conteneurs Azure Cognitive Services ne sont pas concédés sous licence dans le but de s’exécuter sans être connectés au point de terminaison de mesure/facturation. Vous devez configurer les conteneurs de manière à ce qu’ils communiquent les informations de facturation au point de terminaison de facturation à tout moment. Les conteneurs Cognitive Services n’envoient pas de données client, telles que l’image ou le texte analysé, à Microsoft.
Connexion à Azure
Le conteneur a besoin des valeurs d’arguments de facturation pour s’exécuter. Ces valeurs permettent au conteneur de se connecter au point de terminaison de facturation. Le conteneur crée des rapports sur l’utilisation toutes les 10 à 15 minutes. Si le conteneur ne se connecte pas à Azure dans la fenêtre de temps imparti, il continue de s’exécuter, mais ne traite pas les requêtes tant que le point de terminaison de facturation n’est pas restauré. Une tentative de connexion est effectuée 10 fois, toutes les 10 à 15 minutes. S’il ne parvient pas à se connecter au point de terminaison de facturation au cours de ces 10 essais, le conteneur cesse de traiter les demandes. Pour obtenir un exemple des informations envoyées à Microsoft en lien avec la facturation, consultez le Forum aux questions sur le conteneur Cognitive Services.
Arguments de facturation
La commande docker-compose up démarre le conteneur quand des valeurs valides sont attribuées aux trois options suivantes :
Option
Description
Key
Clé de la ressource Cognitive Services utilisée pour le suivi des informations de facturation. La valeur de cette option doit être définie sur une clé pour la ressource provisionnée spécifiée dans Billing.
Billing
Point de terminaison de la ressource Cognitive Services utilisé pour le suivi des informations de facturation. La valeur de cette option doit être définie sur l’URI de point de terminaison d’une ressource Azure provisionnée.
Eula
Indique que vous avez accepté la licence pour le conteneur. La valeur de cette option doit être définie sur accepter.
Et voilà ! Dans cet article, vous avez découvert les concepts et les workflows de téléchargement, d’installation et d’exécution des conteneurs Form Recognizer. En résumé :
Form Recognizer fournit sept conteneurs Linux pour Docker.
Les images conteneur sont téléchargées à partir de mcr.
Les images conteneurs s’exécutent dans Docker.
Vous devez spécifier les informations de facturation lors de l’instanciation d’un conteneur.
Important
Les conteneurs Cognitives Services ne sont pas concédés sous licence pour s’exécuter sans être connectés à Azure pour le contrôle. Les clients doivent configurer les conteneurs de manière à ce qu’ils communiquent les informations de facturation au service de contrôle à tout moment. Les conteneurs Cognitive Services n’envoient pas de données relatives aux clients (par exemple, l’image ou le texte en cours d’analyse) à Microsoft.