Installer et exécuter des conteneurs Docker LUISInstall and run LUIS docker containers

Le conteneur LUIS (Language Understanding) charge votre modèle Language Understanding entraîné ou publié, également connu sous le nom d’application LUIS, dans un conteneur docker et fournit l’accès aux prédictions de requête à partir des points de terminaison d’API du conteneur.The Language Understanding (LUIS) container loads your trained or published Language Understanding model, also know as a LUIS app, into a docker container and provides access to the query predictions from the container's API endpoints. Vous pouvez collecter les journaux de requête à partir du conteneur et charger ces arrière sur l’application de reconnaissance vocale pour améliorer la précision de prédiction de l’application.You can collect query logs from the container and upload these back to the Language Understanding app to improve the app's prediction accuracy.

La vidéo suivante illustre l’utilisation de ce conteneur.The following video demonstrates using this container.

Démonstration d’un conteneur pour Cognitive ServicesContainer demonstration for Cognitive Services

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.If you don't have an Azure subscription, create a free account before you begin.

Conditions préalablesPrerequisites

Pour exécuter le conteneur LUIS, vous devez disposer des éléments suivants :In order to run the LUIS container, you must have the following:

ObligatoireRequired ObjectifPurpose
Moteur DockerDocker Engine Vous avez besoin d’un moteur Docker installé sur un ordinateur hôte.You need the Docker Engine installed on a host computer. Docker fournit des packages qui configurent l’environnement Docker sur macOS, Windows et Linux.Docker provides packages that configure the Docker environment on macOS, Windows, and Linux. Pour apprendre les principes de base de Docker et des conteneurs, consultez la vue d’ensemble de Docker.For a primer on Docker and container basics, see the Docker overview.

Vous devez configurer Docker pour permettre aux conteneurs de se connecter à Azure et de lui envoyer des données de facturation.Docker must be configured to allow the containers to connect with and send billing data to Azure.

Sur Windows, vous devez également configurer Docker pour prendre en charge les conteneurs Linux.On Windows, Docker must also be configured to support Linux containers.

Bonne connaissance de DockerFamiliarity with Docker Vous devez avoir une compréhension élémentaire des concepts Docker, notamment les registres, référentiels, conteneurs et images conteneurs, ainsi qu’une maîtrise des commandes docker de base.You should have a basic understanding of Docker concepts, like registries, repositories, containers, and container images, as well as knowledge of basic docker commands.
Azure Cognitive Services ressource et LUIS application empaquetée fichierAzure Cognitive Services resource and LUIS packaged app file Pour pouvoir utiliser le conteneur, vous devez disposer des éléments suivants :In order to use the container, you must have:

* Un Cognitive Services le point de terminaison facturation URI de clé de ressource Azure et la facturation associée.* A Cognitive Services Azure resource and the associated billing key the billing endpoint URI. Les deux valeurs sont disponibles sur les pages de vue d’ensemble et des clés pour la ressource et sont nécessaires pour démarrer le conteneur.Both values are available on the Overview and Keys pages for the resource and are required to start the container. Vous devez ajouter le luis/v2.0 routage vers l’URI de point de terminaison, comme indiqué dans l’exemple BILLING_ENDPOINT_URI suivant.You need to add the luis/v2.0 routing to the endpoint URI as shown in the following BILLING_ENDPOINT_URI example.
* Une application entraînée ou publiée empaquetée en tant qu’entrée montée dans le conteneur avec son ID d’application associé.* A trained or published app packaged as a mounted input to the container with its associated App ID. Vous pouvez obtenir le fichier de package à partir du portail de LUIS ou les API de création.You can get the packaged file from the LUIS portal or the Authoring APIs. Si vous obtenez application empaquetée LUIS à partir de la API de création, vous devez également votre de création de clé.If you are getting LUIS packaged app from the authoring APIs, you will also need your Authoring Key.

Ces prérequis sont utilisés pour passer des arguments de ligne de commande aux variables suivantes :These requirements are used to pass command-line arguments to the following variables:

{AUTHORING_KEY}  : cette clé sert à obtenir l’application empaquetée à partir du service LUIS dans le cloud et à charger les journaux d’activité de requêtes vers le cloud.{AUTHORING_KEY}: This key is used to get the packaged app from the LUIS service in the cloud and upload the query logs back to the cloud. Le format est xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.The format is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

{APPLICATION_ID}  : cet ID sert à sélectionner l’application.{APPLICATION_ID}: This ID is used to select the App. Le format est xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.The format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

{ENDPOINT_KEY}  : cette clé sert à démarrer le conteneur.{ENDPOINT_KEY}: This key is used to start the container. La clé de point de terminaison est disponible à deux endroits.You can find the endpoint key in two places. Le premier est le portail Azure dans le Cognitive Services liste de clés de la ressource.The first is the Azure portal within the Cognitive Services resource's keys list. Elle est également disponible dans le portail LUIS, dans la page Keys and Endpoint settings (Paramètres des clés et du point de terminaison).The endpoint key is also available in the LUIS portal on the Keys and Endpoint settings page. N’utilisez pas la clé de démarrage.Do not use the starter key.

