Installieren und Ausführen von Docker-Containern für LUISInstall and run LUIS docker containers

Der LUIS-Container (Language Understanding) lädt Ihr trainiertes oder veröffentlichtes Language Understanding-Modell (auch als LUIS-App bezeichnet) in einen Docker-Container und ermöglicht den Zugriff auf die Abfragevorhersagen von den API-Endpunkten des Containers.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. Sie können Abfrageprotokolle vom Container erfassen und wieder in die Language Understanding-App hochladen, um die Vorhersagegenauigkeit der App zu verbessern.You can collect query logs from the container and upload these back to the Language Understanding app to improve the app's prediction accuracy.

Das folgende Video veranschaulicht die Verwendung dieses Containers.The following video demonstrates using this container.

Containerdemo für Cognitive ServicesContainer demonstration for Cognitive Services

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.If you don't have an Azure subscription, create a free account before you begin.

VoraussetzungenPrerequisites

Um den LUIS-Container auszuführen, benötigen Sie Folgendes:In order to run the LUIS container, you must have the following:

ErforderlichRequired ZweckPurpose
Docker-EngineDocker Engine Die Docker-Engine muss auf einem Hostcomputer installiert sein.You need the Docker Engine installed on a host computer. Für die Docker-Umgebung stehen Konfigurationspakete für macOS, Windows und Linux zur Verfügung.Docker provides packages that configure the Docker environment on macOS, Windows, and Linux. Eine Einführung in Docker und Container finden Sie in der Docker-Übersicht.For a primer on Docker and container basics, see the Docker overview.

Docker muss so konfiguriert werden, dass die Container eine Verbindung mit Azure herstellen und Abrechnungsdaten an Azure senden können.Docker must be configured to allow the containers to connect with and send billing data to Azure.

Unter Windows muss Docker auch für die Unterstützung von Linux-Containern konfiguriert werden.On Windows, Docker must also be configured to support Linux containers.

Kenntnisse zu DockerFamiliarity with Docker Sie sollten über Grundkenntnisse der Konzepte von Docker, einschließlich Registrierungen, Repositorys, Container und Containerimages, verfügen und die grundlegenden docker-Befehle kennen.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 und LUIS-App-Paket-DateiAzure Cognitive Services resource and LUIS packaged app file Um den Container zu verwenden, benötigen Sie Folgendes:In order to use the container, you must have:

* Eine Azure Cognitive Services-Ressource, den zugehörigen Abrechnungsschlüssel und den URI des Abrechnungsendpunkts.* A Cognitive Services Azure resource and the associated billing key the billing endpoint URI. Beide Werte stehen auf der Übersichts- und auf der Schlüsselseite der Ressource zur Verfügung und werden zum Starten des Containers benötigt.Both values are available on the Overview and Keys pages for the resource and are required to start the container. Sie müssen, wie im folgenden Beispiel BILLING_ENDPOINT_URI dargestellt, dem Endpunkt-URI das luis/v2.0-Routing hinzufügen.You need to add the luis/v2.0 routing to the endpoint URI as shown in the following BILLING_ENDPOINT_URI example.
* Eine trainierte oder veröffentlichte App, die als eingebundene Eingabe für den Container mit der zugehörigen App-ID gepackt ist* A trained or published app packaged as a mounted input to the container with its associated App ID. Sie können die verpackte Datei über das LUIS-Portal oder die Erstellungs-APIs abrufen.You can get the packaged file from the LUIS portal or the Authoring APIs. Wenn Sie das LUIS-App-Paket von den Erstellungs-APIs erhalten, benötigen Sie auch Ihren Erstellungsschlüssel.If you are getting LUIS packaged app from the authoring APIs, you will also need your Authoring Key.

Diese Anforderungen werden verwendet, um Befehlszeilenargumente an die folgenden Variablen zu übergeben:These requirements are used to pass command-line arguments to the following variables:

