Installer et exécuter des conteneurs Reconnaissance d’entité nommée
Les conteneurs vous permettent d’héberger l’API Reconnaissance d'entité nommée sur votre propre infrastructure. Si vous avez des exigences de sécurité ou de gouvernance des données qui ne peuvent pas être satisfaites par un appel à distance de la fonction Reconnaissance d’entité nommée, les conteneurs peuvent être une bonne option.
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Prérequis
L’utilisation des conteneurs Reconnaissance d'entité nommée est soumise aux prérequis suivants.
- Si vous n’avez pas d’abonnement Azure, créez un compte gratuit.
- Docker installé sur un ordinateur hôte. Vous devez configurer Docker pour permettre aux conteneurs de se connecter à Azure et de lui envoyer des données de facturation.
- Sous Windows, vous devez également configurer Docker pour prendre en charge les conteneurs Linux.
- Vous devez disposer d’une connaissance élémentaire des concepts liés à Docker.
- Une ressource de langue
Collecter les paramètres obligatoires
Trois paramètres principaux sont obligatoires pour tous les conteneurs Azure AI. Les termes du contrat de licence logiciel Microsoft doivent être présents avec la valeur Accepter. Un URI de point de terminaison et une clé API sont également nécessaires.
URI de point de terminaison
La valeur {ENDPOINT_URI}
est disponible sur la page Vue d’ensemble du portail Azure de la ressource Azure AI Services correspondante. Accédez à la page Vue d’ensemble, puis pointez sur le point de terminaison pour afficher une icône Copier dans le Presse-papiers . Copiez et utilisez le point de terminaison si nécessaire.
Touches
La valeur {API_KEY}
est utilisée pour démarrer le conteneur et est disponible sur la page Clés de la ressource Azure AI Services correspondante sur le portail Azure. Accédez à la page Clés, puis sélectionnez l’icône Copier dans le Presse-papiers .
Important
Ces clés d’abonnement sont utilisées pour accéder à votre API Azure AI Services. Ne partagez pas vos clés. Stockez-les en toute sécurité. Par exemple, utilisez Azure Key Vault. Nous vous recommandons également de regénérer ces clés régulièrement. Une seule clé est nécessaire pour effectuer un appel d’API. Lors de la regénération de la première clé, vous pouvez utiliser la deuxième clé pour un accès continu au service.
Spécifications et recommandations relatives à l’ordinateur hôte
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 :
- Azure Kubernetes Service.
- Azure Container Instances.
- Un cluster Kubernetes déployé sur Azure Stack. Pour plus d’informations, consultez Déployer Kubernetes sur Azure Stack.
Le tableau suivant décrit les spécifications minimales et recommandées pour le conteneur disponible. Chaque processeur doit être cadencé à au moins 2,6 gigahertz (GHz).
Il est recommandé d’avoir un processeur avec un ensemble d’instructions AVX-512, pour une expérience optimale (performances et précision).
Configuration minimale pour l’hôte | Configuration recommandée pour l’hôte | |
---|---|---|
Reconnaissance d’entité nommée | 1 cœur, 2 Go de mémoire | 4 cœurs, 8 Go de mémoire |
Le cœur d’UC et la quantité de mémoire correspondent aux paramètres --cpus
et --memory
qui sont utilisés dans le cadre de la commande docker run
.
Obtenir l’image conteneur avec docker pull
L’image conteneur Reconnaissance d’entité nommée se trouve dans le syndicat du registre de conteneurs mcr.microsoft.com
. Elle réside dans le référentiel azure-cognitive-services/textanalytics/
et se nomme ner
. Le nom complet de l’image conteneur est mcr.microsoft.com/azure-cognitive-services/textanalytics/ner
.
Pour utiliser la dernière version du conteneur, vous pouvez utiliser l’étiquette latest
, pour l’anglais. Vous pouvez également trouver la liste complète des conteneurs pour les langues prises en charge en utilisant les étiquettes sur le MCR.
La dernière version du conteneur Reconnaissance d’entité nommée est disponible dans plusieurs langues. Pour télécharger la version anglaise du conteneur, utilisez la commande ci-dessous.
docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/ner:latest
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 avec docker run
Une fois le conteneur sur l’ordinateur hôte, utilisez la commande docker run pour exécuter les conteneurs. Chaque conteneur continuera à s’exécuter jusqu’à ce que vous l’arrêtiez. Remplacez les espaces réservés suivants par vos valeurs :
Important
- les commandes docker dans les sections suivantes utilisent la barre oblique inverse,
\
, comme caractère de continuation de ligne. Remplacez-la ou supprimez-la en fonction des exigences de votre système d’exploitation hôte. - Vous devez spécifier les options
Eula
,Billing
etApiKey
pour exécuter le conteneur, sinon il ne démarrera pas. Pour plus d'informations, consultez Facturation.
Pour exécuter le conteneur Reconnaissance d’entité nommée, exécutez la commande docker run
suivante. Remplacez les espaces réservés suivants par vos valeurs :
Espace réservé | Valeur | Format ou exemple |
---|---|---|
{API_KEY} | Clé pour votre ressource Language. Cette information est disponible dans le portail Azure, sur la page Key and endpoint (Clé et point de terminaison) de votre ressource. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{ENDPOINT_URI} | Point de terminaison pour accéder à l’API. Cette information est disponible dans le portail Azure, sur la page Key and endpoint (Clé et point de terminaison) de votre ressource. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{IMAGE_TAG} | Étiquette d’image représentant la langue du conteneur que vous souhaitez exécuter. Veillez à que ceci corresponde à la commande docker pull que vous avez utilisée. |
latest |
docker run --rm -it -p 5000:5000 --memory 8g --cpus 1 \
mcr.microsoft.com/azure-cognitive-services/textanalytics/ner:{IMAGE_TAG} \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Cette commande :
- Exécute un conteneur Reconnaissance d’entité nommée à partir de l’image conteneur
- Alloue un cœur de processeur et 8 gigaoctets (Go) de mémoire
- Expose le port TCP 5000 et alloue un pseudo-TTY pour le conteneur
- Supprime automatiquement le conteneur après sa fermeture. L’image conteneur est toujours disponible sur l’ordinateur hôte.
Exécuter plusieurs conteneurs sur le même hôte
Si vous envisagez d’exécuter plusieurs conteneurs avec les ports exposés, veillez à exécuter chaque conteneur avec un port exposé différent. Par exemple, exécutez le premier conteneur sur le port 5000 et le second conteneur sur le port 5001.
Vous pouvez avoir ce conteneur, et un autre conteneur Azure AI services qui s’exécutent ensemble sur l’hôte. Vous pouvez également disposer de plusieurs conteneurs du même conteneur Azure AI services en cours d’exécution.
Interroger le point de terminaison de prédiction du conteneur
Le conteneur fournit des API de point de terminaison de prédiction de requête basées sur REST.
Utilisez l’hôte, http://localhost:5000
, pour les API de conteneur.
Valider l’exécution d’un conteneur
Il existe plusieurs façons de confirmer que le conteneur s’exécute. Recherchez l’adresse IP externe et le port exposé du conteneur en question, puis ouvrez le navigateur web de votre choix. Utilisez les différentes URL de requête suivantes pour vérifier que le conteneur est en cours d’exécution. Les exemples d’URL de requête listés ici sont http://localhost:5000
, mais votre conteneur spécifique peut varier. Veillez à vous fier à l’adresse IP externe de votre conteneur et au port exposé.
URL de la demande | Objectif |
---|---|
http://localhost:5000/ |
Le conteneur fournit une page d’accueil. |
http://localhost:5000/ready |
Demandée avec la fonction d’extraction, cette URL permet de vérifier que le conteneur est prêt à accepter une requête sur le modèle. Cette requête peut être utilisée pour les probes liveness et readiness de Kubernetes. |
http://localhost:5000/status |
Également demandée avec la fonction d’extraction, cette URL 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. |
Pour plus d’informations sur la façon d’appeler NER, consultez notre guide.
Exécuter le conteneur déconnecté d’Internet
Pour utiliser ce conteneur déconnecté d’Internet, vous devez d’abord demander un accès en remplissant une application et en achetant un plan d’engagement. Pour plus d’informations, consultez Utiliser des conteneurs Docker dans des environnements déconnectés.
Si vous avez été autorisé à exécuter le conteneur déconnecté d’Internet, utilisez l’exemple suivant qui montre la mise en forme de la commande docker run
que vous allez utiliser, avec des valeurs d’espace réservé. Remplacez ces valeurs d’espace réservé par vos propres valeurs.
Le paramètre DownloadLicense=True
de votre commande docker run
télécharge un fichier de licence qui permet à votre conteneur Docker de s’exécuter quand il n’est pas connecté à Internet. Il contient également une date d’expiration après laquelle le conteneur ne pourra plus être exécuté avec ce fichier de licence. Vous ne pouvez utiliser un fichier de licence qu’avec le conteneur pour lequel vous avez été approuvé. Par exemple, vous ne pouvez pas utiliser le fichier de licence d’un conteneur de reconnaissance vocale avec un conteneur Document Intelligence.
Paramètre substituable | Valeur | Format ou exemple |
---|---|---|
{IMAGE} |
L’image conteneur que vous souhaitez utiliser. | mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice |
{LICENSE_MOUNT} |
Chemin où la licence sera téléchargée et montée. | /host/license:/path/to/license/directory |
{ENDPOINT_URI} |
Point de terminaison permettant d’authentifier votre demande de service. Cette information est disponible dans le portail Azure, sur la page Key and endpoint (Clé et point de terminaison) de votre ressource. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{API_KEY} |
Clé de votre ressource Analyse de texte. Cette information est disponible dans le portail Azure, sur la page Key and endpoint (Clé et point de terminaison) de votre ressource. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{CONTAINER_LICENSE_DIRECTORY} |
Emplacement du dossier de licence sur le système de fichiers local du conteneur. | /path/to/license/directory |
docker run --rm -it -p 5000:5000 \
-v {LICENSE_MOUNT} \
{IMAGE} \
eula=accept \
billing={ENDPOINT_URI} \
apikey={API_KEY} \
DownloadLicense=True \
Mounts:License={CONTAINER_LICENSE_DIRECTORY}
Une fois le fichier de licence téléchargé, vous pourrez exécuter le conteneur dans un environnement déconnecté. L’exemple suivant illustre la mise en forme de la commande docker run
que vous allez utiliser, avec des valeurs d’espace réservé. Remplacez ces valeurs d’espace réservé par vos propres valeurs.
Quel que soit l’emplacement d’exécution du conteneur, le fichier de licence doit être monté sur le conteneur et l’emplacement du dossier de licence sur le système de fichiers local du conteneur doit être spécifié avec Mounts:License=
. Un montage de sortie doit également être spécifié afin que les enregistrements d’utilisation puissent être écrits pour la facturation.
Espace réservé | Valeur | Format ou exemple |
---|---|---|
{IMAGE} |
L’image conteneur que vous souhaitez utiliser. | mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice |
{MEMORY_SIZE} |
Quantité appropriée de mémoire à allouer à votre conteneur. | 4g |
{NUMBER_CPUS} |
Quantité appropriée de processeurs à allouer à votre conteneur. | 4 |
{LICENSE_MOUNT} |
Chemin où la licence sera localisée et montée. | /host/license:/path/to/license/directory |
{OUTPUT_PATH} |
Chemin de sortie pour la journalisation des enregistrements d’utilisation. | /host/output:/path/to/output/directory |
{CONTAINER_LICENSE_DIRECTORY} |
Emplacement du dossier de licence sur le système de fichiers local du conteneur. | /path/to/license/directory |
{CONTAINER_OUTPUT_DIRECTORY} |
Emplacement du dossier de sortie sur le système de fichiers local du conteneur. | /path/to/output/directory |
docker run --rm -it -p 5000:5000 --memory {MEMORY_SIZE} --cpus {NUMBER_CPUS} \
-v {LICENSE_MOUNT} \
-v {OUTPUT_PATH} \
{IMAGE} \
eula=accept \
Mounts:License={CONTAINER_LICENSE_DIRECTORY}
Mounts:Output={CONTAINER_OUTPUT_DIRECTORY}
Arrêter le conteneur
Pour arrêter le conteneur, dans l’environnement de ligne de commande où le conteneur est en cours d’exécution, sélectionnez Ctrl+C.
Dépannage
Si vous exécutez le conteneur avec un montage de sortie et la journalisation activée, il génère des fichiers journaux qui sont utiles pour résoudre les problèmes qui se produisent lors du démarrage ou de l’exécution du conteneur.
Conseil
Pour plus d’informations et de conseils sur la résolution des problèmes, consultez les questions fréquentes (FAQ) sur les conteneurs Azure AI.
Facturation
Les conteneurs Reconnaissance d'entité nommée envoient des informations de facturation à Azure, à l’aide d’une ressource Language sur votre compte Azure.
Les requêtes sur le conteneur sont facturées au niveau tarifaire de la ressource Azure utilisée pour le paramètre ApiKey
.
La licence des conteneurs Azure AI Services ne vous permet pas de les exécuter sans les connecter au point de terminaison du compteur ou de la 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 Azure AI 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 Azure AI Services.
Arguments de facturation
La commande docker run
démarre le conteneur quand les trois options suivantes ont des valeurs valides :
Option | Description |
---|---|
ApiKey |
Clé API de la ressource Azure AI Services utilisée pour le suivi des informations de facturation. La valeur de cette option doit être définie sur une clé API pour la ressource provisionnée spécifiée dans Billing . |
Billing |
Le point de terminaison de la ressource Azure AI Services utilisée 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é
Dans cet article, vous avez découvert les concepts et le workflow du téléchargement, de l’installation, puis de l’exécution des conteneurs Reconnaissance d’entité nommée. En résumé :
- La reconnaissance d’entité nommée fournit des conteneurs Linux pour Docker
- Les images conteneurs sont téléchargées à partir de Microsoft Container Registry (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
La licence ne prévoit pas que les conteneurs Azure AI services soient exécutés sans être connectés à Azure à des fins de 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 Azure AI ne transmettent aucune donnée client (p. ex., le texte analysé) à Microsoft.
Étapes suivantes
- Pour obtenir les paramètres de configuration, consultez Configurer des conteneurs.