Partager via


Configurer les conteneurs Docker Language Understanding

Important

LUIS sera mis hors service le 1er octobre 2025 et à partir du 1er avril 2023, vous ne pourrez plus créer de nouvelles ressources LUIS. Nous vous recommandons de migrer vos applications LUIS vers la compréhension du langage courant pour tirer parti de la prise en charge continue des produits et des fonctionnalités multilingues.

L'environnement d'exécution de conteneur Language Understanding (LUIS) est configuré à l'aide des arguments de la commande docker run. LUIS a plusieurs paramètres obligatoires et quelques paramètres facultatifs. Plusieurs exemples de commande sont disponibles. Les paramètres propres aux conteneurs sont les paramètres de montage d’entrée et les paramètres de facturation.

Paramètres de configuration

Ce conteneur a les paramètres de configuration suivants :

Obligatoire Paramètre Objectif
Oui ApiKey Utilisé pour le suivi des informations de facturation.
Non ApplicationInsights Vous permet d’ajouter la prise en charge de la télémétrie Azure Application Insights à votre conteneur.
Oui Billing Spécifie l’URI de point de terminaison de la ressource de service sur Azure.
Oui Eula Indique que vous avez accepté la licence pour le conteneur.
Non Fluentd Écrire les données des journaux et, éventuellement, des métriques, sur un serveur Fluentd.
Non Proxy HTTP Configurer 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.
Oui Mounts Lire et écrire des données de l’ordinateur hôte sur le conteneur, et du conteneur sur l’ordinateur hôte.

Important

Les paramètres ApiKey, Billing et Eula sont utilisés conjointement, et vous devez fournir des valeurs valides pour les trois ; à défaut, votre conteneur ne démarrera pas. Pour plus d’informations sur l’instanciation d’un conteneur à l’aide de ces paramètres de configuration, consultez Facturation.

Paramètre ApiKey

Le paramètre ApiKey spécifie la clé de ressource Azure utilisée pour effectuer le suivi des informations de facturation pour le conteneur. Vous devez donner une valeur à ApiKey, qui doit être une clé valide pour la ressource Azure AI Services spécifiée dans le paramètre de configuration Billing.

Vous trouverez ce paramètre aux emplacements suivants :

  • Portail Azure : Gestion des ressources Azure AI services, sous Clés
  • Portail LUIS : page Paramètres des clés et point de terminaison.

N’utilisez pas la clé de démarrage ou la clé de création.

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ètre Billing

Le paramètre Billing permet de spécifier l’URI de point de terminaison de la ressource Azure AI Services sur Azure servant à effectuer l’analyse des informations de facturation du conteneur. Vous devez donner une valeur à ce paramètre de configuration, qui doit être un URI de point de terminaison valide pour une ressource Azure AI services dans Azure. Le conteneur crée des rapports sur l’utilisation toutes les 10 à 15 minutes.

Vous trouverez ce paramètre aux emplacements suivants :

  • Portail Azure : Vue d’ensemble Azure AI Services, étiquetée Endpoint
  • Portail LUIS : page Paramètres des clés et du point de terminaison, dans le cadre de l’URI du point de terminaison.
Obligatoire Nom Type de données Description
Oui Billing string URI de point de terminaison de facturation. Pour plus d’informations sur l’obtention de l’URI de facturation, consultez Collecter les paramètres obligatoires. Pour plus d’informations et afin d’obtenir une liste complète des points de terminaison régionaux, consultez Noms personnalisés de sous-domaine pour Azure AI services.

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è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 de montage

Utilisez des montages de liaisons pour lire et écrire des données vers et à partir du conteneur. Vous pouvez spécifier un montage d’entrée ou de sortie en spécifiant l’option --mount dans la commande docker run.

Le conteneur LUIS n’utilise pas de montage d’entrée ou de sortie pour stocker des données d’entraînement ou de service.

La syntaxe exacte de l’emplacement de montage d’hôte varie en fonction du système d’exploitation hôte. De plus, l’emplacement de montage de l’ordinateur hôte peut ne pas être accessible en raison d’un conflit entre les autorisations utilisées par le compte de service docker et les autorisations de l’emplacement de montage de l’hôte.

Le tableau suivant décrit les paramètres pris en charge.

Obligatoire Nom Type de données Description
Oui Input String Cible du montage d’entrée. La valeur par défaut est /input. Il s’agit de l’emplacement des fichiers de package LUIS.

Exemple :
--mount type=bind,src=c:\input,target=/input
Non Output String Cible du montage de sortie. La valeur par défaut est /output. Il s’agit de l’emplacement des journaux d’activité. Cela comprend les journaux d’activité de requêtes LUIS et les journaux d’activité de conteneur.

Exemple :
--mount type=bind,src=c:\output,target=/output

Exemples de commandes docker run

Les exemples suivants utilisent les paramètres de configuration pour illustrer comment écrire et utiliser des commandes docker run. Une fois en cours d’exécution, le conteneur continue à s’exécuter jusqu’à ce que vous l’arrêtiez.

  • Ces exemples utilisent le répertoire du lecteur C: pour éviter tout conflit d’autorisation sur 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.
  • Ne changez pas l’ordre des arguments, sauf si vous avez une connaissance approfondie des conteneurs docker.
  • Si vous utilisez un autre système d’exploitation, utilisez la console et/ou le terminal approprié, la syntaxe de dossier pour les montages et le caractère de continuation de ligne pour votre système. Dans ces exemples, une console Windows avec un caractère de continuation de ligne ^ est censée être utilisée. Le conteneur étant un système d’exploitation Linux, le montage cible utilise une syntaxe de dossier de type Linux.

Remplacez {argument_name} par vos propres valeurs :

Espace réservé Valeur Format ou exemple
{API_KEY} Clé de point de terminaison de la ressource LUIS dans la page Clés Azure LUIS. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{ENDPOINT_URI} La valeur de point de terminaison de facturation est disponible dans la page Vue d’ensemble Azure LUIS. Pour obtenir des exemples explicites, consultez Collecter les paramètres obligatoires.

Notes

Les nouvelles ressources créées après le 1er juillet 2019 utilisent des noms de sous-domaines personnalisés. Pour plus d’informations et afin d’obtenir une liste complète des points de terminaison régionaux, consultez Noms personnalisés de sous-domaine pour Azure AI services.

Important

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. La valeur ApiKey est la clé mentionnée dans la page Keys and Endpoints dans le portail LUIS. Elle est également disponible dans la page Clés de ressources d’Azure Azure AI services.

Exemple de base

L’exemple suivant contient le moins d’arguments possible pour exécuter le conteneur :

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:latest ^
Eula=accept ^
Billing={ENDPOINT_URL} ^
ApiKey={API_KEY}

Exemple ApplicationInsights

L’exemple suivant définit l’argument ApplicationInsights pour envoyer des données de télémétrie à Application Insights pendant l’exécution du conteneur :

docker run --rm -it -p 5000:5000 --memory 6g --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:latest ^
Eula=accept ^
Billing={ENDPOINT_URL} ^
ApiKey={API_KEY} ^
InstrumentationKey={INSTRUMENTATION_KEY}

Exemple de journalisation

La commande suivante définit le niveau de journalisation, Logging:Console:LogLevel, pour configurer le niveau de journalisation sur Information.

docker run --rm -it -p 5000:5000 --memory 6g --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:latest ^
Eula=accept ^
Billing={ENDPOINT_URL} ^
ApiKey={API_KEY} ^
Logging:Console:LogLevel:Default=Information

Étapes suivantes