Configurer les conteneurs Intelligence documentaire
La prise en charge des conteneurs est actuellement disponible avec Intelligence documentaire version 2022-08-31 (GA)
pour tous les modèles et version 2023-07-31 (GA)
pour les modèles de lecture, de disposition, de facture, de reçu et de pièce d’identité :
- API REST
2022-08-31 (GA)
- API REST
2023-07-31 (GA)
- Bibliothèques de client ciblant
REST API 2022-08-31 (GA)
- Bibliothèques de client ciblant
REST API 2023-07-31 (GA)
✔️ Consultez Configurer des conteneurs Intelligence documentaire v3.0 pour obtenir la documentation sur les conteneurs pris en charge.
Ce contenu s’applique à : v3.0 (GA) v3.1 (GA)
Avec les conteneurs Intelligence documentaire, vous pouvez créer une architecture d’applications optimisée pour tirer parti des fonctionnalités robustes du cloud et de la localité en périphérie. Les conteneurs offrent un environnement minimaliste et isolé qui peut être facilement déployé en local et dans le cloud. Dans cet article, nous vous montrons comment configurer l’environnement d’exécution du conteneur Intelligence documentaire à l’aide des arguments de la commande docker compose
. Les fonctionnalités Intelligence documentaire sont prises en charge par sept conteneurs de fonctionnalités Intelligence documentaire : Lecture, Disposition, Carte de visite, Document d’identité, Reçu, Facture et Personnalisé. Ces conteneurs ont des paramètres obligatoires et facultatifs. Pour obtenir des exemples, consultez la section Exemple de fichier docker-compose.yml.
Paramètres de configuration
Chaque conteneur a les paramètres de configuration suivants :
Obligatoire | Paramètre | Objectif |
---|---|---|
Oui | Clé | Assure le suivi des informations de facturation. |
Oui | Billing | Spécifie l’URI de point de terminaison de la ressource de service sur Azure. Pour plus d’informations, consultez Facturation. Pour obtenir plus d’informations et la liste complète des points de terminaison régionaux, consultez Noms de sous-domaine personnalisés pour Azure AI services. |
Oui | Eula | Indique que vous avez accepté la licence pour le conteneur. |
Non | ApplicationInsights | Permet d’ajouter la prise en charge du client Azure Application Insights à votre conteneur. |
Non | Fluentd | Écrit les données des journaux et, éventuellement, des métriques, sur un serveur Fluentd. |
Non | Proxy HTTP | Configure un proxy HTTP pour effectuer des requêtes sortantes. |
Non | Logging | Fournit la prise en charge de la journalisation ASP.NET Core pour votre conteneur. |
Important
Les paramètres Key
, Billing
et Eula
sont utilisés ensemble. Vous devez fournir des valeurs valides pour les trois paramètres ; à défaut, vos conteneurs ne démarreront pas. Pour plus d’informations sur l’instanciation d’un conteneur à l’aide de ces paramètres de configuration, consultez Facturation.
Paramètres de configuration de clé et de facturation
Le paramètre Key
spécifie la clé de ressource Azure utilisée pour suivre les informations de facturation pour le conteneur. La valeur pour la Clé doit être une clé valide pour la ressource spécifiée pour Billing
dans la section « Paramètre de configuration de facturation ».
Le paramètre Billing
spécifie l’URI de point de terminaison de la ressource sur Azure qui est utilisé pour mesurer les informations de facturation du conteneur. La valeur de ce paramètre de configuration doit être un URI de point de terminaison valide pour une ressource sur Azure. Le conteneur crée des rapports sur l’utilisation toutes les 10 à 15 minutes.
Vous pouvez trouver ces paramètres dans le portail Azure dans la page Clés et points de terminaison.
Paramètre EULA
Le paramètre Eula
indique que vous avez accepté la licence pour le conteneur. Vous devez attribuer à ce paramètre de configuration une valeur qui doit être définie sur accept
.
Obligatoire | Nom | Type de données | Description |
---|---|---|---|
Oui | Eula |
String | Acceptation de la licence Exemple : Eula=accept |
Les conteneurs Azure AI services sont accordés sous licence selon les termes d’un contrat qui régit votre utilisation d’Azure. Si vous ne disposez pas d’un contrat existant régissant votre utilisation d’Azure, vous acceptez que votre utilisation d’Azure soit régie par le Contrat d’abonnement à Microsoft Online, qui intègre les conditions des services en ligne. Pour les préversions, vous acceptez également les conditions d’utilisation supplémentaires des préversions Microsoft Azure. En utilisant le conteneur, vous acceptez les termes du contrat.
Paramètre ApplicationInsights
Le paramètre ApplicationInsights
vous permet d’ajouter la prise en charge de la télémétrie Azure Application Insights à votre conteneur. Application Insights assure une supervision approfondie de votre conteneur. Vous pouvez facilement superviser la disponibilité, les performances et l’utilisation de votre conteneur. De plus, vous pouvez identifier et diagnostiquer rapidement les erreurs dans votre conteneur.
Le tableau suivant décrit les paramètres de configuration pris en charge sous la section ApplicationInsights
.
Obligatoire | Nom | Type de données | Description |
---|---|---|---|
Non | InstrumentationKey |
String | Clé d’instrumentation de l’instance Application Insights à laquelle les données de télémétrie du conteneur sont envoyées. Pour plus d’informations, consultez Application Insights pour ASP.NET Core. Exemple : InstrumentationKey=123456789 |
Paramètres Fluentd
Fluentd est un collecteur de données open source pour la journalisation unifiée. Les paramètres Fluentd
gèrent la connexion du conteneur à un serveur Fluentd. Le conteneur comprend un fournisseur de journalisation Fluentd qui permet à votre conteneur d’écrire des données de journaux d’activité et, éventuellement, de métriques, sur un serveur Fluentd.
Le tableau suivant décrit les paramètres de configuration pris en charge sous la section Fluentd
.
Name | Type de données | Description |
---|---|---|
Host |
String | Adresse IP ou nom d’hôte DNS du serveur Fluentd. |
Port |
Integer | Port du serveur Fluentd. La valeur par défaut est 24224. |
HeartbeatMs |
Integer | Intervalle de pulsation, en millisecondes. Si aucun trafic d’événement n’est envoyé avant l’expiration de cet intervalle, une pulsation est envoyée au serveur Fluentd. La valeur par défaut est de 60 000 millisecondes (1 minute). |
SendBufferSize |
Integer | Espace de mémoire tampon réseau, en octets, alloué pour les opérations d’envoi. La valeur par défaut est de 32 768 octets (32 kilo-octets). |
TlsConnectionEstablishmentTimeoutMs |
Integer | Délai d’attente, en millisecondes, pour établir une connexion SSL/TLS avec le serveur Fluentd. La valeur par défaut est de 10 000 millisecondes (10 secondes). Si UseTLS est défini sur false, cette valeur est ignorée. |
UseTLS |
Boolean | Indique si le conteneur doit utiliser SSL/TLS pour communiquer avec le serveur Fluentd. La valeur par défaut est false. |
Paramètres des informations d’identification du proxy HTTP
Si vous devez configurer un proxy HTTP pour effectuer des requêtes sortantes, utilisez les deux arguments suivants :
Name | Type de données | Description |
---|---|---|
HTTP_PROXY | string | Le proxy à utiliser, par exemple, http://proxy:8888 <proxy-url> |
HTTP_PROXY_CREDS | string | Toutes les informations d’identification nécessaires pour s’authentifier auprès du proxy, par exemple username:password . Cette valeur doit être en minuscules. |
<proxy-user> |
string | L’utilisateur pour le proxy. |
<proxy-password> |
string | Le mot de passe associé à <proxy-user> pour le proxy. |
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
HTTP_PROXY=<proxy-url> \
HTTP_PROXY_CREDS=<proxy-user>:<proxy-password> \
Paramètres de journalisation
Les paramètres Logging
gèrent la prise en charge de la journalisation ASP.NET Core pour votre conteneur. Vous pouvez utiliser pour votre conteneur les mêmes paramètres et valeurs de configuration que ceux d’une application ASP.NET Core.
Le conteneur prend en charge les fournisseurs de journalisation suivants :
Fournisseur | Objectif |
---|---|
Console | Fournisseur de journalisation Console ASP.NET Core. Tous les paramètres de configuration ASP.NET Core et les valeurs par défaut de ce fournisseur de journalisation sont pris en charge. |
Déboguer | Fournisseur de journalisation Debug ASP.NET Core. Tous les paramètres de configuration ASP.NET Core et les valeurs par défaut de ce fournisseur de journalisation sont pris en charge. |
Disque | Fournisseur de journalisation JSON. Ce fournisseur de journalisation écrit les données de journal dans le montage de sortie. |
Cette commande de conteneur stocke des informations de journalisation au format JSON dans le montage de sortie :
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Disk:Format=json \
Mounts:Output=/output
Cette commande de conteneur affiche des informations de débogage, avec le préfixe dbug
, tandis que le conteneur s’exécute :
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Console:LogLevel:Default=Debug
Journalisation Disk
Le fournisseur de journalisation Disk
prend en charge les paramètres de configuration suivants :
Name | Type de données | Description |
---|---|---|
Format |
String | Format de sortie des fichiers journaux. Remarque : Cette valeur doit être définie sur json pour activer le fournisseur de journalisation. Si cette valeur est spécifiée sans que le montage de sortie soit aussi spécifié pendant l’instanciation d’un conteneur, une erreur se produit. |
MaxFileSize |
Integer | Taille maximale, en mégaoctets (Mo), d’un fichier journal. Dès que la taille du fichier journal actif atteint ou dépasse cette valeur, un nouveau fichier journal est commencé par le fournisseur de journalisation. Si la valeur -1 est spécifiée, la taille du fichier journal est limitée uniquement par la taille de fichier maximale, le cas échéant, pour le montage de sortie. La valeur par défaut est 1. |
Pour plus d’informations sur la configuration de la prise en charge de la journalisation ASP.NET Core, consultez Configuration d’un fichier de paramètres.
Paramètres des volumes
Utilisez des volumes pour lire et écrire des données vers et à partir du conteneur. Les volumes sont ceux préférés pour conserver les données générées et utilisées par les conteneurs Docker. Vous pouvez spécifier un montage d’entrée ou de sortie en incluant l’option volumes
et en spécifiant type
(liaison), source
(chemin d’accès du dossier) et target
(paramètre de chemin d’accès du fichier).
Le conteneur Intelligence documentaire nécessite un volume d’entrée et un volume de sortie. Le volume d’entrée peut être en lecture seule (ro
) et il est requis pour accéder aux données qui sont utilisées pour la formation et le scoring. Le volume de sortie doit être accessible en écriture. Il sert à stocker les modèles et les données temporaires.
La syntaxe exacte de l’emplacement du volume hôte varie en fonction du système d’exploitation hôte. De plus, l’emplacement du volume de l’ordinateur hôte peut ne pas être accessible en raison d’un conflit entre les autorisations de compte de service Docker et les autorisations d’emplacement du montage d’hôte.
Exemple de fichier docker-compose.yml
La méthode dockr compose est créée en trois étapes :
- Créez un Dockerfile.
- Définissez les services dans un fichier docker-compose.yml de sorte qu’ils puissent être exécutés ensemble dans un environnement isolé.
- Exécutez
docker-compose up
pour démarrer et exécuter vos services.
Exemple avec un seul conteneur
Dans cet exemple, entrez les valeurs {FORM_RECOGNIZER_ENDPOINT_URI} et {FORM_RECOGNIZER_KEY} pour votre instance de conteneur de disposition.
Conteneur de 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}
- key={FORM_RECOGNIZER_KEY}
ports:
- "5000"
networks:
- ocrvnet
networks:
ocrvnet:
driver: bridge
Exemple avec plusieurs conteneurs
Conteneurs de reçus et de lecture OCR
Dans cet exemple, entrez les valeurs {FORM_RECOGNIZER_ENDPOINT_URI} et {FORM_RECOGNIZER_KEY} pour votre conteneur Reçu et les valeurs {COMPUTER_VISION_ENDPOINT_URI} et {COMPUTER_VISION_KEY} pour votre conteneur Lecture Azure AI Vision.
version: "3"
services:
azure-cognitive-service-receipt:
container_name: azure-cognitive-service-receipt
image: cognitiveservicespreview.azurecr.io/microsoft/cognitive-services-form-recognizer-receipt:2.1
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- key={FORM_RECOGNIZER_KEY}
- AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
ports:
- "5000:5050"
networks:
- ocrvnet
azure-cognitive-service-read:
container_name: azure-cognitive-service-read
image: mcr.microsoft.com/azure-cognitive-services/vision/read:3.2
environment:
- EULA=accept
- billing={COMPUTER_VISION_ENDPOINT_URI}
- key={COMPUTER_VISION_KEY}
networks:
- ocrvnet
networks:
ocrvnet:
driver: bridge