{BILLING_ENDPOINT}  : Par exemple https://westus.api.cognitive.microsoft.com/luis/v2.0.{BILLING_ENDPOINT}: An example is: https://westus.api.cognitive.microsoft.com/luis/v2.0.

La clé de création et la clé de point de terminaison ont différentes fonctions.The authoring key and endpoint key have different purposes. Ne les utilisez pas de manière interchangeable.Do not use them interchangeably.

API de création de fichier de packageAuthoring APIs for package file

Création d’API pour les applications empaquetées :Authoring APIs for packaged apps:

L’ordinateur hôteThe host computer

Le hôte est un ordinateur x64 64 qui exécute le conteneur docker.The host is a x64-based computer that runs the docker container. Il peut s’agir d’un ordinateur local ou d’un service d’hébergement docker dans Azure, notamment :It can be a computer on your premises or a docker hosting service in Azure including:

Exigences et suggestions relatives au conteneurContainer requirements and recommendations

Ce conteneur prend en charge des valeurs minimales et recommandées pour les paramètres :This container supports minimum and recommended values for the settings:

ConteneurContainer MinimaleMinimum RecommandéRecommended TPSTPS
(Au minimum, Maximum)(Minimum, Maximum)
LUISLUIS 1 cœur, 2 Go de mémoire1 core, 2 GB memory 1 cœur, 4 Go de mémoire1 core, 4 GB memory 20,4020,40
  • Chaque cœur doit être cadencé à au moins 2,6 gigahertz (GHz).Each core must be at least 2.6 gigahertz (GHz) or faster.
  • Programmes transactionnels - transactions par secondeTPS - transactions per second

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 run.Core and memory correspond to the --cpus and --memory settings, which are used as part of the docker run command.

Obtenir l’image conteneur avec docker pullGet the container image with docker pull

Utilisez la commande docker pull pour télécharger une image conteneur à partir du référentiel mcr.microsoft.com/azure-cognitive-services/luis :Use the docker pull command to download a container image from the mcr.microsoft.com/azure-cognitive-services/luis repository:

docker pull mcr.microsoft.com/azure-cognitive-services/luis:latest

Utilisez la commande docker pull pour télécharger une image conteneur.Use the docker pull command to download a container image.

Pour obtenir une description complète des balises disponibles utilisées dans la commande précédente, telles que latest, consultez LUIS sur Docker Hub.For a full description of available tags, such as latest used in the preceding command, see LUIS on Docker Hub.

Conseil

Vous pouvez utiliser la commande docker images pour lister vos images conteneurs téléchargées.You can use the docker images command to list your downloaded container images. 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 :For example, the following command lists the ID, repository, and tag of each downloaded container image, formatted as a table:

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

IMAGE ID            REPOSITORY              TAG
ebbee78a6baa       <container-name>         latest

Comment utiliser le conteneurHow to use the container

Une fois que le conteneur est sur l’ordinateur hôte, appliquez la procédure suivante pour travailler avec le conteneur.Once the container is on the host computer, use the following process to work with the container.

Procédure pour l’utilisation du conteneur LUIS (Language Understanding)

  1. Exportez le package pour le conteneur à partir du portail LUIS ou des API LUIS.Export package for container from LUIS portal or LUIS APIs.
  2. Déplacez le fichier de package dans le répertoire d’entrée requis sur l’ordinateur hôte.Move package file into the required input directory on the host computer. Ne renommez pas, modifier, remplacer et décompresser le fichier de package LUIS.Do not rename, alter, overwrite, or decompress LUIS package file.
  3. Exécutez le conteneur avec le montage d’entrée et les paramètres de facturation requis.Run the container, with the required input mount and billing settings. D’autres exemples de commande docker run sont disponibles.More examples of the docker run command are available.
  4. Interrogation du point de terminaison de prédiction du conteneur.Querying the container's prediction endpoint.
  5. Quand vous en avez terminé avec le conteneur, importez les journaux d’activité du point de terminaison à partir du montage de sortie dans le portail LUIS et arrêtez le conteneur.When you are done with the container, import the endpoint logs from the output mount in the LUIS portal and stop the container.
  6. Utilisez l’apprentissage actif du portail LUIS dans la page Review endpoint utterances (Passer en revue les énoncés du point de terminaison) afin d’améliorer l’application.Use LUIS portal's active learning on the Review endpoint utterances page to improve the app.

L’application en cours d’exécution dans le conteneur ne peut pas être modifiée.The app running in the container can't be altered. Pour changer l’application dans le conteneur, vous devez changer l’application dans le service LUIS à l’aide du portail LUIS ou utiliser les API de création LUIS.In order the change the app in the container, you need to change the app in the LUIS service using the LUIS portal or use the LUIS authoring APIs. Ensuite, entraînez et/ou publiez, puis téléchargez un nouveau package et réexécutez le conteneur.Then train and/or publish, then download a new package and run the container again.

