Instalowanie i uruchamianie kontenerów platformy Docker LUISInstall and run LUIS docker containers

Kontener Language Understanding (LUIS) ładuje swój przeszkolony lub opublikowany Language Understanding model.The Language Understanding (LUIS) container loads your trained or published Language Understanding model. Jako aplikacja Luis, kontener platformy Docker zapewnia dostęp do prognoz zapytania z punktów końcowych interfejsu API kontenera.As a LUIS app, the docker container provides access to the query predictions from the container's API endpoints. Można zebrać dzienniki zapytań z kontenera i przekazać je z powrotem do aplikacji Language Understanding, aby zwiększyć dokładność przewidywania aplikacji.You can collect query logs from the container and upload them back to the Language Understanding app to improve the app's prediction accuracy.

Poniższy film wideo demonstruje użycie tego kontenera.The following video demonstrates using this container.

Demonstracja @no__t 1Container dla Cognitive Services](https://aka.ms/luis-container-demo)Container demonstration for Cognitive Services

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem Utwórz bezpłatne konto .If you don't have an Azure subscription, create a free account before you begin.

Wymagania wstępnePrerequisites

Aby uruchomić kontener LUIS, należy zwrócić uwagę na następujące wymagania wstępne:To run the LUIS container, note the following prerequisites:

WymaganeRequired CelPurpose
Aparat platformy DockerDocker Engine Aparat platformy Docker musi być zainstalowany na komputerze-hoście.You need the Docker Engine installed on a host computer. Platforma Docker zawiera pakiety, które konfigurują środowisko platformy Docker w systemach macOS, Windowsi Linux.Docker provides packages that configure the Docker environment on macOS, Windows, and Linux. Podstawowe informacje dotyczące platformy Docker i kontenera można znaleźć w temacie Omówienie platformy Docker.For a primer on Docker and container basics, see the Docker overview.

Program Docker musi być skonfigurowany tak, aby umożliwić kontenerom łączenie się z danymi rozliczeń i wysyłanie ich do platformy Azure.Docker must be configured to allow the containers to connect with and send billing data to Azure.

W systemie Windowsprogram Docker musi być również skonfigurowany do obsługi kontenerów systemu Linux.On Windows, Docker must also be configured to support Linux containers.

Znajomość platformy DockerFamiliarity with Docker Należy dysponować podstawową wiedzą na temat pojęć platformy Docker, takich jak rejestry, repozytoria, kontenery i obrazy kontenerów, a także znajomość podstawowych poleceń docker.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 @no__t — 0 zasobów i LUIS spakowany plik aplikacjiAzure Cognitive Services resource and LUIS packaged app file Aby można było używać kontenera, musisz mieć:In order to use the container, you must have:

* Zasób platformy Azure Cognitive Services i skojarzony klucz rozliczeniowy identyfikator URI punktu końcowego rozliczenia.* A Cognitive Services Azure resource and the associated billing key the billing endpoint URI. Obie wartości są dostępne na stronach przeglądów i kluczy dla zasobu i są wymagane do uruchomienia kontenera.Both values are available on the Overview and Keys pages for the resource and are required to start the container.
* Przeszkolone lub opublikowana aplikacja spakowana jako zainstalowano dane wejściowe do kontenera ze skojarzonym IDENTYFIKATORem aplikacji.* A trained or published app packaged as a mounted input to the container with its associated App ID. Spakowany plik można pobrać z portalu LUIS lub interfejsów API tworzenia.You can get the packaged file from the LUIS portal or the Authoring APIs. Jeśli otrzymujesz spakowaną aplikację LUIS z interfejsów API tworzenia, będziesz również potrzebować klucza tworzenia.If you are getting LUIS packaged app from the authoring APIs, you will also need your Authoring Key.

Te wymagania są używane do przekazywania argumentów wiersza polecenia do następujących zmiennych:These requirements are used to pass command-line arguments to the following variables:

{AUTHORING_KEY} : ten klucz służy do uzyskiwania spakowanej aplikacji z usługi Luis w chmurze i przekazywania dzienników zapytań z powrotem do chmury.{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. Format jest xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.The format is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

{APPLICATION_ID} : ten identyfikator jest używany do wybierania aplikacji.{APPLICATION_ID}: This ID is used to select the App. Format jest xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.The format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

{API_KEY} : ten klucz jest używany do uruchamiania kontenera.{API_KEY}: This key is used to start the container. Klucz punktu końcowego można znaleźć w dwóch miejscach.You can find the endpoint key in two places. Pierwszy to Azure Portal na liście kluczy zasobu Cognitive Services .The first is the Azure portal within the Cognitive Services resource's keys list. Klucz punktu końcowego jest również dostępny w portalu LUIS na stronie ustawień klucze i punkt końcowy.The endpoint key is also available in the LUIS portal on the Keys and Endpoint settings page. Nie używaj klucza początkowego.Do not use the starter key.

{ENDPOINT_URI} : punkt końcowy określony na stronie Przegląd.{ENDPOINT_URI}: The endpoint as provided on the Overview page.

Klucz tworzenia i klucz punktu końcowego mają różne cele.The authoring key and endpoint key have different purposes. Nie należy ich używać zamiennie.Do not use them interchangeably.

Zbieranie wymaganych parametrówGathering required parameters

Istnieją trzy podstawowe parametry dla wszystkich kontenerów Cognitive Services, które są wymagane.There are three primary parameters for all Cognitive Services' containers that are required. Umowa licencyjna użytkownika oprogramowania (EULA) musi być obecna z wartością accept.The end-user license agreement (EULA) must be present with a value of accept. Ponadto wymagany jest adres URL punktu końcowego i klucz interfejsu API.Additionally, both an Endpoint URL and API Key are needed.

Uwaga

Jedynym wyjątkiem od tych trzech wymaganych parametrów jest to, że kontenery są uznawane za kontenery "offline".The only exception to these three required parameters is when containers are considered "Offline" containers. Kontenery w trybie offline nie zgłaszają użycia, nie są naliczane i obowiązują różne metody rozliczania.Offline containers do not report usage, are not metered and follow a different billing methodology.

Identyfikator URI punktu końcowego{ENDPOINT_URI}Endpoint URI {ENDPOINT_URI}

Wartość identyfikatora URI punktu końcowego jest dostępna na stronie Przegląd Azure Portal odpowiedniego zasobu usługi poznawczej.The Endpoint URI value is available on the Azure portal Overview page of the corresponding Cognitive Service resource. Przejdź do strony Przegląd , umieść kursor nad punktem końcowym, a Copy to clipboard zostanie wyświetlona ikona.Navigate to the Overview page, hover over the Endpoint, and a Copy to clipboard icon will appear. Kopiowanie i używanie tam, gdzie jest to zbędne.Copy and use where needed.

Zbierz identyfikator URI punktu końcowego do późniejszego użycia

Ponownie{API_KEY}Keys {API_KEY}

Ten klucz jest używany do uruchamiania kontenera i jest dostępny na stronie klucze Azure Portal odpowiedniego zasobu usługi poznawczej.This key is used to start the container, and is available on the Azure portal's Keys page of the corresponding Cognitive Service resource. Przejdź do strony klucze i kliknij Copy to clipboard ikonę.Navigate to the Keys page, and click on the Copy to clipboard icon.

Pobierz jeden z dwóch kluczy do późniejszego użycia

Ważne

Te klucze subskrypcji są używane do uzyskiwania dostępu do interfejsu API usługi poznawczej.These subscription keys are used to access your Cognitive Service API. Nie udostępniaj kluczy.Do not share your keys. Przechowuj je bezpiecznie, na przykład przy użyciu Azure Key Vault.Store them securely, for example, using Azure Key Vault. Zalecamy także regularne ponowne generowanie tych kluczy.We also recommend regenerating these keys regularly. Tylko jeden klucz jest wymagany do wywołania interfejsu API.Only one key is necessary to make an API call. Po ponownym wygenerowaniu pierwszego klucza można użyć drugiego klawisza w celu uzyskania ciągłego dostępu do usługi.When regenerating the first key, you can use the second key for continued access to the service.

Tworzenie interfejsów API dla pliku pakietuAuthoring APIs for package file

Tworzenie interfejsów API dla spakowanych aplikacji:Authoring APIs for packaged apps:

Komputer-hostThe host computer

Host jest x64 64 komputera, który uruchamia kontener platformy Docker.The host is a x64-based computer that runs the Docker container. Może być komputer w środowisku lokalnym lub Usługa hostingu platformy Docker na platformie Azure, takich jak:It can be a computer on your premises or a Docker hosting service in Azure, such as:

Wymagania i zalecenia dotyczące konteneraContainer requirements and recommendations

Ten kontener obsługuje minimalne i zalecane wartości ustawień:This container supports minimum and recommended values for the settings:

WbudowaneContainer MinimalnieMinimum ZalecaneRecommended TPSTPS
(Minimum, maksimum)(Minimum, Maximum)
LUISLUIS 1 rdzeń, 2 GB pamięci1 core, 2-GB memory 1 rdzeń, 4 GB pamięci1 core, 4-GB memory 20, 4020, 40
  • Każdy rdzeń musi mieć co najmniej 2,6 gigaherca (GHz) lub szybszy.Each core must be at least 2.6 gigahertz (GHz) or faster.
  • TPS — liczba transakcji na sekundęTPS - transactions per second

Rdzeń i pamięć odpowiadają ustawieniom --cpus i --memory, które są używane jako część polecenia docker run.Core and memory correspond to the --cpus and --memory settings, which are used as part of the docker run command.

Pobierz obraz kontenera z docker pullGet the container image with docker pull

Użyj polecenia docker pull , aby pobrać obraz kontenera z repozytorium 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

Użyj polecenia docker pull , aby pobrać obraz kontenera.Use the docker pull command to download a container image.

Pełny opis dostępnych tagów, takich jak latest użyty w poprzednim poleceniu, znajduje się w temacie Luis on the Docker Hub.For a full description of available tags, such as latest used in the preceding command, see LUIS on Docker Hub.

Porada

Możesz użyć obrazów platformy docker polecenie, aby wyświetlić listę obrazów kontenerów pobrany.You can use the docker images command to list your downloaded container images. Na przykład następujące polecenie wyświetla identyfikator, repozytorium i tag każdy obraz kontenera pobrany, sformatowane jako tabela: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
<image-id>       <repository-path/name>    <tag-name>

Jak używać konteneraHow to use the container

Gdy kontener znajduje się na komputerze hosta, użyj następującego procesu, aby współpracować z kontenerem.Once the container is on the host computer, use the following process to work with the container.

Proces używania kontenera Language Understanding (LUIS)

  1. Pakiet eksportu dla kontenera z Luis Portal lub interfejsów API Luis.Export package for container from LUIS portal or LUIS APIs.
  2. Przenieś plik pakietu do wymaganego katalogu wejściowego na komputerze-hoście.Move package file into the required input directory on the host computer. Nie należy zmieniać nazwy, zmieniać, zastępować ani dekompresowanie pliku pakietu LUIS.Do not rename, alter, overwrite, or decompress the LUIS package file.
  3. Uruchom kontenerz wymaganymi ustawieniami instalacji i rozliczeń.Run the container, with the required input mount and billing settings. Więcej przykładów polecenia docker run jest dostępnych.More examples of the docker run command are available.
  4. Wykonywanie zapytania dotyczącego punktu końcowego przewidywania kontenera.Querying the container's prediction endpoint.
  5. Po zakończeniu pracy z kontenerem zaimportuj dzienniki punktów końcowych z instalacji wyjściowej w portalu Luis i Zatrzymaj kontener.When you are done with the container, import the endpoint logs from the output mount in the LUIS portal and stop the container.
  6. Aby ulepszyć aplikację, użyj aktywnej uczenia w portalu Luis na stronie Przegląd punktu końcowego wyrażenia długości .Use LUIS portal's active learning on the Review endpoint utterances page to improve the app.

Nie można zmienić aplikacji działającej w kontenerze.The app running in the container can't be altered. W kolejności zmiany aplikacji w kontenerze należy zmienić aplikację w usłudze LUIS przy użyciu portalu Luis lub użyć interfejsów API tworzeniaLuis.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. Następnie Wyszkol i/lub Opublikuj, a następnie Pobierz nowy pakiet i ponownie uruchom kontener.Then train and/or publish, then download a new package and run the container again.

Nie można wyeksportować aplikacji LUIS wewnątrz kontenera z powrotem do usługi LUIS.The LUIS app inside the container can't be exported back to the LUIS service. Można przekazać tylko dzienniki zapytań.Only the query logs can be uploaded.

Eksportuj spakowaną aplikację z LUISExport packaged app from LUIS

Kontener LUIS wymaga przeszkolonej lub opublikowanej aplikacji LUIS do odpowiedzi na zapytania predykcyjne wyrażenia długości użytkownika.The LUIS container requires a trained or published LUIS app to answer prediction queries of user utterances. Aby uzyskać aplikację LUIS, użyj interfejsu API pakietu przeszkolonego lub opublikowanego.In order to get the LUIS app, use either the trained or published package API.

Domyślną lokalizacją jest podkatalog input w odniesieniu do miejsca, w którym jest uruchamiane polecenie docker run.The default location is the input subdirectory in relation to where you run the docker run command.

Umieść plik pakietu w katalogu i odwołuje się do tego katalogu jako instalacji wejściowej podczas uruchamiania kontenera Docker.Place the package file in a directory and reference this directory as the input mount when you run the docker container.

Typy pakietówPackage types

Wejściowy katalog instalacji może zawierać jednocześnie produkcyjne, przejściowei przeszkolone wersje aplikacji.The input mount directory can contain the Production, Staging, and Trained versions of the app simultaneously. Wszystkie pakiety są zainstalowane.All the packages are mounted.

Typ pakietuPackage Type Interfejs API punktu końcowego zapytaniaQuery Endpoint API Dostępność zapytaniaQuery availability Format nazwy pliku pakietuPackage filename format
SzkoleTrained POBIERZ, OPUBLIKUJGET, POST Tylko kontenerContainer only {APPLICATION_ID}_v{APPLICATION_VERSION}.gz
PrzemieszczaniaStaging POBIERZ, OPUBLIKUJGET, POST Platforma Azure i kontenerAzure and container {APPLICATION_ID}_STAGING.gz
NarzędziProduction POBIERZ, OPUBLIKUJGET, POST Platforma Azure i kontenerAzure and container {APPLICATION_ID}_PRODUCTION.gz

Ważne

Nie zmieniaj nazw, nie zmieniaj, zastępuj ani nie Kompresuj plików pakietu LUIS.Do not rename, alter, overwrite, or decompress the LUIS package files.

Wymagania wstępne dotyczące pakowaniaPackaging prerequisites

Przed spakowaniem aplikacji LUIS należy wykonać następujące czynności:Before packaging a LUIS application, you must have the following:

Wymagania dotyczące pakietówPackaging Requirements SzczegółyDetails
Wystąpienie zasobów usługi Azure Cognitive ServicesAzure Cognitive Services resource instance Obsługiwane regiony obejmująSupported regions include

Zachodnie stany USA (westus)West US (westus)
Europa Zachodnia (westeurope)West Europe (westeurope)
Australia Wschodnia (australiaeast)Australia East (australiaeast)
Przeszkolone lub opublikowana aplikacja LUISTrained or published LUIS app Bez nieobsługiwanych zależności.With no unsupported dependencies.
Dostęp do systemu plików komputera hostaAccess to the host computer's file system Komputer hosta musi zezwalać na instalację wejściową.The host computer must allow an input mount.

Eksportuj pakiet aplikacji z portalu LUISExport app package from LUIS portal

Portal Luis umożliwia eksportowanie pakietu przeszkolonej lub opublikowanej aplikacji.The LUIS portal provides the ability to export the trained or published app's package.

Eksportuj pakiet opublikowanej aplikacji z portalu LUISExport published app's package from LUIS portal

Pakiet opublikowanej aplikacji jest dostępny na stronie listy Moje aplikacje .The published app's package is available from the My Apps list page.

  1. Zaloguj się do portaluLuis.Sign on to the LUIS portal.
  2. Zaznacz pole wyboru po lewej stronie nazwy aplikacji na liście.Select the checkbox to the left of the app name in the list.
  3. Wybierz element Eksportuj z kontekstowego paska narzędzi powyżej listy.Select the Export item from the contextual toolbar above the list.
  4. Wybierz pozycję Eksportuj dla kontenera (gzip) .Select Export for container (GZIP).
  5. Wybierz środowisko miejsca produkcyjnego lub miejsca przejściowego.Select the environment of Production slot or Staging slot.
  6. Pakiet zostanie pobrany z przeglądarki.The package is downloaded from the browser.

Wyeksportuj opublikowany pakiet dla kontenera z menu Eksportuj strony aplikacji

Eksportuj pakiet przeszkolonej aplikacji z portalu LUISExport trained app's package from LUIS portal

Pakiet przeszkolonej aplikacji jest dostępny na stronie listy wersji .The trained app's package is available from the Versions list page.

  1. Zaloguj się do portaluLuis.Sign on to the LUIS portal.
  2. Wybierz aplikację z listy.Select the app in the list.
  3. Wybierz pozycję Zarządzaj na pasku nawigacyjnym aplikacji.Select Manage in the app's navigation bar.
  4. Wybierz pozycję wersje na lewym pasku nawigacyjnym.Select Versions in the left navigation bar.
  5. Zaznacz pole wyboru po lewej stronie nazwy wersji na liście.Select the checkbox to the left of the version name in the list.
  6. Wybierz element Eksportuj z kontekstowego paska narzędzi powyżej listy.Select the Export item from the contextual toolbar above the list.
  7. Wybierz pozycję Eksportuj dla kontenera (gzip) .Select Export for container (GZIP).
  8. Pakiet zostanie pobrany z przeglądarki.The package is downloaded from the browser.

Eksportuj przeszkolony pakiet dla kontenera z menu Eksportuj strony wersje

Eksportuj pakiet opublikowanej aplikacji z interfejsu APIExport published app's package from API

Użyj następującej metody interfejsu API REST, aby spakować aplikację LUIS, która została już opublikowana.Use the following REST API method, to package a LUIS app that you've already published. Podstawianie własnych odpowiednich wartości dla symboli zastępczych w wywołaniu interfejsu API przy użyciu tabeli poniżej specyfikacji protokołu 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}
SymbolPlaceholder WartośćValue
{APPLICATION_ID}{APPLICATION_ID} Identyfikator aplikacji opublikowanej aplikacji LUIS.The application ID of the published LUIS app.
{APPLICATION_ENVIRONMENT}{APPLICATION_ENVIRONMENT} Środowisko opublikowanej aplikacji LUIS.The environment of the published LUIS app. Użyj jednej z następujących wartości:Use one of the following values:
PRODUCTION
STAGING
{AUTHORING_KEY}{AUTHORING_KEY} Klucz tworzenia konta LUIS dla opublikowanej aplikacji LUIS.The authoring key of the LUIS account for the published LUIS app.
Swój klucz tworzenia można pobrać ze strony ustawień użytkownika w portalu Luis.You can get your authoring key from the User Settings page on the LUIS portal.
{AZURE_REGION}{AZURE_REGION} Odpowiedni region świadczenia usługi Azure:The appropriate Azure region:

westus — zachodnie stany USAwestus - West US
westeurope — Europa Zachodniawesteurope - West Europe
australiaeast — Australia Wschodniaaustraliaeast - Australia East

Aby pobrać opublikowany pakiet, zapoznaj się z dokumentacją interfejsu API w tym miejscu.To download the published package, refer to the API documentation here. Jeśli pobrano pomyślnie, odpowiedź to plik pakietu LUIS.If successfully downloaded, the response is a LUIS package file. Zapisz plik w lokalizacji magazynu określonej dla instalacji wejściowej kontenera.Save the file in the storage location specified for the input mount of the container.

Eksportuj pakiet przeszkolonej aplikacji z interfejsu APIExport trained app's package from API

Użyj następującej metody interfejsu API REST, aby spakować aplikację LUIS, która została już przeszkolone.Use the following REST API method, to package a LUIS application that you've already trained. Podstawianie własnych odpowiednich wartości dla symboli zastępczych w wywołaniu interfejsu API przy użyciu tabeli poniżej specyfikacji protokołu 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}
SymbolPlaceholder WartośćValue
{APPLICATION_ID}{APPLICATION_ID} Identyfikator aplikacji wyszkolonej aplikacji LUIS.The application ID of the trained LUIS app.
{APPLICATION_VERSION}{APPLICATION_VERSION} Wersja aplikacji z przeszkolonej aplikacji LUIS.The application version of the trained LUIS app.
{AUTHORING_KEY}{AUTHORING_KEY} Klucz tworzenia konta LUIS dla opublikowanej aplikacji LUIS.The authoring key of the LUIS account for the published LUIS app.
Swój klucz tworzenia można pobrać ze strony ustawień użytkownika w portalu Luis.You can get your authoring key from the User Settings page on the LUIS portal.
{AZURE_REGION}{AZURE_REGION} Odpowiedni region świadczenia usługi Azure:The appropriate Azure region:

westus — zachodnie stany USAwestus - West US
westeurope — Europa Zachodniawesteurope - West Europe
australiaeast — Australia Wschodniaaustraliaeast - Australia East

Aby pobrać przeszkolony pakiet, zapoznaj się z dokumentacją interfejsu API w tym miejscu.To download the trained package, refer to the API documentation here. Jeśli pobrano pomyślnie, odpowiedź to plik pakietu LUIS.If successfully downloaded, the response is a LUIS package file. Zapisz plik w lokalizacji magazynu określonej dla instalacji wejściowej kontenera.Save the file in the storage location specified for the input mount of the container.

Uruchom kontener z docker runRun the container with docker run

Użyj polecenia Docker Run , aby uruchomić kontener.Use the docker run command to run the container. Zapoznaj się z tematem zbieranie wymaganych parametrów , aby uzyskać szczegółowe informacje na temat pobierania wartości {ENDPOINT_URI} i {API_KEY}.Refer to gathering required parameters for details on how to get the {ENDPOINT_URI} and {API_KEY} values.

Przykłady docker run polecenia są dostępne.Examples of the docker run command are available.

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={ENDPOINT_URI} ^
ApiKey={API_KEY}
  • W tym przykładzie używa się katalogu poza dyskiem C:, aby uniknąć konfliktów uprawnień w systemie Windows.This example uses the directory off the C: drive to avoid any permission conflicts on Windows. Jeśli musisz użyć określonego katalogu jako katalogu wejściowego, może być konieczne przyznanie uprawnienia usługi Docker.If you need to use a specific directory as the input directory, you may need to grant the docker service permission.
  • Nie zmieniaj kolejności argumentów, chyba że znasz kontenery Docker.Do not change the order of the arguments unless you are familiar with docker containers.
  • W przypadku korzystania z innego systemu operacyjnego należy użyć właściwej konsoli/terminalu, składni folderu dla instalacji i znaku kontynuacji wiersza dla systemu.If you are using a different operating system, use the correct console/terminal, folder syntax for mounts, and line continuation character for your system. W poniższych przykładach przyjęto założenie, że konsola systemu Windows ma znak kontynuacji wiersza ^.These examples assume a Windows console with a line continuation character ^. Ponieważ kontener jest systemem operacyjnym Linux, instalacja docelowa używa składni folderu w stylu systemu Linux.Because the container is a Linux operating system, the target mount uses a Linux-style folder syntax.

To polecenie:This command:

  • Uruchamia kontener z obrazu kontenera LUISRuns a container from the LUIS container image
  • Ładuje aplikację LUIS z instalacji wejściowej w lokalizacji C:\input, która znajduje się na hoście konteneraLoads LUIS app from input mount at C:\input, located on container host
  • Przydziela dwa rdzenie procesora CPU i 4 gigabajty (GB) pamięciAllocates two CPU cores and 4 gigabytes (GB) of memory
  • Udostępnia port TCP 5000 i przydziela pseudo-TTY dla konteneraExposes TCP port 5000 and allocates a pseudo-TTY for the container
  • Zapisuje dzienniki kontenerów i LUIS na potrzeby instalacji wyjściowej w C:\output, znajdującej się na hoście konteneraSaves container and LUIS logs to output mount at C:\output, located on container host
  • Automatycznie usuwa kontener po zakończeniu.Automatically removes the container after it exits. Obraz kontenera jest nadal dostępny na komputerze-hoście.The container image is still available on the host computer.

Więcej przykładów polecenia docker run jest dostępnych.More examples of the docker run command are available.

Ważne

Aby można było uruchomić kontener, należy określić opcje Eula, Billing i ApiKey. w przeciwnym razie kontener nie zostanie uruchomiony.The Eula, Billing, and ApiKey options must be specified to run the container; otherwise, the container won't start. Aby uzyskać więcej informacji, zobacz rozliczenia.For more information, see Billing. Wartość ApiKey jest kluczem ze strony zasobów platformy Azure w portalu Luis i jest również dostępna na stronie klucze zasobów platformy Azure Cognitive Services.The ApiKey value is the Key from the Azure Resources page in the LUIS portal and is also available on the Azure Cognitive Services resource keys page.

Uruchamianie wielu kontenerów na tym samym hościeRun multiple containers on the same host

Jeśli zamierzasz uruchomić wiele kontenerów z uwidocznionymi portami, upewnij się, do uruchamiania każdego kontenera przy użyciu innego portu narażone.If you intend to run multiple containers with exposed ports, make sure to run each container with a different exposed port. Na przykład uruchomić pierwszego kontenera na porcie 5000 oraz drugi kontener na porcie 5001.For example, run the first container on port 5000 and the second container on port 5001.

Może mieć ten kontener i uruchomiona na HOŚCIE ze sobą innego kontenera usług Azure Cognitive Services.You can have this container and a different Azure Cognitive Services container running on the HOST together. Również może mieć wiele kontenerów działanie tego samego kontenera usług Cognitive Services.You also can have multiple containers of the same Cognitive Services container running.

Interfejsy API punktu końcowego obsługiwane przez kontenerEndpoint APIs supported by the container

Dla tego kontenera są dostępne zarówno wersje 2, jak i v3 (wersja zapoznawcza) interfejsu API.Both V2 and V3 (Preview) versions of the API are available with the container.

Zbadaj punkt końcowy przewidywania konteneraQuery the container's prediction endpoint

Kontener udostępnia interfejsy API punktu końcowego przewidywania zapytań.The container provides REST-based query prediction endpoint APIs. Punkty końcowe dla opublikowanych aplikacji (przemieszczania lub produkcji) mają różną trasę niż punkty końcowe dla przeszkolonych aplikacji.Endpoints for published (staging or production) apps have a different route than endpoints for trained apps.

Użyj hosta http://localhost:5000 w przypadku interfejsów API kontenerów.Use the host, http://localhost:5000, for container APIs.

Typ pakietuPackage type MetodaMethod SzlakRoute Parametry zapytaniaQuery parameters
PublikacjPublished Pobierz, OpublikujGET, POST /luis/v2.0/apps/{appId}?/luis/v2.0/apps/{appId}? q = {q}q={q}
& przemieszczanie&staging
[& timezoneOffset][&timezoneOffset]
[& verbose][&verbose]
[Dziennik &][&log]
SzkoleTrained POBIERZ, OPUBLIKUJGET, POST /luis/v2.0/apps/{appId}/versions/{versionId}?/luis/v2.0/apps/{appId}/versions/{versionId}? q = {q}q={q}
[& timezoneOffset][&timezoneOffset]
[& verbose][&verbose]
[Dziennik &][&log]

Parametry zapytania konfigurują sposób i wartość zwracaną w odpowiedzi na zapytanie:The query parameters configure how and what is returned in the query response:

Parametr zapytaniaQuery parameter TypType CelPurpose
q stringstring Wypowiedź użytkownika.The user's utterance.
timezoneOffset liczbanumber TimezoneOffset umożliwia zmianę strefy czasowej używanej przez wstępnie utworzoną jednostkę datetimeV2.The timezoneOffset allows you to change the timezone used by the prebuilt entity datetimeV2.
verbose wartość logicznaboolean Zwraca wszystkie intencje i ich wyniki po ustawieniu na wartość true.Returns all intents and their scores when set to true. Wartość domyślna to false, która zwraca tylko najwyższy cel.Default is false, which returns only the top intent.
staging wartość logicznaboolean Zwraca zapytanie z wyników środowiska przejściowego, jeśli ma wartość true.Returns query from staging environment results if set to true.
log wartość logicznaboolean Rejestruje zapytania, które mogą być używane później w przypadku aktywnej nauki.Logs queries, which can be used later for active learning. Wartość domyślna to true.Default is true.

Zbadaj opublikowaną aplikacjęQuery published app

Przykładowe polecenie ZWINIĘCIE dla kwerendy kontenera dla opublikowanej aplikacji to: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"

Aby wykonać zapytania w środowisku przejściowym , Zmień wartość parametru ciągu zapytania przemieszczania na true:To make queries to the Staging environment, change the staging query string parameter value to true:

staging=true

Zbadaj przeszkolone aplikacjeQuery trained app

Przykładowe polecenie ZWINIĘCIE dla kwerendy kontenera dla przeszkolonej aplikacji to: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"

Nazwa wersji ma maksymalnie 10 znaków i zawiera tylko znaki dozwolone w adresie URL.The version name has a maximum of 10 characters and contains only characters allowed in a URL.

Importowanie dzienników punktów końcowych dla usługi Active LearningImport the endpoint logs for active learning

Jeśli dla kontenera LUIS określono instalację wyjściową, pliki dziennika zapytania aplikacji są zapisywane w katalogu wyjściowym, gdzie {INSTANCE_ID} to identyfikator kontenera.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. Dziennik zapytań aplikacji zawiera zapytanie, odpowiedź i sygnatury czasowe dla każdego zapytania predykcyjnego przesłanego do kontenera LUIS.The app query log contains the query, response, and timestamps for each prediction query submitted to the LUIS container.

W następującej lokalizacji przedstawiono zagnieżdżoną strukturę katalogów dla plików dziennika kontenera.The following location shows the nested directory structure for the container's log files.

/output/luis/{INSTANCE_ID}/

W portalu LUIS wybierz aplikację, a następnie wybierz pozycję Importuj dzienniki punktów końcowych , aby przekazać te dzienniki.From the LUIS portal, select your app, then select Import endpoint logs to upload these logs.

Importowanie plików dziennika kontenera do usługi Active Learning

Po przekazaniu dziennika zapoznaj się z punktem końcowym wyrażenia długości w portalu Luis.After the log is uploaded, review the endpoint utterances in the LUIS portal.

Sprawdzanie, czy kontener jest uruchomionyValidate that a container is running

Istnieje kilka sposobów sprawdzenia, czy kontener jest uruchomiony.There are several ways to validate that the container is running. Znajdź zewnętrzny adres IP i uwidoczniony port danego kontenera, a następnie otwórz ulubioną przeglądarkę internetową.Locate the External IP address and exposed port of the container in question, and open your favorite web browser. Użyj różnych adresów URL żądań poniżej, aby sprawdzić, czy kontener jest uruchomiony.Use the various request URLs below to validate the container is running. Przykładowe adresy URL żądania wymienione poniżej to http://localhost:5000, ale konkretny kontener może się różnić.The example request URLs listed below are http://localhost:5000, but your specific container may vary. Pamiętaj, że polegasz na zewnętrznym adresie IP kontenera i uwidocznionym porcie.Keep in mind that you're to rely on your container's External IP address and exposed port.

Adres URL żądaniaRequest URL CelPurpose
http://localhost:5000/ Kontener zawiera stronę główną.The container provides a home page.
http://localhost:5000/status Zażądano przy użyciu protokołu HTTP GET, aby sprawdzić, czy kontener jest uruchomiony bez powodowania zapytania punktu końcowego.Requested with an HTTP GET, to validate that the container is running without causing an endpoint query. To żądanie może służyć do sondowania na żywo i gotowościKubernetes.This request can be used for Kubernetes liveness and readiness probes.
http://localhost:5000/swagger Kontener zawiera pełen zestaw dokumentacji dla punktów końcowych i funkcję Wypróbuj ją .The container provides a full set of documentation for the endpoints and a Try it out feature. Korzystając z tej funkcji, można wprowadzić ustawienia w formie HTML opartej na sieci Web i utworzyć zapytanie bez konieczności pisania kodu.With this feature, you can enter your settings into a web-based HTML form and make the query without having to write any code. Po powrocie zapytania zostanie podane przykładowe ZWINIĘCIE polecenia, aby przedstawić nagłówki HTTP i format treści, który jest wymagany.After the query returns, an example CURL command is provided to demonstrate the HTTP headers and body format that's required.

Strona główna kontenera

Zatrzymaj kontenerStop the container

Aby zamknąć kontener, w środowisku wiersza polecenia, w którym jest uruchomiony kontener, naciśnij klawisze CTRL + C.To shut down the container, in the command-line environment where the container is running, press Ctrl+C.

Rozwiązywanie problemówTroubleshooting

Jeśli uruchamiasz kontener z instalacją wyjściową i włączono rejestrowanie, kontener generuje pliki dziennika, które są przydatne do rozwiązywania problemów występujących podczas uruchamiania lub uruchamiania kontenera.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.

Porada

Aby uzyskać więcej informacji i wskazówek dotyczących rozwiązywania problemów, zobacz Cognitive Services kontenery — często zadawane pytania.For more troubleshooting information and guidance, see Cognitive Services containers frequently asked questions (FAQ).

GodzinBilling

Kontener LUIS wysyła informacje o rozliczeniach do platformy Azure przy użyciu zasobu Cognitive Services na koncie platformy Azure.The LUIS container sends billing information to Azure, using a Cognitive Services resource on your Azure account.

Zapytania do kontenera są rozliczane według warstwa cenowa zasobu platformy Azure, który służy do <ApiKey>.Queries to the container are billed at the pricing tier of the Azure resource that's used for the <ApiKey>.

Kontenery usługi Azure Cognitive Services nie są licencjonowane do uruchomienia bez połączenia z punktem końcowym rozliczeń do zbierania danych.Azure Cognitive Services containers aren't licensed to run without being connected to the billing endpoint for metering. Należy włączyć kontener, aby komunikować informacje rozliczeniowe z punktem końcowym rozliczeń przez cały czas.You must enable the containers to communicate billing information with the billing endpoint at all times. Kontenery usługi cognitive Services nie wysyłaj danych klienta, takich jak obraz lub tekst, który jest analizowana, do firmy Microsoft.Cognitive Services containers don't send customer data, such as the image or text that's being analyzed, to Microsoft.

Nawiązywanie połączenia z usługą AzureConnect to Azure

Kontener musi rozliczeń wartości argumentu do uruchomienia.The container needs the billing argument values to run. Wartości te umożliwiają kontener, aby nawiązać połączenie z punktem końcowym rozliczeń.These values allow the container to connect to the billing endpoint. Kontener raportów użycia dotyczących co 10 do 15 minut.The container reports usage about every 10 to 15 minutes. Jeśli kontener nie łączenie z platformą Azure w przedziale czasu dozwolony, kontenera będzie nadal działać, ale nie obsługuje zapytań do momentu przywrócenia rozliczeń punktu końcowego.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. Połączenie jest próba 10 razy o takim samym interwale czasowym z 10 do 15 minut.The connection is attempted 10 times at the same time interval of 10 to 15 minutes. Jeśli nie można połączyć z próbuje rozliczeń punktu końcowego w ciągu 10, kontener przestanie działać.If it can't connect to the billing endpoint within the 10 tries, the container stops running.

Argumenty rozliczeńBilling arguments

Dla docker run polecenie, aby uruchomić kontenera, należy określić wszystkie trzy następujące opcje prawidłowe wartości:For the docker run command to start the container, all three of the following options must be specified with valid values:

OpcjaOption OpisDescription
ApiKey Klucz interfejsu API zasobu usług Cognitive Services, które jest używane do śledzenia informacji dotyczących rozliczeń.The API key of the Cognitive Services resource that's used to track billing information.
Wartość tej opcji, musi być równa klucza interfejsu API dla elastycznie zasobu, który jest określony w Billing.The value of this option must be set to an API key for the provisioned resource that's specified in Billing.
Billing Punkt końcowy zasobu usług Cognitive Services, które jest używane do śledzenia informacji dotyczących rozliczeń.The endpoint of the Cognitive Services resource that's used to track billing information.
Wartość ta opcja musi być równa punkt końcowy identyfikatora URI zasobu platformy Azure aprowizowane.The value of this option must be set to the endpoint URI of a provisioned Azure resource.
Eula Wskazuje, że akceptowane licencji dla kontenera.Indicates that you accepted the license for the container.
Wartość ta opcja musi być równa zaakceptować.The value of this option must be set to accept.

Aby uzyskać więcej informacji na temat tych opcji, zobacz Konfigurowanie kontenerów.For more information about these options, see Configure containers.

Obsługiwane zależności dla kontenera latestSupported dependencies for latest container

Najnowszy kontener, wydanego o 2019 Build, będzie obsługiwał:The latest container, released at 2019 //Build, will support:

  • Nowe prebudowane domeny: te domeny ukierunkowane na przedsiębiorstwa obejmują jednostki, przykładowe wyrażenia długości i wzorce.New prebuilt domains: these enterprise-focused domains include entities, example utterances, and patterns. Rozwiń te domeny do własnych potrzeb.Extend these domains for your own use.

Nieobsługiwane zależności dla kontenera latestUnsupported dependencies for latest container

Aby wyeksportować kontener, należy usunąć nieobsługiwane zależności z aplikacji Luis.To export for container, you must remove unsupported dependencies from your LUIS app. Podczas próby eksportowania dla kontenera Portal LUIS zgłasza te Nieobsługiwane funkcje, które należy usunąć.When you attempt to export for container, the LUIS portal reports these unsupported features that you need to remove.

Aplikacji LUIS można użyć, jeśli nie zawiera ona żadnych z następujących zależności:You can use a LUIS application if it doesn't include any of the following dependencies:

Nieobsługiwane konfiguracje aplikacjiUnsupported app configurations SzczegółyDetails
Nieobsługiwane kultury kontenerówUnsupported container cultures Holenderski (NL-NL)Dutch (nl-NL)
Japoński (ja-JP)Japanese (ja-JP)
Język niemiecki jest obsługiwany tylko w przypadku 1.0.2 tokenizatora.German is only supported with the 1.0.2 tokenizer.
Nieobsługiwane jednostki dla wszystkich kulturUnsupported entities for all cultures Wstępnie utworzona jednostka KeyPhrase dla wszystkich kulturKeyPhrase prebuilt entity for all cultures
Nieobsługiwane jednostki dla kultury angielskiej (EN-US)Unsupported entities for English (en-US) culture Wstępnie skompilowane jednostki GeographyV2GeographyV2 prebuilt entities
Napełnianiu mowySpeech priming Zależności zewnętrzne nie są obsługiwane w kontenerze.External dependencies are not supported in the container.
Analiza tonacjiSentiment analysis Zależności zewnętrzne nie są obsługiwane w kontenerze.External dependencies are not supported in the container.
Sprawdzanie pisowni BingBing spell check Zależności zewnętrzne nie są obsługiwane w kontenerze.External dependencies are not supported in the container.

Wpisy na blogachBlog posts

Przykłady dla deweloperówDeveloper samples

Przykłady dla deweloperów są dostępne pod adresem naszych repozytorium GitHub.Developer samples are available at our GitHub repository.

Obejrzyj seminarium internetoweView webinar

Dołącz do seminarium Aby dowiedzieć się więcej na temat:Join the webinar to learn about:

  • Wdrażanie usług Cognitive Services do dowolnej maszyny za pomocą platformy DockerHow to deploy Cognitive Services to any machine using Docker
  • Sposób wdrażania usług Cognitive Services w usłudze AKSHow to deploy Cognitive Services to AKS

PodsumowanieSummary

W tym artykule przedstawiono koncepcje i przepływ pracy służące do pobierania, instalowania i uruchamiania kontenerów Language Understanding (LUIS).In this article, you learned concepts and workflow for downloading, installing, and running Language Understanding (LUIS) containers. Podsumowanie:In summary:

  • Language Understanding (LUIS) udostępnia jeden kontener systemu Linux dla platformy Docker, który udostępnia przewidywania zapytań punktu końcowego wyrażenia długości.Language Understanding (LUIS) provides one Linux container for Docker providing endpoint query predictions of utterances.
  • Obrazy kontenerów są pobierane z Container Registry firmy Microsoft (MCR).Container images are downloaded from the Microsoft Container Registry (MCR).
  • Obrazy kontenerów są uruchamiane w platformie Docker.Container images run in Docker.
  • Za pomocą interfejsu API REST można badać punkty końcowe kontenera, określając identyfikator URI hosta kontenera.You can use REST API to query the container endpoints by specifying the host URI of the container.
  • Podczas tworzenia wystąpienia kontenera należy określić informacje o rozliczeniach.You must specify billing information when instantiating a container.

Ważne

Kontenery Cognitive Services nie są licencjonowane do uruchamiania bez połączenia z platformą Azure w celu pomiaru.Cognitive Services containers are not licensed to run without being connected to Azure for metering. Klienci muszą włączyć kontenery do przekazywania informacji rozliczeniowych za pomocą usługi pomiarowej przez cały czas.Customers need to enable the containers to communicate billing information with the metering service at all times. Kontenery Cognitive Services nie wysyłają danych klienta (na przykład obrazu lub tekstu, który jest analizowany) do firmy Microsoft.Cognitive Services containers do not send customer data (for example, the image or text that is being analyzed) to Microsoft.

Następne krokiNext steps