{AUTHORING_KEY} : Dieser Schlüssel wird verwendet, um das App-Paket vom LUIS-Dienst in der Cloud abzurufen und die Abfrageprotokolle wieder in die Cloud hochzuladen.{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. Das Format ist xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.The format is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

{APPLICATION_ID} : Diese ID wird verwendet, um die App auszuwählen.{APPLICATION_ID}: This ID is used to select the App. Das Format ist xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.The format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

{ENDPOINT_KEY} : Dieser Schlüssel wird verwendet, um den Container zu starten.{ENDPOINT_KEY}: This key is used to start the container. Sie finden den Endpunktschlüssel an zwei Orten.You can find the endpoint key in two places. Zum einen finden Sie ihn im Azure-Portal in der Liste der Schlüssel der Cognitive Services-Ressource.The first is the Azure portal within the Cognitive Services resource's keys list. Zum anderen ist der Endpunktschlüssel auch im LUIS-Portal auf der Einstellungsseite für Schlüssel und Endpunkt verfügbar.The endpoint key is also available in the LUIS portal on the Keys and Endpoint settings page. Verwenden Sie nicht den Starterschlüssel.Do not use the starter key.

{BILLING_ENDPOINT} : Ein Beispiel ist https://westus.api.cognitive.microsoft.com/luis/v2.0.{BILLING_ENDPOINT}: An example is: https://westus.api.cognitive.microsoft.com/luis/v2.0.

Erstellungs- und Endpunktschlüssel haben unterschiedliche Zwecke.The authoring key and endpoint key have different purposes. Verwenden Sie sie nicht im Austausch.Do not use them interchangeably.

Erstellungs-APIs für die PaketdateiAuthoring APIs for package file

Erstellungs-APIs für Paket-Apps:Authoring APIs for packaged apps:

Der HostcomputerThe host computer

Der Host ist ein x64-basierter Computer, auf dem der Docker-Container ausgeführt wird.The host is a x64-based computer that runs the Docker container. Dies kann ein lokaler Computer oder ein Docker-Hostingdienst in Azure sein, z. B.:It can be a computer on your premises or a Docker hosting service in Azure, such as:

Containeranforderungen und -empfehlungenContainer requirements and recommendations

Dieser Container unterstützt Mindestwerte und empfohlene Werte für folgende Einstellungen:This container supports minimum and recommended values for the settings:

ContainerContainer MinimumMinimum EmpfohlenRecommended TPSTPS
(Minimum, Maximum)(Minimum, Maximum)
LUISLUIS 1 Kern, 2 GB Arbeitsspeicher1 core, 2 GB memory 1 Kern, 4 GB Arbeitsspeicher1 core, 4 GB memory 20,4020,40
  • Jeder Kern muss eine Geschwindigkeit von mindestens 2,6 GHz aufweisen.Each core must be at least 2.6 gigahertz (GHz) or faster.
  • TPS: Transaktionen pro SekundeTPS - transactions per second

Kern und Arbeitsspeicher entsprechen den Einstellungen --cpus und --memory, die im Rahmen des Befehls docker run verwendet werden.Core and memory correspond to the --cpus and --memory settings, which are used as part of the docker run command.

Abrufen des Containerimages mit docker pullGet the container image with docker pull

Verwenden Sie den Befehl docker pull, um ein Containerimage aus dem mcr.microsoft.com/azure-cognitive-services/luis-Repository herunterzuladen.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

Verwenden Sie den Befehl docker pull, um ein Containerimage herunterzuladen.Use the docker pull command to download a container image.

Eine vollständige Beschreibung der verfügbaren Tags, wie das im vorherigen Befehl verwendete latest, finden Sie unter LUIS im Docker-Hub.For a full description of available tags, such as latest used in the preceding command, see LUIS on Docker Hub.

Tipp

Mithilfe des Befehls docker images können Sie Ihre heruntergeladenen Containerimages auflisten.You can use the docker images command to list your downloaded container images. Mit dem folgenden Befehl werden beispielsweise die ID, das Repository und das Tag jedes heruntergeladenen Containerimages in Form einer Tabelle aufgelistet: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

Verwenden des ContainersHow to use the container

Wenn sich der Container auf dem Hostcomputer befindet, können Sie über den folgenden Prozess mit dem Container arbeiten.Once the container is on the host computer, use the following process to work with the container.

Prozess für die Verwendung von LUIS-Containern (Language Understanding)

  1. Exportieren Sie das Paket für den Container aus dem LUIS-Portal oder über LUIS-APIs.Export package for container from LUIS portal or LUIS APIs.
  2. Verschieben Sie die Paketdatei in das erforderliche Eingabeverzeichnis auf dem Hostcomputer.Move package file into the required input directory on the host computer. Sie dürfen die LUIS-Paketdatei nicht umbenennen, ändern, überschreiben oder dekomprimieren.Do not rename, alter, overwrite, or decompress LUIS package file.
  3. Führen Sie den Container aus, und verwenden Sie dabei die erforderlichen Einstellungen für Eingabebereitstellung und Abrechnung.Run the container, with the required input mount and billing settings. Es sind noch weitere Beispiele für den Befehl docker run verfügbar.More examples of the docker run command are available.
  4. Fragen Sie den Vorhersageendpunkt des Containers ab.Querying the container's prediction endpoint.
  5. Wenn Sie mit dem Container fertig sind, importieren Sie die Endpunktprotokolle aus der Ausgabebereitstellung in das LUIS-Portal und beenden den Container.When you are done with the container, import the endpoint logs from the output mount in the LUIS portal and stop the container.
  6. Nutzen Sie im LUIS-Portal das aktive Lernen auf der Seite mit den Äußerungen des Überprüfungsendpunkts, um die App zu verbessern.Use LUIS portal's active learning on the Review endpoint utterances page to improve the app.

Die im Container ausgeführte App kann nicht geändert werden.The app running in the container can't be altered. Um die App im Container zu ändern, müssen Sie sie über das LUIS-Portal oder die LUIS-Erstellungs-APIs im LUIS-Dienst ändern.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. Trainieren und/oder veröffentlichen Sie sie anschließend, laden Sie ein neues Paket herunter, und führen Sie den Container erneut aus.Then train and/or publish, then download a new package and run the container again.

Die LUIS-App im Container kann nicht zurück in den LUIS-Dienst exportiert werden.The LUIS app inside the container can't be exported back to the LUIS service. Nur die Abfrageprotokolle können hochgeladen werden.Only the query logs can be uploaded.

Exportieren gepackter Apps aus LUISExport packaged app from LUIS

Der LUIS-Container benötigt eine trainierte oder veröffentlichte LUIS-App, um auf Vorhersageabfragen zu Benutzeräußerungen zu antworten.The LUIS container requires a trained or published LUIS app to answer prediction queries of user utterances. Um die LUIS-App zu erhalten, verwenden Sie entweder die trainierte oder die veröffentlichte Paket-API.In order to get the LUIS app, use either the trained or published package API.

Der Standardspeicherort ist das Unterverzeichnis input – relativ zum Ausführungsort des docker run-Befehls.The default location is the input subdirectory in relation to where you run the docker run command.

Platzieren Sie die Paketdatei in einem Verzeichnis, und verweisen Sie beim Ausführen des Docker-Containers auf dieses Verzeichnis als die Eingabebereitstellung.Place the package file in a directory and reference this directory as the input mount when you run the docker container.

PakettypenPackage types

Das Eingabebereitstellungsverzeichnis kann gleichzeitig die App-Versionen Bereitstellung, Staging und Trainiert enthalten.The input mount directory can contain the Production, Staging, and Trained versions of the app simultaneously. Alle Pakete werden eingebunden.All the packages are mounted.

PakettypPackage Type Abfrageendpunkt-APIQuery Endpoint API AbfrageverfügbarkeitQuery availability Format des PaketdateinamensPackage filename format
TrainiertTrained Get, PostGet, Post Nur ContainerContainer only {APPLICATION_ID}_v{APPLICATION_VERSION}.gz
StagingStaging Get, PostGet, Post Azure und ContainerAzure and container {APPLICATION_ID}_STAGING.gz
BereitstellungProduction Get, PostGet, Post Azure und ContainerAzure and container {APPLICATION_ID}_PRODUCTION.gz

Wichtig

Sie dürfen die LUIS-Paketdateien nicht umbenennen, ändern, überschreiben oder dekomprimieren.Do not rename, alter, overwrite, or decompress the LUIS package files.

Voraussetzungen für das PackenPackaging prerequisites

Vor dem Packen einer LUIS-Anwendung müssen Sie über Folgendes verfügen:Before packaging a LUIS application, you must have the following:

Voraussetzungen für das PackenPackaging Requirements DetailsDetails
Azure Cognitive Services-RessourceninstanzAzure Cognitive Services resource instance Unterstützte RegionenSupported regions include

USA, Westen (westus)West US (westus)
Europa, Westen (westeurope)West Europe (westeurope)
Australien, Osten (australiaeast)Australia East (australiaeast)
Trainierte oder veröffentlichte LUIS-AppTrained or published LUIS app Ohne nicht unterstützte AbhängigkeitenWith no unsupported dependencies.
Zugriff auf das Dateisystem des HostcomputersAccess to the host computer's file system Der Hostcomputer muss eine Eingabebereitstellung zulassen.The host computer must allow an input mount.

Exportieren von App-Paketen im LUIS-PortalExport app package from LUIS portal

Das LUIS-Portal bietet die Möglichkeit, das trainierte oder veröffentlichte App-Paket zu exportieren.The LUIS portal provides the ability to export the trained or published app's package.

Exportieren des Pakets einer veröffentlichten App im LUIS-PortalExport published app's package from LUIS portal

Das Paket einer veröffentlichten App steht in der Liste Meine Apps zur Verfügung.The published app's package is available from the My Apps list page.

  1. Melden Sie sich beim LUIS-Portal an.Sign on to the LUIS portal.
  2. Aktivieren Sie in der Liste das Kontrollkästchen links neben dem App-Namen.Select the checkbox to the left of the app name in the list.
  3. Wählen Sie auf der kontextbezogenen Symbolleiste über der Liste die Option Exportieren aus.Select the Export item from the contextual toolbar above the list.
  4. Wählen Sie Export for container (GZIP) (Für Container exportieren (GZIP)) aus.Select Export for container (GZIP).
  5. Wählen Sie die Umgebung des Produktionsslots oder des Stagingslots aus.Select the environment of Production slot or Staging slot.
  6. Das Paket wird über den Browser heruntergeladen.The package is downloaded from the browser.

Exportieren des veröffentlichten Pakets für den Container über das Menü „Exportieren“ auf der App-Seite

Exportieren des Pakets einer trainierten App im LUIS-PortalExport trained app's package from LUIS portal

Das Paket einer trainierten App steht in der Liste Versionen zur Verfügung.The trained app's package is available from the Versions list page.

  1. Melden Sie sich beim LUIS-Portal an.Sign on to the LUIS portal.
  2. Wählen Sie die App in der Liste aus.Select the app in the list.
  3. Wählen Sie auf der Navigationsleiste der App Verwalten aus.Select Manage in the app's navigation bar.
  4. Wählen Sie auf der linken Navigationsleiste Versionen aus.Select Versions in the left navigation bar.
  5. Aktivieren Sie in der Liste das Kontrollkästchen links neben dem Versionsnamen.Select the checkbox to the left of the version name in the list.
  6. Wählen Sie auf der kontextbezogenen Symbolleiste über der Liste die Option Exportieren aus.Select the Export item from the contextual toolbar above the list.
  7. Wählen Sie Export for container (GZIP) (Für Container exportieren (GZIP)) aus.Select Export for container (GZIP).
  8. Das Paket wird über den Browser heruntergeladen.The package is downloaded from the browser.

Exportieren des trainierten Pakets für den Container über das Menü „Exportieren“ auf der Versionsseite

Exportieren des Pakets einer veröffentlichten App über die APIExport published app's package from API

Verwenden Sie die folgende REST-API-Methode, um eine LUIS-App zu packen, die Sie bereits veröffentlicht haben.Use the following REST API method, to package a LUIS app that you've already published. Ersetzen Sie die entsprechenden Platzhalterwerte im API-Aufruf durch Ihre eigenen Werte. Verwenden Sie dazu die Tabelle unter der HTTP-Spezifikation.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}
PlatzhalterPlaceholder WertValue
{APPLICATION_ID}{APPLICATION_ID} Die Anwendungs-ID der veröffentlichten LUIS-App.The application ID of the published LUIS app.
{APPLICATION_ENVIRONMENT}{APPLICATION_ENVIRONMENT} Die Umgebung der veröffentlichten LUIS-App.The environment of the published LUIS app. Verwenden Sie einen der folgenden Werte:Use one of the following values:
PRODUCTION
STAGING
{AUTHORING_KEY}{AUTHORING_KEY} Der Erstellungsschlüssel des LUIS-Kontos für die veröffentlichte LUIS-App.The authoring key of the LUIS account for the published LUIS app.
Sie finden Ihren Erstellungsschlüssel im LUIS-Portal auf der Seite Benutzereinstellungen.You can get your authoring key from the User Settings page on the LUIS portal.
{AZURE_REGION}{AZURE_REGION} Die entsprechende Azure-Region:The appropriate Azure region:

westus: USA, Westenwestus - West US
westeurope: Europa, Westenwesteurope - West Europe
australiaeast: Australien, Ostenaustraliaeast - Australia East

Verwenden Sie den folgenden cURL-Befehl, um das veröffentlichte Paket herunterzuladen. Verwenden Sie dabei Ihre eigenen Werte: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

Bei einer erfolgreichen Ausführung ist die Antwort eine LUIS-Paketdatei.If successful, the response is a LUIS package file. Speichern Sie die Datei an dem Speicherort, der für die Eingabebereitstellung des Containers angegeben wurde.Save the file in the storage location specified for the input mount of the container.

Exportieren des Pakets einer trainierten App über die APIExport trained app's package from API

Verwenden Sie die folgende REST-API-Methode, um eine LUIS-Anwendung zu packen, die Sie bereits trainiert haben.Use the following REST API method, to package a LUIS application that you've already trained. Ersetzen Sie die entsprechenden Platzhalterwerte im API-Aufruf durch Ihre eigenen Werte. Verwenden Sie dazu die Tabelle unter der HTTP-Spezifikation.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}
PlatzhalterPlaceholder WertValue
{APPLICATION_ID}{APPLICATION_ID} Die Anwendungs-ID der trainierten LUIS-Anwendung.The application ID of the trained LUIS application.
{APPLICATION_VERSION}{APPLICATION_VERSION} Die Anwendungsversion der trainierten LUIS-Anwendung.The application version of the trained LUIS application.
{AUTHORING_KEY}{AUTHORING_KEY} Der Erstellungsschlüssel des LUIS-Kontos für die veröffentlichte LUIS-App.The authoring key of the LUIS account for the published LUIS app.
Sie finden Ihren Erstellungsschlüssel im LUIS-Portal auf der Seite Benutzereinstellungen.You can get your authoring key from the User Settings page on the LUIS portal.
{AZURE_REGION}{AZURE_REGION} Die entsprechende Azure-Region:The appropriate Azure region:

westus: USA, Westenwestus - West US
westeurope: Europa, Westenwesteurope - West Europe
australiaeast: Australien, Ostenaustraliaeast - Australia East

Verwenden Sie den folgenden cURL-Befehl, um das trainierte Paket herunterzuladen: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

Bei einer erfolgreichen Ausführung ist die Antwort eine LUIS-Paketdatei.If successful, the response is a LUIS package file. Speichern Sie die Datei an dem Speicherort, der für die Eingabebereitstellung des Containers angegeben wurde.Save the file in the storage location specified for the input mount of the container.

Ausführen des Containers mit docker runRun the container with docker run

Verwenden Sie den Befehl docker run, um den Container auszuführen.Use the docker run command to run the container. Für den Befehl werden die folgenden Parameter verwendet:The command uses the following parameters:

PlatzhalterPlaceholder WertValue
{ENDPOINT_KEY}{ENDPOINT_KEY} Dieser Schlüssel wird verwendet, um den Container zu starten.This key is used to start the container. Verwenden Sie nicht den Starterschlüssel.Do not use the starter key.
{BILLING_ENDPOINT}{BILLING_ENDPOINT} Den Wert des Abrechnungsendpunkts finden Sie auf der Übersichtsseite von Cognitive Services im Azure-Portal.The billing endpoint value is available on the Azure portal's Cognitive Services Overview page. Sie müssen die luis/v2.0-Weiterleitung dem Endpunkt-URI wie im folgenden Beispiel hinzufügen: 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.

Ersetzen Sie im folgenden Beispiel für den Befehl docker run diese Parameter durch Ihre eigenen Werte.Replace these parameters with your own values in the following example docker run command. Führen Sie den Befehl in der Windows-Konsole aus.Run the command in the Windows console.

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}
  • In diesem Beispiel wird das Verzeichnis auf dem Laufwerk c: verwendet, um Berechtigungskonflikte in Windows zu vermeiden.This example uses the directory off the c: drive to avoid any permission conflicts on Windows. Wenn Sie ein bestimmtes Verzeichnis als Eingabeverzeichnis verwenden möchten, müssen Sie dem Docker-Dienst möglicherweise die erforderliche Berechtigung gewähren.If you need to use a specific directory as the input directory, you may need to grant the docker service permission.
  • Ändern Sie die Reihenfolge der Argumente nur, wenn Sie mit Docker-Containern sehr gut vertraut sind.Do not change the order of the arguments unless you are very familiar with docker containers.
  • Wenn Sie ein anderes Betriebssystem verwenden, verwenden Sie beim Einbinden die richtige Konsole/das richtige Terminal, die richtige Ordnersyntax und das richtige Zeilenfortsetzungszeichen für Ihr System.If you are using a different operating system, use the correct console/terminal, folder syntax for mounts, and line continuation character for your system. In diesen Beispielen wird von einer Windows-Konsole mit dem Zeilenfortsetzungszeichen ^ ausgegangen.These examples assume a Windows console with a line continuation character ^. Da der Container ein Linux-Betriebssystem ist, verwendet die Zieleinbindung eine linuxartige Ordnersyntax.Because the container is a Linux operating system, the target mount uses a Linux-style folder syntax.