L’application LUIS à l’intérieur du conteneur ne peut pas être réexportée vers le service LUIS.The LUIS app inside the container can't be exported back to the LUIS service. Seuls les journaux d’activité de requêtes peuvent être chargés.Only the query logs can be uploaded.

Exporter l’application empaquetée à partir de LUISExport packaged app from LUIS

Le conteneur LUIS a besoin d’une application LUIS entraînée ou publiée pour répondre aux requêtes de prédiction des énoncés d’utilisateur.The LUIS container requires a trained or published LUIS app to answer prediction queries of user utterances. Pour accéder à l’application LUIS, utilisez l’API du package entraîné ou publié.In order to get the LUIS app, use either the trained or published package API.

L’emplacement par défaut est le sous-répertoire input correspondant à l’emplacement où vous exécutez la commande docker run.The default location is the input subdirectory in relation to where you run the docker run command.

Placez le fichier de package dans un répertoire et référencez ce répertoire en tant que montage d’entrée quand vous exécutez le conteneur docker.Place the package file in a directory and reference this directory as the input mount when you run the docker container.

Types de packagesPackage types

Le répertoire de montage d’entrée peut contenir en même temps les versions Production, Staging et Trained de l’application.The input mount directory can contain the Production, Staging, and Trained versions of the app simultaneously. Tous les packages sont montés.All the packages are mounted.

Type de packagePackage Type API de point de terminaison de requêteQuery Endpoint API Disponibilité des requêtesQuery availability Format du nom de fichier de packagePackage filename format
ForméTrained Get, PostGet, Post Conteneur uniquementContainer only {APPLICATION_ID}_v{APPLICATION_VERSION}.gz
StagingStaging Get, PostGet, Post Azure et conteneurAzure and container {APPLICATION_ID}_STAGING.gz
ProductionProduction Get, PostGet, Post Azure et conteneurAzure and container {APPLICATION_ID}_PRODUCTION.gz

Important

Ne renommez pas, modifier, remplacer et décompresser les fichiers de package LUIS.Do not rename, alter, overwrite, or decompress the LUIS package files.

Prérequis pour l’empaquetagePackaging prerequisites

Avant d’empaqueter une application LUIS, vous devez disposer des éléments suivants :Before packaging a LUIS application, you must have the following:

Conditions requises pour l’empaquetagePackaging Requirements DétailsDetails
Azure Cognitive Services instance de ressourceAzure Cognitive Services resource instance Exemples de régions prises en charge :Supported regions include

USA Ouest (westus)West US (westus)
Europe Ouest (westeurope)West Europe (westeurope)
Australie Est (australiaeast)Australia East (australiaeast)
Application LUIS entraînée ou publiéeTrained or published LUIS app Sans aucune dépendance non prise en charge.With no unsupported dependencies.
Accès au système de fichiers de l’ordinateur hôteAccess to the host computer's file system L’ordinateur hôte doit autoriser un montage d’entrée.The host computer must allow an input mount.

Exporter le package d’application à partir du portail LUISExport app package from LUIS portal

Le portail LUIS offre la possibilité d’exporter le package de l’application entraînée ou publiée.The LUIS portal provides the ability to export the trained or published app's package.

Exporter le package de l’application publiée à partir du portail LUISExport published app's package from LUIS portal

Le package de l’application publiée est disponible à partir de la page de liste My Apps.The published app's package is available from the My Apps list page.

  1. Connectez-vous au portail LUIS.Sign on to the LUIS portal.
  2. Cochez la case à gauche du nom de l’application dans la liste.Select the checkbox to the left of the app name in the list.
  3. Sélectionnez l’élément Export dans la barre d’outils contextuelle au-dessus de la liste.Select the Export item from the contextual toolbar above the list.
  4. Sélectionnez Export for container (GZIP).Select Export for container (GZIP).
  5. Sélectionnez l’environnement Production slot (Emplacement de production) ou Staging slot (Emplacement intermédiaire).Select the environment of Production slot or Staging slot.
  6. Le package est téléchargé à partir du navigateur.The package is downloaded from the browser.

Exporter le package publié pour le conteneur à partir du menu Export de la page d’application

Exporter le package de l’application entraînée à partir du portail LUISExport trained app's package from LUIS portal

Le package de l’application entraînée est disponible à partir de la page de liste Versions.The trained app's package is available from the Versions list page.

  1. Connectez-vous au portail LUIS.Sign on to the LUIS portal.
  2. Sélectionnez l’application dans la liste.Select the app in the list.
  3. Sélectionnez Manage (Gérer) dans la barre de navigation de l’application.Select Manage in the app's navigation bar.
  4. Sélectionnez Versions dans la barre de navigation gauche.Select Versions in the left navigation bar.
  5. Cochez la case à gauche du nom de la version dans la liste.Select the checkbox to the left of the version name in the list.
  6. Sélectionnez l’élément Export dans la barre d’outils contextuelle au-dessus de la liste.Select the Export item from the contextual toolbar above the list.
  7. Sélectionnez Export for container (GZIP).Select Export for container (GZIP).
  8. Le package est téléchargé à partir du navigateur.The package is downloaded from the browser.

