Utiliser la détection de langue conteneurs de l’ancrage local

Les conteneurs vous permettent d’héberger l’API Détection de langue sur votre propre infrastructure. Si vous avez des exigences de sécurité ou de gouvernance des données qui ne peuvent pas être satisfaites en appelant Détection de langue à distance, les conteneurs peuvent être une bonne option.

Prérequis

  • 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 avec le niveau tarifaire gratuit (F0) ou standard (S).

Collecte des paramètres requis

Il existe trois paramètres principaux pour tous les conteneurs de Cognitive Services requis. Le contrat de licence utilisateur final (CLUF) doit être présent avec une valeur de accept. En outre, une URL de point de terminaison et une clé API sont nécessaires.

URL du point de terminaison {ENDPOINT_URI}

La valeur URI du point de terminaison est disponible sur la page Vue d’ensemble du portail Azure de la ressource Cognitive Service correspondante. Accédez à la page Vue d’ensemble, pointez sur le point de terminaison et une icône Copy to clipboard s’affiche. Copiez et utilisez si nécessaire.

Collecter l’URI de point de terminaison pour une utilisation ultérieure

Clés {API_KEY}

Cette clé est utilisée pour démarrer le conteneur et est disponible sur la page Clés de la ressource Cognitive Service correspondante sur le portail Azure. Accédez à la page Clés, puis cliquez sur l’icône Copy to clipboard .

Obtenir l’une des deux clés pour une utilisation ultérieure

Important

Ces clés d’abonnement sont utilisées pour accéder à votre API Cognitive Service. 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.

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 :

Le tableau suivant décrit les spécifications minimales et recommandées pour le conteneur de détection de langue. Chaque processeur doit être cadencé à au moins 2,6 gigahertz (GHz). Les transactions par seconde (TPS) autorisées sont également indiquées.

Configuration minimale pour l’hôte Configuration recommandée pour l’hôte TPS minimales TPS maximales
Détection de la langue 1 cœur, 2 Go de mémoire 1 cœur, 4 Go de mémoire 15 30

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

Utilisez la commande docker pull pour télécharger une image conteneur à partir de la Microsoft Container Registry.

docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/language: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.

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 et ApiKey pour exécuter le conteneur, sinon il ne démarrera pas. Pour plus d'informations, consultez Facturation.

Pour exécuter le conteneur Détection de langue, 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 de détection de langage. 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
docker run --rm -it -p 5000:5000 --memory 4g --cpus 1 \
mcr.microsoft.com/azure-cognitive-services/textanalytics/language \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Cette commande :

  • Exécute un conteneur Détection de langue à partir de l’image conteneur
  • Alloue un cœur de processeur et 4 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 Cognitive Services qui s’exécutent ensemble sur l’hôte. Vous pouvez également disposer de plusieurs conteneurs du même conteneur Cognitive 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 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 devez 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 Cette demande, qui utilise GET, 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 Cette demande, qui utilise également 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.

Page d’accueil du conteneur

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 sur les conteneurs Cognitive Services.

Facturation

Les conteneurs de détection de langue envoient des informations de facturation à Azure, à l’aide d’une ressource de langue 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.

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 run démarre le conteneur quand les trois options suivantes ont des valeurs valides :

Option Description
ApiKey Clé API 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é API 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é

Dans cet article, vous avez appris les concepts et le flux de travail pour le téléchargement, l’installation et l’exécution des conteneurs de détection de langage. En résumé :

  • Détection de la langue fournit des conteneurs Linux pour l’arrimeur
  • 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

Ce conteneur n’est pas concédé sous licence pour s’exécuter sans être connecté à 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 ne transmettent aucune donnée client (p. ex., le texte analysé) à Microsoft.

Étapes suivantes