Dieser Befehl:This command:

  • Führt einen Container über das LUIS-Containerimage ausRuns a container from the LUIS container image
  • Lädt die LUIS-App aus der Eingabebereitstellung unter „C:\input“ auf dem ContainerhostLoads LUIS app from input mount at c:\input, located on container host
  • Weist zwei CPU-Kerne und 4 GB Arbeitsspeicher zuAllocates two CPU cores and 4 gigabytes (GB) of memory
  • Verfügbarmachen des TCP-Ports 5000 und Zuweisen einer Pseudo-TTY-Verbindung für den ContainerExposes TCP port 5000 and allocates a pseudo-TTY for the container
  • Speichert Container und LUIS-Protokolle in der Ausgabebereitstellung unter „C:\output“ auf dem ContainerhostSaves container and LUIS logs to output mount at c:\output, located on container host
  • Entfernt den Container automatisch, nachdem er beendet wurde.Automatically removes the container after it exits. Das Containerimage ist auf dem Hostcomputer weiterhin verfügbar.The container image is still available on the host computer.

Es sind noch weitere Beispiele für den Befehl docker run verfügbar.More examples of the docker run command are available.

Wichtig

Die Optionen Eula, Billing und ApiKey müssen angegeben werden, um den Container auszuführen, andernfalls wird der Container nicht gestartet.The Eula, Billing, and ApiKey options must be specified to run the container; otherwise, the container won't start. Weitere Informationen finden Sie unter Abrechnung.For more information, see Billing. Der Wert ApiKey ist der Schlüssel von der Seite „Schlüssel und Endpunkte“ im LUIS-Portal. Er ist auch auf der Seite mit den Schlüsseln der Azure Cognitive Services-Ressourcen verfügbar.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.