Exporter le package entraîné pour le conteneur à partir du menu Export de la page Versions

Exporter le package de l’application publiée à partir de l’APIExport published app's package from API

Utilisez l’API REST suivante pour empaqueter une application LUIS que vous avez déjà publiée.Use the following REST API method, to package a LUIS app that you've already published. Remplacez les espaces réservés dans l’appel d’API par vos propres valeurs appropriées, en utilisant le tableau sous la spécification HTTP.Substituting your own appropriate values for the placeholders in the API call, using the table below the HTTP specification.

GET /luis/api/v2.0/package/{APPLICATION_ID}/slot/{APPLICATION_ENVIRONMENT}/gzip HTTP/1.1
Host: {AZURE_REGION}.api.cognitive.microsoft.com
Ocp-Apim-Subscription-Key: {AUTHORING_KEY}
PlaceholderPlaceholder ValeurValue
{APPLICATION_ID}{APPLICATION_ID} ID d’application de l’application LUIS publiée.The application ID of the published LUIS app.
{APPLICATION_ENVIRONMENT}{APPLICATION_ENVIRONMENT} Environnement de l’application LUIS publiée.The environment of the published LUIS app. Utilisez l’une des valeurs suivantes :Use one of the following values:
PRODUCTION
STAGING
{AUTHORING_KEY}{AUTHORING_KEY} Clé de création du compte LUIS pour l’application LUIS publiée.The authoring key of the LUIS account for the published LUIS app.
Vous pouvez obtenir votre clé de création à partir de la page User Settings (Paramètres utilisateur) dans le portail LUIS.You can get your authoring key from the User Settings page on the LUIS portal.
{AZURE_REGION}{AZURE_REGION} Région Azure appropriée :The appropriate Azure region:

westus - USA Ouestwestus - West US
westeurope - Europe Ouestwesteurope - West Europe
australiaeast - Australie Estaustraliaeast - Australia East

Utilisez la commande CURL suivante pour télécharger le package publié, en substituant vos propres valeurs :Use the following CURL command to download the published package, substituting your own values:

curl -X GET \
https://{AZURE_REGION}.api.cognitive.microsoft.com/luis/api/v2.0/package/{APPLICATION_ID}/slot/{APPLICATION_ENVIRONMENT}/gzip  \
 -H "Ocp-Apim-Subscription-Key: {AUTHORING_KEY}" \
 -o {APPLICATION_ID}_{APPLICATION_ENVIRONMENT}.gz

En cas de réussite, la réponse est un fichier de package LUIS.If successful, the response is a LUIS package file. Enregistrez le fichier à l’emplacement de stockage spécifié pour le montage d’entrée du conteneur.Save the file in the storage location specified for the input mount of the container.

Exporter le package de l’application entraînée à partir de l’APIExport trained app's package from API

Utilisez l’API REST suivante pour empaqueter une application LUIS que vous avez déjà entraînée.Use the following REST API method, to package a LUIS application that you've already trained. Remplacez les espaces réservés dans l’appel d’API par vos propres valeurs appropriées, en utilisant le tableau sous la spécification HTTP.Substituting your own appropriate values for the placeholders in the API call, using the table below the HTTP specification.

GET /luis/api/v2.0/package/{APPLICATION_ID}/versions/{APPLICATION_VERSION}/gzip HTTP/1.1
Host: {AZURE_REGION}.api.cognitive.microsoft.com
Ocp-Apim-Subscription-Key: {AUTHORING_KEY}
PlaceholderPlaceholder ValeurValue
{APPLICATION_ID}{APPLICATION_ID} ID d’application de l’application LUIS entraînée.The application ID of the trained LUIS application.
{APPLICATION_VERSION}{APPLICATION_VERSION} Version d’application de l’application LUIS entraînée.The application version of the trained LUIS application.
{AUTHORING_KEY}{AUTHORING_KEY} Clé de création du compte LUIS pour l’application LUIS publiée.The authoring key of the LUIS account for the published LUIS app.
Vous pouvez obtenir votre clé de création à partir de la page User Settings (Paramètres utilisateur) dans le portail LUIS.You can get your authoring key from the User Settings page on the LUIS portal.
{AZURE_REGION}{AZURE_REGION} Région Azure appropriée :The appropriate Azure region:

westus - USA Ouestwestus - West US
westeurope - Europe Ouestwesteurope - West Europe
australiaeast - Australie Estaustraliaeast - Australia East

Utilisez la commande CURL suivante pour télécharger le package entraîné :Use the following CURL command to download the trained package:

curl -X GET \
https://{AZURE_REGION}.api.cognitive.microsoft.com/luis/api/v2.0/package/{APPLICATION_ID}/versions/{APPLICATION_VERSION}/gzip  \
 -H "Ocp-Apim-Subscription-Key: {AUTHORING_KEY}" \
 -o {APPLICATION_ID}_v{APPLICATION_VERSION}.gz

