Installer et exécuter des conteneurs Form Recognizer v2.1 en préversion

Important

  • Les conteneurs Form Recognizer sont en préversion contrôlée. Pour les utiliser, vous devez envoyer une demande en ligne et recevoir une approbation. Pour plus d’informations, consultezla section Demande d’approbation pour l’exécution d’un conteneur, plus loin dans cet article.

  • 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).

Prérequis

Pour commencer, vous avez besoin d’un compte Azure actif. Si vous n’en avez pas, vous pouvez créer un compte gratuit.

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

Complétez et envoyez le formulaire d’application pour les services contrôlés pour demander l’approbation d’exécuter ce 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 :

Exigences et suggestions relatives au conteneur

Conteneurs requis

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

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.

    Screenshot: Azure portal keys and endpoint page.

  • 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.

version: "3.9"
services:
azure-cognitive-service-layout:
    container_name: azure-cognitive-service-layout
    image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout
    environment:
      - EULA=accept
      - billing={FORM_RECOGNIZER_ENDPOINT_URI}
      - apiKey={FORM_RECOGNIZER_KEY}
    ports:
      - "5000"
    networks:
      - ocrvnet
networks:
  ocrvnet:
    driver: bridge

Maintenant, vous pouvez démarrer le service à l’aide de la commande docker compose :

docker-compose up

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.

Screenshot: Azure container welcome page.

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.

Pour plus d’informations sur ces options, consultez Configurer des conteneurs.

Résumé

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.

Étapes suivantes