Ausführen mehrerer Container auf dem gleichen HostRun multiple containers on the same host

Wenn Sie beabsichtigen, mehrere Container mit offengelegten Ports auszuführen, stellen Sie sicher, dass jeder Container mit einem anderen offengelegten Port ausgeführt wird.If you intend to run multiple containers with exposed ports, make sure to run each container with a different exposed port. Führen Sie beispielsweise den ersten Container an Port 5000 und den zweiten Container an Port 5001 aus.For example, run the first container on port 5000 and the second container on port 5001.

Sie können diesen Container und einen anderen Azure Cognitive Services-Container zusammen auf dem Host ausführen.You can have this container and a different Azure Cognitive Services container running on the HOST together. Sie können auch mehrere Container desselben Cognitive Services-Containers ausführen.You also can have multiple containers of the same Cognitive Services container running.

Vom Container unterstützte Endpunkt-APIsEndpoint APIs supported by the container

Sowohl V2- als auch V3-Versionen (Vorschau) der API sind mit dem Container verfügbar.Both V2 and V3 (Preview) versions of the API are available with the container.

Abfragen des Vorhersageendpunkts des ContainersQuery the container's prediction endpoint

Der Container stellt REST-basierte Endpunkt-APIs für die Abfragevorhersage bereit.The container provides REST-based query prediction endpoint APIs. Endpunkte für veröffentlichte (Staging oder Produktion) Apps nutzen eine andere Route als Endpunkte für trainierte Apps.Endpoints for published (staging or production) apps have a different route than endpoints for trained apps.