En cas de réussite, la réponse est un fichier de package LUIS.If successful, the response is a LUIS package file. Enregistrez le fichier à l’emplacement de stockage spécifié pour le montage d’entrée du conteneur.Save the file in the storage location specified for the input mount of the container.

Exécuter le conteneur avec docker runRun the container with docker run

Utilisez la commande docker run pour exécuter le conteneur.Use the docker run command to run the container. La commande utilise les paramètres suivants :The command uses the following parameters:

PlaceholderPlaceholder ValeurValue
{ENDPOINT_KEY}{ENDPOINT_KEY} cette clé sert à démarrer le conteneur.This key is used to start the container. N’utilisez pas la clé de démarrage.Do not use the starter key.
{BILLING_ENDPOINT}{BILLING_ENDPOINT} La valeur de point de terminaison de facturation est disponible sur le portail Azure Cognitive Services page Vue d’ensemble.The billing endpoint value is available on the Azure portal's Cognitive Services Overview page. Vous devez ajouter le luis/v2.0 routage vers l’URI de point de terminaison, comme illustré dans l’exemple suivant : https://westus.api.cognitive.microsoft.com/luis/v2.0.You need to add the luis/v2.0 routing to the endpoint URI as shown in the following example: https://westus.api.cognitive.microsoft.com/luis/v2.0.

Remplacez ces paramètres par vos propres valeurs dans l’exemple de commande docker run suivant.Replace these parameters with your own values in the following example docker run command.

docker run --rm -it -p 5000:5000 --memory 4g --cpus 2 \
--mount type=bind,src=c:\input,target=/input \
--mount type=bind,src=c:\output,target=/output \
mcr.microsoft.com/azure-cognitive-services/luis \
Eula=accept \
Billing={BILLING_ENDPOINT} \
ApiKey={ENDPOINT_KEY}

Notes

La commande précédente utilise le répertoire du lecteur c: pour éviter tout conflit d’autorisation sur Windows.The preceding command uses the directory off the c: drive to avoid any permission conflicts on Windows. Si vous devez utiliser un répertoire spécifique en tant que répertoire d’entrée, vous devrez peut-être accorder au docker une autorisation de service.If you need to use a specific directory as the input directory, you may need to grant the docker service permission. La commande docker précédente utilise la barre oblique inverse, \, comme caractère de continuation de ligne.The preceding docker command uses the back slash, \, as a line continuation character. Remplacez-la ou supprimez-la en fonction des exigences du système d’exploitation de votre ordinateur hôte.Replace or remove this based on your host computer operating system's requirements. Ne changez pas l’ordre des arguments, sauf si vous avez une connaissance approfondie des conteneurs docker.Do not change the order of the arguments unless you are very familiar with docker containers.

Cette commande :This command:

  • Exécute un conteneur à partir de l’image conteneur LUIS.Runs a container from the LUIS container image
  • Charge l’application LUIS à partir du montage d’entrée qui se trouve à c:\input sur l’hôte de conteneur.Loads LUIS app from input mount at c:\input, located on container host
  • Alloue deux cœurs de processeur et 4 gigaoctets (Go) de mémoire.Allocates two CPU cores and 4 gigabytes (GB) of memory
  • Expose le port TCP 5000 et alloue un pseudo-TTY pour le conteneurExposes TCP port 5000 and allocates a pseudo-TTY for the container
  • Enregistre les journaux d’activité LUIS et de conteneur dans le montage de sortie qui se trouve à c:\output sur l’hôte de conteneur.Saves container and LUIS logs to output mount at c:\output, located on container host
  • Supprime automatiquement le conteneur après sa fermeture.Automatically removes the container after it exits. L’image conteneur est toujours disponible sur l’ordinateur hôte.The container image is still available on the host computer.

D’autres exemples de commande docker run sont disponibles.More examples of the docker run command are available.

Important

Vous devez spécifier les options Eula, Billing et ApiKey pour exécuter le conteneur, sinon il ne démarrera pas.The Eula, Billing, and ApiKey options must be specified to run the container; otherwise, the container won't start. Pour plus d'informations, consultez Facturation.For more information, see Billing. La valeur de clé API est la clé dans les clés et les points de terminaison de page dans le portail de LUIS et est également disponible sur Azure Cognitive Services page clés de ressources.The ApiKey value is the Key from the Keys and Endpoints page in the LUIS portal and is also available on the Azure Cognitive Services resource keys page.

Plusieurs conteneurs en cours d’exécution sur le même hôteRunning multiple containers on the same host

Si vous envisagez d’exécuter plusieurs conteneurs avec les ports exposés, veillez à exécuter chaque conteneur avec un autre port exposé.If you intend to run multiple containers with exposed ports, make sure to run each container with a different exposed port. Par exemple, exécutez le premier conteneur sur le port 5000 et le second conteneur sur le port 5001.For example, run the first container on port 5000 and the second container on port 5001.