Verwenden Sie für Container-APIs den Host https://localhost:5000.Use the host, https://localhost:5000, for container APIs.

PakettypPackage type MethodeMethod WeiterleitenRoute AbfrageparameterQuery parameters
VeröffentlichtPublished Get, PostGet, Post /luis/v2.0/apps/{App-ID}?/luis/v2.0/apps/{appId}? q={q}q={q}
&staging&staging
[&timezoneOffset][&timezoneOffset]
[&verbose][&verbose]
[&log][&log]
TrainiertTrained Get, PostGet, Post /luis/v2.0/apps/{App-ID}/versions/{Versions-ID}?/luis/v2.0/apps/{appId}/versions/{versionId}? q={q}q={q}
[&timezoneOffset][&timezoneOffset]
[&verbose][&verbose]
[&log][&log]

Die Abfrageparameter legen fest, was auf welche Weise in der Abfrageantwort zurückgegeben wird:The query parameters configure how and what is returned in the query response:

Query parameter (Abfrageparameter)Query parameter TypeType ZweckPurpose
q Zeichenfolgestring Die Äußerung des Benutzers.The user's utterance.
timezoneOffset numbernumber Das „timeZoneOffset“ ermöglicht das Ändern der Zeitzone, die von der vordefinierten datetimeV2-Entität verwendet wird.The timezoneOffset allows you to change the timezone used by the prebuilt entity datetimeV2.
verbose booleanboolean Gibt bei Festlegung auf TRUE alle Absichten und deren Bewertungen zurück.Returns all intents and their scores when set to true. Der Standardwert ist FALSE, bei dem nur die Hauptabsicht zurückgegeben wird.Default is false, which returns only the top intent.
staging booleanboolean Gibt bei Festlegung auf TRUE die Abfrage aus den Ergebnissen der Stagingumgebung zurück.Returns query from staging environment results if set to true.
log booleanboolean Protokolliert Abfragen, die später für aktives Lernen verwendet werden können.Logs queries, which can be used later for active learning. Der Standardwert ist TRUE.Default is true.

Abfragen veröffentlichter AppsQuery published app

Ein Beispiel für einen cURL-Befehl zum Abfragen des Containers für eine veröffentlichte App lautet: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"

Für Abfragen an die Stagingumgebung ändern Sie den Parameter staging in der Abfragezeichenfolge in TRUE:To make queries to the Staging environment, change the staging query string parameter value to true:

staging=true

Abfragen trainierter AppsQuery trained app

Ein Beispiel für einen cURL-Befehl zum Abfragen des Containers für eine trainierte App lautet: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"

Der Versionsname enthält maximal 10 Zeichen, die auch in einer URL zulässig wären.The version name has a maximum of 10 characters and contains only characters allowed in a URL.

Importieren der Endpunktprotokolle für aktives LernenImport the endpoint logs for active learning

Wenn eine Ausgabebereitstellung für den LUIS-Container angegeben wird, werden Protokolldateien von App-Abfragen im Ausgabeverzeichnis gespeichert, wobei {INSTANCE_ID} die Container-ID ist.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. Das Abfrageprotokoll für die App enthält die Abfrage, die Antwort und die Zeitstempel für jede Vorhersageabfrage, die an den LUIS-Container gesendet wurde.The app query log contains the query, response, and timestamps for each prediction query submitted to the LUIS container.

Der folgende Pfad veranschaulicht die geschachtelte Verzeichnisstruktur für die Protokolldateien des Containers.The following location shows the nested directory structure for the container's log files.

/output/luis/{INSTANCE_ID}/

Wählen Sie Ihre App im LUIS-Portal aus, und wählen Sie dann Endpunktprotokolle importieren aus, um diese Protokolle hochzuladen.From the LUIS portal, select your app, then select Import endpoint logs to upload these logs.

Importieren der Protokolldateien des Containers für aktives Lernen

Nachdem Sie das Protokoll hochgeladen haben, überprüfen Sie die Endpunktäußerungen im LUIS-Portal.After the log is uploaded, review the endpoint utterances in the LUIS portal.

Überprüfen auf aktive ContainerValidate that a container is running

Es gibt mehrere Möglichkeiten zu überprüfen, ob ein Container aktiv ist.There are several ways to validate that the container is running.

AnforderungRequest ZweckPurpose
http://localhost:5000/ Der Container stellt eine Homepage bereit.The container provides a home page.
http://localhost:5000/status Anforderung mit GET, um zu überprüfen, ob der Container aktiv ist, ohne eine Endpunktabfrage zu verursachen.Requested with GET, to validate that the container is running without causing an endpoint query. Diese Anforderung kann für Live- und Bereitschaftstests von Kubernetes verwendet werden.This request can be used for Kubernetes liveness and readiness probes.
http://localhost:5000/swagger Der Container stellt eine umfassende Dokumentation für die Endpunkte sowie die Funktion Try it now bereit.The container provides a full set of documentation for the endpoints and a Try it now feature. Diese Funktion ermöglicht Ihnen die Eingabe Ihrer Einstellungen in einem webbasierten HTML-Formular, sodass Sie die Abfrage ausführen können, ohne Code schreiben zu müssen.With this feature, you can enter your settings into a web-based HTML form and make the query without having to write any code. Nach der Rückgabe der Abfrage wird ein cURL-Beispielbefehl bereitgestellt, der das erforderliche Format für HTTP-Header und -Text veranschaulicht.After the query returns, an example CURL command is provided to demonstrate the HTTP headers and body format that's required.