Vous pouvez avoir ce conteneur et un autre conteneur de Service COGNITIF qui exécutent ensemble sur l’ordinateur hôte, ou vous pouvez avoir plusieurs conteneurs du même conteneur Cognitive Service en cours d’exécution.You can have this container and a different Cognitive Service container running on the HOST together or you can have multiple containers of the same Cognitive Service container running.

Interroger le point de terminaison de prédiction du conteneurQuery the container's prediction endpoint

Le conteneur fournit des API de point de terminaison de prédiction de requête basées sur REST.The container provides REST-based query prediction endpoint APIs. Les points de terminaison pour les applications publiées (intermédiaires ou production) ont une route différente de celle des points de terminaison pour les applications entraînées.Endpoints for published (staging or production) apps have a different route than endpoints for trained apps.

Utilisez l’hôte, https://localhost:5000, pour les API de conteneur.Use the host, https://localhost:5000, for container APIs.

Type de packagePackage type MéthodeMethod RoutageRoute Paramètres de requêteQuery parameters
PubliéPublished Get, PostGet, Post /luis/v2.0/apps/{appId}?/luis/v2.0/apps/{appId}? q={q}q={q}
&staging&staging
[&timezoneOffset][&timezoneOffset]
[&verbose][&verbose]
[&log][&log]
ForméTrained Get, PostGet, Post /luis/v2.0/apps/{appId}/versions/{versionId}?/luis/v2.0/apps/{appId}/versions/{versionId}? q={q}q={q}
[&timezoneOffset][&timezoneOffset]
[&verbose][&verbose]
[&log][&log]

Les paramètres de requête configurent ce qui est retourné dans la réponse de requête, et de quelle manière :The query parameters configure how and what is returned in the query response:

Paramètre de requête.Query parameter TypeType ObjectifPurpose
q stringstring Énoncé de l’utilisateur.The user's utterance.
timezoneOffset numbernumber timezoneOffset vous permet de changer le fuseau horaire utilisé par l’entité prédéfinie datetimeV2.The timezoneOffset allows you to change the timezone used by the prebuilt entity datetimeV2.
verbose booléenneboolean Retourne toutes les intentions et leurs scores quand la valeur est true.Returns all intents and their scores when set to true. La valeur par défaut est false, ce qui retourne uniquement la première intention.Default is false, which returns only the top intent.
staging booléenneboolean Retourne une requête à partir des résultats de l’environnement intermédiaire si la valeur est true.Returns query from staging environment results if set to true.
log booléenneboolean Enregistre les requêtes, qui peuvent être utilisées ultérieurement pour l’apprentissage actif.Logs queries, which can be used later for active learning. La valeur par défaut est true.Default is true.

Interroger une application publiéeQuery published app

Voici un exemple de commande CURL pour interroger le conteneur d’une application publiée :An example CURL command for querying the container for a published app is:

curl -X GET \
"http://localhost:5000/luis/v2.0/apps/{APPLICATION_ID}?q=turn%20on%20the%20lights&staging=false&timezoneOffset=0&verbose=false&log=true" \
-H "accept: application/json"

Pour effectuer des requêtes sur l’environnement intermédiaire (Staging), affectez la valeur true au paramètre de chaîne de requête staging :To make queries to the Staging environment, change the staging query string parameter value to true:

staging=true

Interroger une application entraînéeQuery trained app

Voici un exemple de commande CURL pour interroger le conteneur d’une application entraînée :An example CURL command for querying the container for a trained app is:

curl -X GET \
"http://localhost:5000/luis/v2.0/apps/{APPLICATION_ID}/versions/{APPLICATION_VERSION}?q=turn%20on%20the%20lights&timezoneOffset=0&verbose=false&log=true" \
-H "accept: application/json"

Le nom de version a un maximum de 10 caractères et contient uniquement des caractères autorisés dans une URL.The version name has a maximum of 10 characters and contains only characters allowed in a URL.

Importer les journaux d’activité de point de terminaison pour l’apprentissage actifImport the endpoint logs for active learning

Si un montage de sortie est spécifié pour le conteneur LUIS, les fichiers journaux de requêtes d’application sont enregistrés dans le répertoire de sortie, où {INSTANCE_ID} est l’ID de conteneur.If an output mount is specified for the LUIS container, app query log files are saved in the output directory, where {INSTANCE_ID} is the container ID. Le journal des requêtes d’application contient la requête, la réponse et les horodateurs de chaque requête de prédiction soumise au conteneur LUIS.The app query log contains the query, response, and timestamps for each prediction query submitted to the LUIS container.

L’emplacement suivant montre la structure de répertoires imbriqués pour les fichiers journaux du conteneur.The following location shows the nested directory structure for the container's log files.

/output/luis/{INSTANCE_ID}/