Homepage des Containers

Beenden des ContainersStop the container

Zum Herunterfahren des Containers drücken Sie in der Befehlszeilenumgebung, in der der Container ausgeführt wird, STRG+C.To shut down the container, in the command-line environment where the container is running, press Ctrl+C.

ProblembehandlungTroubleshooting

Wenn Sie den Container mit einer Ausgabenbereitstellung ausführen und die Protokollierung aktiviert ist, generiert der Container Protokolldateien. Diese sind hilfreich, um Probleme beim Starten oder Ausführen des Containers zu beheben.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.

AbrechnungBilling

Der LUIS-Container sendet Abrechnungsinformationen an Azure und verwendet dafür eine entsprechende Cognitive Services-Ressource in Ihrem Azure-Konto.The LUIS container sends billing information to Azure, using a Cognitive Services resource on your Azure account.

Abfragen des Containers werden mit dem Tarif der Azure-Ressource in Ressource gestellt, die für den <ApiKey> verwendet wird.Queries to the container are billed at the pricing tier of the Azure resource used for the <ApiKey>.

Für die Ausführung von Azure Cognitive Services-Containern besteht keine Lizenz, wenn sie nicht zu Messzwecken mit dem Abrechnungsendpunkt verbunden sind.Azure Cognitive Services containers aren't licensed to run without being connected to the billing endpoint for metering. Sie müssen sicherstellen, dass die Container jederzeit Abrechnungsinformationen an den Abrechnungsendpunkt übermitteln können.You must enable the containers to communicate billing information with the billing endpoint at all times. Cognitive Services-Container senden keine Kundendaten (z. B. das analysierte Bild oder den analysierten Text) an Microsoft.Cognitive Services containers don't send customer data, such as the image or text that's being analyzed, to Microsoft.

Herstellen einer Verbindung mit AzureConnect to Azure

Der Container benötigt die Abrechnungsargumentwerte, um ausgeführt werden zu können.The container needs the billing argument values to run. Diese Werte ermöglichen es dem Container, eine Verbindung mit dem Abrechnungsendpunkt herzustellen.These values allow the container to connect to the billing endpoint. Der Container meldet die Nutzung etwa alle 10 bis 15 Minuten.The container reports usage about every 10 to 15 minutes. Wenn der Container nicht innerhalb des zulässigen Zeitfensters eine Verbindung mit Azure herstellt, wird der Container weiterhin ausgeführt, verarbeitet aber keine Anfragen, bis der Abrechnungsendpunkt wiederhergestellt wurde.If the container doesn't connect to Azure within the allowed time window, the container continues to run but doesn't serve queries until the billing endpoint is restored. Es erfolgen 10 Verbindungsversuche im gleichen Zeitintervall von 10 bis 15 Minuten.The connection is attempted 10 times at the same time interval of 10 to 15 minutes. Wenn die Verbindung mit dem Abrechnungsendpunkt nicht innerhalb der 10 Versuche hergestellt werden kann, wird die Ausführung des Containers beendet.If it can't connect to the billing endpoint within the 10 tries, the container stops running.

AbrechnungsargumenteBilling arguments

Alle drei der folgenden Optionen müssen mit gültigen Werten angegeben werden, damit der Container mit dem Befehl docker run gestartet wird.All three of the following options must be specified with valid values in order for the docker run command to start the container.

OptionOption BESCHREIBUNGDescription
ApiKey Der API-Schlüssel der Cognitive Services-Ressource, der zum Nachverfolgen von Abrechnungsinformationen verwendet wird.The API key of the Cognitive Services resource used to track billing information.
Der Wert dieser Option muss für die bereitgestellte Ressource, die in Billing angegeben wurde, auf einen API-Schlüssel festgelegt werden.The value of this option must be set to an API key for the provisioned resource specified in Billing.
Billing Der Endpunkt der Cognitive Services-Ressource, der zum Nachzuverfolgen von Abrechnungsinformationen verwendet wird.The endpoint of the Cognitive Services resource used to track billing information.
Der Wert dieser Option muss auf den Endpunkt-URI einer bereitgestellten Azure-Ressource festgelegt werden.The value of this option must be set to the endpoint URI of a provisioned Azure resource.
Eula Gibt an, dass Sie die Lizenz für den Container akzeptiert haben.Indicates that you accepted the license for the container.
Der Wert dieser Option muss auf accept festgelegt werden.The value of this option must be set to accept.

Weitere Informationen zu diesen Optionen finden Sie unter Konfigurieren von Containern.For more information about these options, see Configure containers.

Unterstützte Abhängigkeiten für latest-ContainerSupported dependencies for latest container