À partir du portail LUIS, sélectionnez votre application, puis sélectionnez Import endpoint logs (Importer les journaux d’activité de point de terminaison) pour charger ces journaux d’activité.From the LUIS portal, select your app, then select Import endpoint logs to upload these logs.

Importer les fichiers journaux du conteneur pour l’apprentissage actif

Une fois le journal chargé, passez en revue les énoncés de point de terminaison dans le portail LUIS.After the log is uploaded, review the endpoint utterances in the LUIS portal.

Valider conteneur est en cours d’exécutionValidate container is running

Il existe plusieurs façons de valider le conteneur est en cours d’exécution :There are several ways to validate the container is running:

RequêteRequest ObjectifPurpose
http://localhost:5000/ Le conteneur fournit une page d’accueil.The container provides a homepage.
http://localhost:5000/status Demandé par GET, pour valider le conteneur est en cours d’exécution sans provoquer d’une requête de point de terminaison.Requested with GET, to validate the container is running without causing an endpoint query. Cela peut être utilisé pour Kubernetes sondes de temporisation et de préparation.This can be used for Kubernetes liveness and readiness probes.
http://localhost:5000/swagger Le conteneur fournit un ensemble complet de documentation pour les points de terminaison ainsi qu’une fonctionnalité Try it now.The container provides a full set of documentation for the endpoints as well as a Try it now feature. Cette fonctionnalité vous permet d’entrer vos paramètres dans un formulaire HTML basé sur le web et d’effectuer la requête sans avoir à écrire du code.This feature allows you to enter your settings into a web-based HTML form and make the query without having to write any code. Une fois la requête retournée, un exemple de commande CURL est fourni pour illustrer le format du corps et des en-têtes HTTP requis.Once the query returns, an example CURL command is provided to demonstrate the HTTP headers and body format required.

Page d’accueil du conteneur

Arrêter le conteneurStop the container

Pour arrêter le conteneur, dans l’environnement de ligne de commande où le conteneur est en cours d’exécution, appuyez sur Ctrl+C.To shut down the container, in the command-line environment where the container is running, press Ctrl+C.

Résolution de problèmesTroubleshooting

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.If you run the container with an output mount and logging enabled, the container generates log files that are helpful to troubleshoot issues that happen while starting or running the container.

FacturationBilling

L’envoie de conteneur LUIS, informations de facturation pour Azure, à l’aide un Cognitive Services ressource sur votre compte Azure.The LUIS container sends billing information to Azure, using a Cognitive Services resource on your Azure account.

Requêtes dans le conteneur sont facturées au niveau de tarification de la ressource Azure utilisé pour le <ApiKey>.Queries to the container are billed at the pricing tier of the Azure resource used for the <ApiKey>.

Les conteneurs de Services cognitifs ne sont pas concédés sous licence pour s’exécuter sans être connectés au point de terminaison de facturation pour le contrôle.Cognitive Services containers are not licensed to run without being connected to the billing endpoint for metering. Les clients doivent activer les conteneurs de communiquer des informations de facturation avec point de terminaison de facturation en permanence.Customers need to enable the containers to communicate billing information with billing endpoint at all times. 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.Cognitive Services containers do not send customer data (for example, the image or text that is being analyzed) to Microsoft.

Connexion à AzureConnecting to Azure

Le conteneur doit les valeurs d’argument facturation à exécuter.The container needs the billing argument values to run. Ces valeurs permettent le conteneur pour se connecter au point de terminaison de facturation.These values allow the container to connect to billing endpoint. La conteneur crée des rapports sur l'utilisation toutes les 10 à 15 minutes.The container reports usage about every 10 to 15 minutes. Si le conteneur ne connecte pas au sein de la fenêtre de temps autorisée vers Azure, le conteneur continuera à fonctionner, mais elle ne traite pas les requêtes jusqu'à ce que le point de terminaison de facturation est restauré.If the container doesn't connect within the allowed time window to Azure, the container will continue to run but will not serve queries until the billing endpoint is restored. La connexion est exécutée 10 fois sur le même intervalle de temps de 10 à 15 minutes.The connection is attempted 10 times at the same time interval of 10 to 15 minutes. S’il ne peut pas se connecter au point de terminaison de facturation dans les 10 tentatives, le conteneur s’arrête en cours d’exécution.If it can't connect to the billing endpoint within the 10 tries, the container will stop running.

Arguments de facturationBilling arguments

Les trois options suivantes doivent être spécifiées avec les valeurs valides dans l’ordre pour la docker run commande pour démarrer le conteneur :All three of the following options must be specified with valid values in order for the docker run command to start the container:

OptionOption DescriptionDescription
ApiKey Clé API de la ressource Service cognitif utilisée pour le suivi des informations de facturation.The API key of the Cognitive Service resource used to track billing information.
La valeur de cette option doit être définie sur une clé API pour la ressource approvisionnée spécifiée dans Billing.The value of this option must be set to an API key for the provisioned resource specified in Billing.
Billing Clé API de la ressource Service cognitif utilisée pour le suivi des informations de facturation.The endpoint of the Cognitive Service resource used to track billing information.
La valeur de cette option doit être définie au point de terminaison URI d’une ressource Azure configurée.The value of this option must be set to the endpoint URI of a provisioned Azure resource.
Eula Indique que vous avez accepté la licence pour le conteneur.Indicates that you've accepted the license for the container.
La valeur de cette option doit être accept.The value of this option must be set to accept.

Pour plus d’informations sur ces options, consultez Configurer des conteneurs.For more information about these options, see Configure containers.

Prise en charge des dépendances pour latest conteneurSupported dependencies for latest container

Le dernier conteneur, libéré à 2019 / / Build, prendra en charge :The latest container, released at 2019 //Build, will support:

  • Vérification orthographique Bing : demandes au point de terminaison de prédiction de requête avec la &spellCheck=true&bing-spell-check-subscription-key={bingKey} des paramètres de chaîne de requête.Bing spell check: requests to the query prediction endpoint with the &spellCheck=true&bing-spell-check-subscription-key={bingKey} query string parameters. Utilisez le vérification orthographique Bing le didacticiel v7 pour en savoir plus.Use the Bing Spell Check v7 tutorial to learn more. Si cette fonctionnalité est utilisée, le conteneur envoie l’énoncé à votre ressource V7 de vérification orthographique Bing.If this feature is used, the container sends the utterance to your Bing Spell Check V7 resource.
  • Nouveaux domaines prédéfinis: ces domaines orientés entreprise incluent des entités, des énoncés d’exemple et des modèles.New prebuilt domains: these enterprise-focused domains include entities, example utterances, and patterns. Étendre ces domaines pour votre usage personnel.Extend these domains for your own use.

Non pris en charge des dépendances pour latest conteneurUnsupported dependencies for latest container

Si votre application LUIS a des dépendances non pris en charge, vous ne pourrez exporter pour conteneur jusqu'à ce que vous supprimiez les fonctionnalités non prises en charge.If your LUIS app has unsupported dependencies, you won't be able to export for container until you remove the unsupported features. Lorsque vous tentez d’exporter pour le conteneur, le portail LUIS signale les fonctionnalités non prises en charge, que vous devez supprimer.When you attempt to export for container, the LUIS portal reports the unsupported features you need to remove.

Vous pouvez utiliser une application LUIS si elle n’inclut aucune des dépendances suivantes :You can use a LUIS application if it doesn't include any of the following dependencies:

Configurations d’application non prises en chargeUnsupported app configurations DétailsDetails
Cultures de conteneur non prises en chargeUnsupported container cultures Néerlandais (nl-NL)Dutch (nl-NL)
Japonais (ja-JP)Japanese (ja-JP)
Allemand est uniquement pris en charge avec le 1.0.1 Générateur de jetons ou une version ultérieure.German is only supported with the 1.0.1 tokenizer or later.
Entités non prises en charge pour toutes les culturesUnsupported entities for all cultures Entité prédéfinie KeyPhrase pour toutes les culturesKeyPhrase prebuilt entity for all cultures
Entités non prises en charge pour la culture anglais (en-US)Unsupported entities for English (en-US) culture Entités prédéfinies GeographyV2GeographyV2 prebuilt entities
Préparation vocaleSpeech priming Les dépendances externes ne sont pas prises en charge dans le conteneur.External dependencies are not supported in the container.
analyse de sentimentsSentiment analysis Les dépendances externes ne sont pas prises en charge dans le conteneur.External dependencies are not supported in the container.

RésuméSummary

Dans cet article, vous avez découvert des concepts et le flux de travail pour le téléchargement, l’installation et l’exécution des conteneurs LUIS (Language Understanding).In this article, you learned concepts and workflow for downloading, installing, and running Language Understanding (LUIS) containers. En résumé :In summary:

  • LUIS (Language Understanding) fournit un conteneur Linux pour Docker offrant des prédictions de requête de point de terminaison d’énoncés.Language Understanding (LUIS) provides one Linux container for Docker providing endpoint query predictions of utterances.
  • Les images conteneurs sont téléchargées à partir de Microsoft Container Registry (MCR).Container images are downloaded from the Microsoft Container Registry (MCR).
  • Les images conteneurs s’exécutent dans Docker.Container images run in Docker.
  • Vous pouvez utiliser l’API REST pour interroger les points de terminaison de conteneur en spécifiant l’URI hôte du conteneur.You can use REST API to query the container endpoints by specifying the host URI of the container.
  • Vous devez spécifier les informations de facturation lors de l’instanciation d’un conteneur.You must specify billing information when instantiating a container.

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.Cognitive Services containers are not licensed to run without being connected to Azure for metering. Les clients doivent configurer les conteneurs de manière à ce qu’ils communiquent les informations de facturation au service de contrôle à tout moment.Customers need to enable the containers to communicate billing information with the metering service at all times. 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.Cognitive Services containers do not send customer data (for example, the image or text that is being analyzed) to Microsoft.

Étapes suivantesNext steps