Der neueste auf der Microsoft Build 2019 veröffentlichte Container unterstützt Folgendes:The latest container, released at 2019 //Build, will support:

  • Bing-Rechtschreibprüfung: Anforderungen an den Endpunkt der Abfragevorhersage mit Parametern des Typs &spellCheck=true&bing-spell-check-subscription-key={bingKey} für Abfragezeichenfolgen.Bing spell check: requests to the query prediction endpoint with the &spellCheck=true&bing-spell-check-subscription-key={bingKey} query string parameters. Im Tutorial Bing-Rechtschreibprüfung V7 erfahren Sie mehr.Use the Bing Spell Check v7 tutorial to learn more. Wenn dieses Feature verwendet wird, sendet der Container die Äußerung an die Bing-Rechtschreibprüfung V7.If this feature is used, the container sends the utterance to your Bing Spell Check V7 resource.
  • Neue vordefinierte Bereiche: Zu diesen auf Unternehmen fokussierten Domänen gehören Entitäten, Beispieläußerungen und Muster.New prebuilt domains: these enterprise-focused domains include entities, example utterances, and patterns. Erweitern Sie diese Domänen für Ihre eigenen Zwecke.Extend these domains for your own use.

Nicht unterstützte Abhängigkeiten für latest-ContainerUnsupported dependencies for latest container

Wenn Ihre LUIS-App nicht unterstützte Abhängigkeiten hat, ist der Export für Container erst möglich, nachdem Sie die nicht unterstützten Features entfernt haben.If your LUIS app has unsupported dependencies, you won't be able to export for container until you remove the unsupported features. Wenn Sie den Export für Container versuchen, meldet das LUIS-Portal, dass Sie nicht unterstützte Features entfernen müssen.When you attempt to export for container, the LUIS portal reports the unsupported features you need to remove.

Sie können eine LUIS-Anwendung verwenden, sofern diese keine der folgenden Abhängigkeiten enthält:You can use a LUIS application if it doesn't include any of the following dependencies:

Nicht unterstützte App-KonfigurationenUnsupported app configurations DetailsDetails
Nicht unterstützte ContainerkulturenUnsupported container cultures Niederländisch (nl-NL)Dutch (nl-NL)
Japanisch (ja-JP)Japanese (ja-JP)
Deutsch wird nur ab Tokenizer 1.0.1 unterstützt.German is only supported with the 1.0.1 tokenizer or later.
Nicht unterstützte Entitäten für alle KulturenUnsupported entities for all cultures Vordefinierte KeyPhrase-Entität für alle KulturenKeyPhrase prebuilt entity for all cultures
Nicht unterstützte Entitäten für die Kultur Englisch (en-US)Unsupported entities for English (en-US) culture Vordefinierte GeographyV2-EntitätenGeographyV2 prebuilt entities
SprachvorbereitungSpeech priming Externe Abhängigkeiten werden im Container nicht unterstützt.External dependencies are not supported in the container.
StimmungsanalyseSentiment analysis Externe Abhängigkeiten werden im Container nicht unterstützt.External dependencies are not supported in the container.

BlogbeiträgeBlog posts

EntwicklerbeispieleDeveloper samples

Beispiele für Entwickler finden Sie in unserem GitHub-Repository.Developer samples are available at our GitHub repository.

Anzeigen des WebinarsView webinar

Im Webinar erhalten Sie Informationen zu folgenden Aktionen:Join the webinar to learn about:

  • Bereitstellen von Cognitive Services auf einem beliebigen Computer mit DockerHow to deploy Cognitive Services to any machine using Docker
  • Bereitstellen von Cognitive Services in AKSHow to deploy Cognitive Services to AKS

ZusammenfassungSummary

In diesem Artikel haben Sie die Konzepte und den Workflow zum Herunterladen, Installieren und Ausführen von LUIS-Containern (Language Understanding) kennengelernt.In this article, you learned concepts and workflow for downloading, installing, and running Language Understanding (LUIS) containers. Zusammenfassung:In summary:

  • Language Understanding (LUIS) bietet einen Linux-Container für Docker, der Vorhersagen für Endpunktabfragen zu Äußerungen bereitstellt.Language Understanding (LUIS) provides one Linux container for Docker providing endpoint query predictions of utterances.
  • Containerimages werden aus Microsoft Container Registry (MCR) heruntergeladen.Container images are downloaded from the Microsoft Container Registry (MCR).
  • Containerimages werden in Docker ausgeführt.Container images run in Docker.
  • Sie können die REST-API verwenden, um die Containerendpunkte abzufragen, indem Sie den Host-URI des Containers angeben.You can use REST API to query the container endpoints by specifying the host URI of the container.
  • Bei der Instanziierung eines Containers müssen Sie Abrechnungsinformationen angeben.You must specify billing information when instantiating a container.

Wichtig

Für die Ausführung von Cognitive Services-Containern besteht keine Lizenz, wenn sie nicht zu Messzwecken mit Azure verbunden sind.Cognitive Services containers are not licensed to run without being connected to Azure for metering. Kunden müssen sicherstellen, dass Container jederzeit Abrechnungsinformationen an den Messungsdienst übermitteln können.Customers need to enable the containers to communicate billing information with the metering service at all times. Cognitive Services-Container senden keine Kundendaten (etwa das analysierte Bild oder den analysierten Text) an Microsoft.Cognitive Services containers do not send customer data (for example, the image or text that is being analyzed) to Microsoft.

Nächste SchritteNext steps