Установка и запуск контейнеров Docker в LUISInstall and run LUIS docker containers

Контейнер Интеллектуальной службы распознавания речи (LUIS) загружает обученную или опубликованную модель Интеллектуальной службы распознавания речи (приложение LUIS) в контейнер Docker и предоставляет доступ к прогнозам запросов из конечных точек API контейнера.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. Вы можете получить журналы запросов из контейнера и отправить их обратно в приложение Language Understanding, чтобы повысить точность прогноза приложения.You can collect query logs from the container and upload these back to the Language Understanding app to improve the app's prediction accuracy.

В следующем видео показаны способы использования этого контейнера.The following video demonstrates using this container.

Демонстрация контейнера для Cognitive ServicesContainer demonstration for Cognitive Services

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.If you don't have an Azure subscription, create a free account before you begin.

предварительные требованияPrerequisites

Для запуска контейнера LUIS требуется следующее:In order to run the LUIS container, you must have the following:

Обязательное значениеRequired ЦельPurpose
Модуль DockerDocker Engine На главном компьютере должен быть установлен модуль Docker.You need the Docker Engine installed on a host computer. Docker предоставляет пакеты, которые настраивают среду Docker в ОС macOS, Windows и Linux.Docker provides packages that configure the Docker environment on macOS, Windows, and Linux. Ознакомьтесь с общими сведениями о Docker и контейнерах.For a primer on Docker and container basics, see the Docker overview.

Docker нужно настроить таким образом, чтобы контейнеры могли подключать и отправлять данные о выставлении счетов в Azure.Docker must be configured to allow the containers to connect with and send billing data to Azure.

В ОС Windows для Docker нужно также настроить поддержку контейнеров Linux.On Windows, Docker must also be configured to support Linux containers.

Опыт работы с DockerFamiliarity with Docker Требуется базовое представление о понятиях Docker, включая реестры, репозитории, контейнеры и образы контейнеров, а также знание основных команд 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.
Ресурс Cognitive Services Azure и файл упакованного приложения LuisAzure Cognitive Services resource and LUIS packaged app file Для использования контейнера необходимо следующее:In order to use the container, you must have:

* Ресурс Azure Cognitive Services и соответствующий ключ выставления счетов URI конечной точки выставления счетов.* A Cognitive Services Azure resource and the associated billing key the billing endpoint URI. Оба значения доступны на страницах обзора и ключей для ресурса и необходимы для запуска контейнера.Both values are available on the Overview and Keys pages for the resource and are required to start the container. Необходимо добавить luis/v2.0 маршрутизацию к универсальному коду ресурса (URI) конечной точки, как показано в следующем примере BILLING_ENDPOINT_URI.You need to add the luis/v2.0 routing to the endpoint URI as shown in the following BILLING_ENDPOINT_URI example.
* Обученное или опубликованное приложение, упакованное в виде подключенных входных данных к контейнеру со связанным идентификатором приложения.* A trained or published app packaged as a mounted input to the container with its associated App ID. Пакетный файл можно получить на портале LUIS или в API-интерфейсах разработки.You can get the packaged file from the LUIS portal or the Authoring APIs. Если вы получаете упакованное приложение LUIS из API- интерфейсов разработки, вам также потребуется ваш ключ разработки.If you are getting LUIS packaged app from the authoring APIs, you will also need your Authoring Key.

Эти требования используются для передачи аргументов командной строки в следующие переменные:These requirements are used to pass command-line arguments to the following variables:

{AUTHORING_KEY} . Этот ключ используется для получения упакованного приложения из службы LUIS в облаке и отправки журналов запросов обратно в облако.{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. Формат — xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.The format is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

{APPLICATION_ID} . Этот идентификатор используется для выбора приложения.{APPLICATION_ID}: This ID is used to select the App. Формат — xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.The format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

{API_KEY} : Этот ключ используется для запуска контейнера.{API_KEY}: This key is used to start the container. Ключ конечной точки можно найти в двух местах:You can find the endpoint key in two places. Первый — это портал Azure в списке ключей ресурса Cognitive Services .The first is the Azure portal within the Cognitive Services resource's keys list. а также на портале LUIS на странице параметров ключей и конечных точек.The endpoint key is also available in the LUIS portal on the Keys and Endpoint settings page. Не используйте ключ starter.Do not use the starter key.

{ENDPOINT_URI} : Конечная точка, указанная на странице обзора.{ENDPOINT_URI}: The endpoint as provided on the Overview page.

Ключ разработки и ключ конечной точки служат для разных целей.The authoring key and endpoint key have different purposes. Не используйте их как взаимозаменяемые.Do not use them interchangeably.

Создание API-интерфейсов для файла пакетаAuthoring APIs for package file

Создание API для упакованных приложений:Authoring APIs for packaged apps:

Главный компьютерThe host computer

Узел — это 64-разрядный компьютер, на котором выполняется контейнер Docker.The host is a x64-based computer that runs the Docker container. Это может быть компьютер в локальной среде или служба размещения Docker в Azure, включая следующие решения:It can be a computer on your premises or a Docker hosting service in Azure, such as:

Требования к контейнеру и рекомендацииContainer requirements and recommendations

Этот контейнер поддерживает минимальные и рекомендуемые значения для параметров:This container supports minimum and recommended values for the settings:

КонтейнерContainer МинимумMinimum РекомендуетсяRecommended ПЛАТЫTPS
(Минимум, максимум)(Minimum, Maximum)
LUISLUIS 1 ядро, 2 ГБ памяти1 core, 2-GB memory 1 ядро, 4 ГБ памяти1 core, 4-GB memory 20, 4020,40
  • Частота каждого ядра должна быть минимум 2,6 ГГц.Each core must be at least 2.6 gigahertz (GHz) or faster.
  • TPS — транзакций в секунду.TPS - transactions per second

Ядро и память соответствуют параметрам --cpus и --memory, которые используются как часть команды docker run.Core and memory correspond to the --cpus and --memory settings, which are used as part of the docker run command.

Получение образа контейнера с помощью docker pullGet the container image with docker pull

Воспользуйтесь командой docker pull, чтобы скачать образ контейнера из репозитория 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

Воспользуйтесь командой docker pull, чтобы скачать образ контейнера.Use the docker pull command to download a container image.

Полное описание доступных тегов, таких как latest из предыдущей команды, см. в разделе LUIS на сайте Docker Hub.For a full description of available tags, such as latest used in the preceding command, see LUIS on Docker Hub.

Совет

Используйте команду docker images, чтобы получить список скачанных образов контейнеров.You can use the docker images command to list your downloaded container images. Например, следующая команда возвращает таблицу со списком идентификаторов, репозиториев и тегов для каждого скачанного образа контейнера: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>

Использование контейнераHow to use the container

После размещения контейнера на главном компьютере воспользуйтесь следующей процедурой для работы с ним.Once the container is on the host computer, use the following process to work with the container.

Процесс использования контейнера Интеллектуальной службы распознавания речи (LUIS)

  1. Экспортируйте пакет для контейнера с портала LUIS или из API LUIS.Export package for container from LUIS portal or LUIS APIs.
  2. Переместите файл пакета в необходимый каталог input на главном компьютере.Move package file into the required input directory on the host computer. Не переименовывайте, не изменяйте, перезапишите или распакуйте файл пакета LUIS.Do not rename, alter, overwrite, or decompress LUIS package file.
  3. Запустите контейнер с необходимыми настройками input mount и выставления счетов.Run the container, with the required input mount and billing settings. Доступны дополнительные примеры команды docker run.More examples of the docker run command are available.
  4. Выполните запрос конечной точки прогнозирования контейнера.Querying the container's prediction endpoint.
  5. Завершив работу с контейнером, импортируйте журналы конечной точки из выходного подключения на портале LUIS и остановите контейнер.When you are done with the container, import the endpoint logs from the output mount in the LUIS portal and stop the container.
  6. Воспользуйтесь средствами активного обучения на портале LUIS или страницей просмотра фраз конечной точки для улучшения приложения.Use LUIS portal's active learning on the Review endpoint utterances page to improve the app.

Приложение, выполняющееся в контейнере, изменить нельзя.The app running in the container can't be altered. Чтобы изменить приложение в контейнере, необходимо изменить его в службе LUIS с помощью портала LUIS или API разработки LUIS.In order the change the app in the container, you need to change the app in the LUIS service using the LUIS portal or use the LUIS authoring APIs. Затем выполните обучение и (или) публикацию, скачайте новый пакет и снова запустите контейнер.Then train and/or publish, then download a new package and run the container again.

Приложение LUIS, содержащееся в контейнере, нельзя экспортировать обратно в службу LUIS.The LUIS app inside the container can't be exported back to the LUIS service. Отправить можно только журналы запросов.Only the query logs can be uploaded.

Экспорт упакованного приложения из LUISExport packaged app from LUIS

Контейнер LUIS ожидает от обученного или опубликованного приложения LUIS ответа на запросы прогноза пользовательских фраз.The LUIS container requires a trained or published LUIS app to answer prediction queries of user utterances. Чтобы получить приложение LUIS, используйте API обученного или опубликованного пакета.In order to get the LUIS app, use either the trained or published package API.

Расположение по умолчанию — вложенный каталог input по отношению к каталогу, для которого была выполнена команда docker run.The default location is the input subdirectory in relation to where you run the docker run command.

Поместите файл пакета в каталог и укажите ссылку этот каталог как входное подключение при запуске контейнера Docker.Place the package file in a directory and reference this directory as the input mount when you run the docker container.

Типы пакетовPackage types

Каталог входного подключения может одновременно содержать рабочую, промежуточную и обученную версии приложения.The input mount directory can contain the Production, Staging, and Trained versions of the app simultaneously. Все пакеты являются подключенными.All the packages are mounted.

Тип пакетаPackage Type Запрос API конечной точкиQuery Endpoint API Запрос доступностиQuery availability Формат имени файла пакетаPackage filename format
Обучение пройденоTrained Get, PostGet, Post Только контейнерContainer only {APPLICATION_ID}_v{APPLICATION_VERSION}.gz
Промежуточное хранениеStaging Get, PostGet, Post Azure и контейнерAzure and container {APPLICATION_ID}_STAGING.gz
Рабочая средаProduction Get, PostGet, Post Azure и контейнерAzure and container {APPLICATION_ID}_PRODUCTION.gz

Важно!

Не переименовывайте, не изменяйте, перезаписывают или распаковывает файлы пакетов LUIS.Do not rename, alter, overwrite, or decompress the LUIS package files.

Необходимые условия для упаковкиPackaging prerequisites

Перед упаковкой приложения LUIS потребуется следующее:Before packaging a LUIS application, you must have the following:

Требования к упаковкеPackaging Requirements ПодробнееDetails
Экземпляр ресурса Cognitive Services AzureAzure Cognitive Services resource instance Поддерживаемые регионы:Supported regions include

Западная часть США (westus)West US (westus)
Западная Европа (westeurope)West Europe (westeurope)
Восточная Австралия (australiaeast)Australia East (australiaeast)
Обученное или опубликованное приложение LUISTrained or published LUIS app Без неподдерживаемых зависимостей.With no unsupported dependencies.
Доступ к файловой системе главного компьютераAccess to the host computer's file system Главный компьютер должен разрешать входные подключения.The host computer must allow an input mount.

Экспорт пакета приложения с портала LUISExport app package from LUIS portal

На портале LUIS можно экспортировать пакет обученного или опубликованного приложения.The LUIS portal provides the ability to export the trained or published app's package.

Экспорт пакета опубликованного приложения с портала LUISExport published app's package from LUIS portal

Пакет опубликованного приложения доступен на странице списка My Apps (Мои приложения).The published app's package is available from the My Apps list page.

  1. Войдите на портал LUIS.Sign on to the LUIS portal.
  2. Установите флажок слева от имени приложения в списке.Select the checkbox to the left of the app name in the list.
  3. Выберите элемент Export (Экспорт) на контекстной панели инструментов над списком.Select the Export item from the contextual toolbar above the list.
  4. Выберите Export for container (GZIP) (Экспорт для контейнера (GZIP)).Select Export for container (GZIP).
  5. Выберите Production slot (Рабочий слот) или Staging slot (Промежуточный слот).Select the environment of Production slot or Staging slot.
  6. Пакет будет скачан из браузера.The package is downloaded from the browser.

Экспорт опубликованного пакета для контейнера из меню экспорта на странице приложения

Экспорт пакета обученного приложения с портала LUISExport trained app's package from LUIS portal

Пакет обученного приложения доступен на странице списка Versions (Версии).The trained app's package is available from the Versions list page.

  1. Войдите на портал LUIS.Sign on to the LUIS portal.
  2. Выберите приложение в списке.Select the app in the list.
  3. Выберите Manage (Управление) на панели навигации приложения.Select Manage in the app's navigation bar.
  4. Выберите Versions (Версии) на панели навигации слева.Select Versions in the left navigation bar.
  5. Установите флажок слева от имени версии в списке.Select the checkbox to the left of the version name in the list.
  6. Выберите элемент Export (Экспорт) на контекстной панели инструментов над списком.Select the Export item from the contextual toolbar above the list.
  7. Выберите Export for container (GZIP) (Экспорт для контейнера (GZIP)).Select Export for container (GZIP).
  8. Пакет будет скачан из браузера.The package is downloaded from the browser.

Экспорт обученного пакета для контейнера из меню экспорта на странице версий

Экспорт пакета опубликованного приложения из APIExport published app's package from API

Воспользуйтесь следующим методом REST API, чтобы упаковать приложение LUIS, которое уже опубликовано.Use the following REST API method, to package a LUIS app that you've already published. Замените заполнители в вызове API собственными соответствующими значениями, используя таблицу, приведенную под спецификацией 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}
МестозаполнительPlaceholder ЗначениеValue
{APPLICATION_ID}{APPLICATION_ID} Идентификатор опубликованного приложения LUIS.The application ID of the published LUIS app.
{APPLICATION_ENVIRONMENT}{APPLICATION_ENVIRONMENT} Среда опубликованного приложения LUIS.The environment of the published LUIS app. Используйте одно из следующих значений:Use one of the following values:
PRODUCTION
STAGING
{AUTHORING_KEY}{AUTHORING_KEY} Ключ разработки учетной записи LUIS для опубликованного приложения LUIS.The authoring key of the LUIS account for the published LUIS app.
Ключ разработки можно получить на странице User Settings (Параметры пользователя) на портале LUIS.You can get your authoring key from the User Settings page on the LUIS portal.
{AZURE_REGION}{AZURE_REGION} Соответствующий регион Azure:The appropriate Azure region:

westus — западная часть СШАwestus - West US
westeurope — Западная Европаwesteurope - West Europe
australiaeast — Восточная Австралияaustraliaeast - Australia East

Чтобы скачать опубликованный пакет, обратитесь к документации по API здесь.To download the published package, please refer to the API documentation here. Если загрузка успешно завершена, ответ представляет собой файл пакета LUIS.If successfully downloaded, the response is a LUIS package file. Сохраните файл в месте хранения, указанном для входного подключения контейнера.Save the file in the storage location specified for the input mount of the container.

Экспорт пакета обученного приложения из APIExport trained app's package from API

Воспользуйтесь следующим методом REST API, чтобы упаковать приложение LUIS, которое уже обучено.Use the following REST API method, to package a LUIS application that you've already trained. Замените заполнители в вызове API собственными соответствующими значениями, используя таблицу, приведенную под спецификацией 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}
МестозаполнительPlaceholder ЗначениеValue
{APPLICATION_ID}{APPLICATION_ID} Идентификатор обученного приложения LUIS.The application ID of the trained LUIS application.
{APPLICATION_VERSION}{APPLICATION_VERSION} Версия обученного приложения LUIS.The application version of the trained LUIS application.
{AUTHORING_KEY}{AUTHORING_KEY} Ключ разработки учетной записи LUIS для опубликованного приложения LUIS.The authoring key of the LUIS account for the published LUIS app.
Ключ разработки можно получить на странице User Settings (Параметры пользователя) на портале LUIS.You can get your authoring key from the User Settings page on the LUIS portal.
{AZURE_REGION}{AZURE_REGION} Соответствующий регион Azure:The appropriate Azure region:

westus — западная часть СШАwestus - West US
westeurope — Западная Европаwesteurope - West Europe
australiaeast — Восточная Австралияaustraliaeast - Australia East

Чтобы скачать обученный пакет, обратитесь к документации по API здесь.To download the trained package, please refer to the API documentation here. Если загрузка успешно завершена, ответ представляет собой файл пакета LUIS.If successfully downloaded, the response is a LUIS package file. Сохраните файл в месте хранения, указанном для входного подключения контейнера.Save the file in the storage location specified for the input mount of the container.

Запуск контейнера с помощью команды docker runRun the container with docker run

Воспользуйтесь командой docker run для запуска контейнера.Use the docker run command to run the container. В команде используются следующие параметры:The command uses the following parameters:

МестозаполнительPlaceholder ЗначениеValue
{API_KEY}{API_KEY} Этот ключ используется для запуска контейнера.This key is used to start the container. Не используйте ключ starter.Do not use the starter key.
{ENDPOINT_URI}{ENDPOINT_URI} Значение конечной точки доступно на странице Cognitive Services обзора портал Azure.The endpoint value is available on the Azure portal's Cognitive Services Overview page.

В следующем примере команды docker run замените имена параметров собственными значениями.Replace these parameters with your own values in the following example docker run command. Выполните команду в консоли Windows.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={ENDPOINT_URI} ^
ApiKey={API_KEY}
  • В этом примере каталог находится C: за пределами диска во избежание конфликтов разрешений в Windows.This example uses the directory off the C: drive to avoid any permission conflicts on Windows. Если вам нужен конкретный каталог для входных данных, может потребоваться предоставить соответствующие разрешения службе Docker.If you need to use a specific directory as the input directory, you may need to grant the docker service permission.
  • Не изменяйте порядок аргументов, если вы не знакомы с контейнерами DOCKER.Do not change the order of the arguments unless you are familiar with docker containers.
  • Если используется другая операционная система, используйте правильную консоль или терминал, синтаксис папок для подключений и символ продолжения строки для вашей системы.If you are using a different operating system, use the correct console/terminal, folder syntax for mounts, and line continuation character for your system. В этих примерах предполагается наличие в консоли Windows символа ^продолжения строки.These examples assume a Windows console with a line continuation character ^. Так как контейнер является операционной системой Linux, целевое подключение использует синтаксис папки в формате Linux.Because the container is a Linux operating system, the target mount uses a Linux-style folder syntax.

Эта команда:This command:

  • запускает контейнер из образа контейнера LUIS;Runs a container from the LUIS container image
  • загружает приложение LUIS из входного подключения в папке c:\input, расположенной на узле контейнера;Loads LUIS app from input mount at c:\input, located on container host
  • выделяет 2 ядра ЦП и 4 ГБ памяти;Allocates two CPU cores and 4 gigabytes (GB) of memory
  • предоставляет TCP-порт 5000 и выделяет псевдотелетайп для контейнера;Exposes TCP port 5000 and allocates a pseudo-TTY for the container
  • сохраняет контейнер и журналы LUIS в выходном подключении в папке c:\output, расположенной на узле контейнера;Saves container and LUIS logs to output mount at c:\output, located on container host
  • автоматически удаляет контейнер после завершения его работы.Automatically removes the container after it exits. Образ контейнера остается доступным на главном компьютере.The container image is still available on the host computer.

Доступны дополнительные примеры команды docker run.More examples of the docker run command are available.

Важно!

Для выполнения контейнера необходимо указать параметры Eula, Billing и ApiKey. В противном случае контейнер не запустится.The Eula, Billing, and ApiKey options must be specified to run the container; otherwise, the container won't start. Дополнительные сведения см. в разделе о выставлении счетов.For more information, see Billing. Значение apiKey — это ключ на странице "ключи и конечные точки" на портале Luis. Он также доступен на Cognitive Services странице "ключи ресурсов Azure".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.

Запуск нескольких контейнеров на одном узлеRun multiple containers on the same host

Если вы планируете запускать несколько контейнеров при открытых портах, обязательно назначьте каждому контейнеру отдельный открытый порт.If you intend to run multiple containers with exposed ports, make sure to run each container with a different exposed port. Например, запускайте первый контейнер на порте 5000, а второй — на порте 5001.For example, run the first container on port 5000 and the second container on port 5001.

Этот контейнер и другой контейнер Azure Cognitive Services могут одновременно работать на одном и том же узле.You can have this container and a different Azure Cognitive Services container running on the HOST together. Также одному запущенному контейнеру Cognitive Services могут соответствовать сразу несколько контейнеров.You also can have multiple containers of the same Cognitive Services container running.

Интерфейсы API конечной точки, поддерживаемые контейнеромEndpoint APIs supported by the container

В контейнере доступны версии v2 и v3 (Предварительная версия) API.Both V2 and V3 (Preview) versions of the API are available with the container.

Запрос конечной точки прогнозирования контейнераQuery the container's prediction endpoint

Контейнер предоставляет API запроса конечной точки прогнозирования на основе REST.The container provides REST-based query prediction endpoint APIs. Конечные точки для опубликованных (промежуточных или рабочих) приложений имеют другой маршрут, чем конечные точки для обученных приложений.Endpoints for published (staging or production) apps have a different route than endpoints for trained apps.

Используйте узел https://localhost:5000 для API контейнера.Use the host, https://localhost:5000, for container APIs.

Тип пакетаPackage type МетодMethod МаршрутRoute Параметры запросаQuery parameters
ОпубликованоPublished Get, PostGet, Post /luis/v2.0/apps/{appId}?/luis/v2.0/apps/{appId}? q={q}q={q}
&staging&staging
[&timezoneOffset][&timezoneOffset]
[&verbose][&verbose]
[&log][&log]
Обучение пройденоTrained Get, PostGet, Post /luis/v2.0/apps/{appId}/versions/{versionId}?/luis/v2.0/apps/{appId}/versions/{versionId}? q={q}q={q}
[&timezoneOffset][&timezoneOffset]
[&verbose][&verbose]
[&log][&log]

Параметры запроса определяют содержимое ответа на запрос и способ его получения:The query parameters configure how and what is returned in the query response:

Параметр запросаQuery parameter ТипType ЦельPurpose
q строкаstring Фраза пользователя.The user's utterance.
timezoneOffset номерnumber Параметр timezoneOffset позволяет изменить часовой пояс, используемый предварительно созданной сущностью datetimeV2.The timezoneOffset allows you to change the timezone used by the prebuilt entity datetimeV2.
verbose Логическийboolean Возвращает все намерения и их оценки, если задано значение true.Returns all intents and their scores when set to true. По умолчанию задано значение false, при котором возвращается только верхнее намерение.Default is false, which returns only the top intent.
staging Логическийboolean Возвращает запрос из результатов промежуточной среды, если задано значение true.Returns query from staging environment results if set to true.
log Логическийboolean Записывает запросы в журнал, который затем можно использовать для активного обучения.Logs queries, which can be used later for active learning. Значение по умолчанию — true.Default is true.

Запрос опубликованного приложенияQuery published app

Ниже приведен пример команды CURL для выполнения запросов к контейнеру для опубликованного приложения: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"

Для выполнения запросов к промежуточной среде измените значение параметра staging строки запроса на true:To make queries to the Staging environment, change the staging query string parameter value to true:

staging=true

Запрос обученного приложенияQuery trained app

Ниже приведен пример команды CURL для выполнения запросов к контейнеру для обученного приложения: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"

Имя версии имеет максимальную длину 10 символов и содержит только символы, разрешенные в URL-адресе.The version name has a maximum of 10 characters and contains only characters allowed in a URL.

Импорт журналов конечной точки для активного обученияImport the endpoint logs for active learning

Если для контейнера LUIS указано выходное подключение, файлы журнала запросов приложения сохраняются в выходном каталоге, где {INSTANCE_ID} — идентификатор контейнера.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. Журнал запросов приложения содержит запрос, ответ и метки времени для каждого прогнозирующего запроса, отправленного в контейнер LUIS.The app query log contains the query, response, and timestamps for each prediction query submitted to the LUIS container.

В следующем расположении показана вложенная структура каталогов для файлов журнала контейнера.The following location shows the nested directory structure for the container's log files.

/output/luis/{INSTANCE_ID}/

На портале LUIS выберите приложение, затем выберите Import endpoint logs (Импорт журналов конечной точки) для отправки этих журналов.From the LUIS portal, select your app, then select Import endpoint logs to upload these logs.

Импорт файлов журнала контейнера для активного обучения

После отправки журнала просмотрите фразы конечной точки на портале LUIS.After the log is uploaded, review the endpoint utterances in the LUIS portal.

Проверка состояния контейнераValidate that a container is running

Проверить это можно несколькими способами.There are several ways to validate that the container is running.

ЗапросRequest НазначениеPurpose
http://localhost:5000/ Контейнер предоставляет домашнюю страницу.The container provides a home page.
http://localhost:5000/status Запрашивается с помощью GET для проверки того, что контейнер работает, без отправки запроса к конечной точке.Requested with GET, to validate that the container is running without causing an endpoint query. Этот запрос может использоваться для проб активности и готовности Kubernetes.This request can be used for Kubernetes liveness and readiness probes.
http://localhost:5000/swagger Контейнер предоставляет полный набор документации для конечных точек, а также функцию Try it now.The container provides a full set of documentation for the endpoints and a Try it now feature. Эта функция позволяет ввести параметры в веб-форму HTML и создать запрос без необходимости писать код.With this feature, you can enter your settings into a web-based HTML form and make the query without having to write any code. После возвращения результатов запроса предоставляется пример команды CURL с примером требуемого формата HTTP-заголовков и текста.After the query returns, an example CURL command is provided to demonstrate the HTTP headers and body format that's required.

Домашняя страница контейнера

Остановка контейнераStop the container

Чтобы завершить работу контейнера, в среде командной строки, где выполняется контейнер, нажмите клавиши CTRL+C.To shut down the container, in the command-line environment where the container is running, press Ctrl+C.

Устранение неполадокTroubleshooting

Если контейнер запускается с выходным подключением и включенным ведением журнала, контейнер создает файлы журнала, которые удобно использовать для устранения неполадок, возникающих во время запуска или работы контейнера.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.

Выставление счетовBilling

Контейнер LUIS отправляет сведения о выставлении счетов в Azure с помощью Cognitive Services ресурса в учетной записи Azure.The LUIS container sends billing information to Azure, using a Cognitive Services resource on your Azure account.

Запросы к контейнеру оплачиваются согласно ценовой категории ресурсов Azure, используемой для <ApiKey>.Queries to the container are billed at the pricing tier of the Azure resource that's used for the <ApiKey>.

Контейнеры Azure Cognitive Services не лицензируются для запуска без подключения к конечной точке выставления счетов для отслеживания использования.Azure Cognitive Services containers aren't licensed to run without being connected to the billing endpoint for metering. Вам необходимо разрешить контейнерам непрерывную передачу данных для выставления счетов в конечную точку выставления счетов.You must enable the containers to communicate billing information with the billing endpoint at all times. Контейнеры Cognitive Services не отправляют в корпорацию Майкрософт данные клиента, например анализируемые изображения или тексты.Cognitive Services containers don't send customer data, such as the image or text that's being analyzed, to Microsoft.

Подключение к AzureConnect to Azure

Для запуска контейнера необходимо указать значения аргументов, касающихся выставления счетов.The container needs the billing argument values to run. Эти значения обеспечивают подключение контейнера к конечной точке выставления счетов.These values allow the container to connect to the billing endpoint. Отчеты об использовании контейнера примерно каждые 10—15 минут.The container reports usage about every 10 to 15 minutes. Если контейнер не подключится к Azure в течение допустимого периода времени, контейнер будет продолжать работать, но не будет обслуживать запросы, пока не будет восстановлена конечная точка выставления счетов.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. Попытки подключения выполняются 10 раз на протяжении одинакового интервала времени (10–15 минут).The connection is attempted 10 times at the same time interval of 10 to 15 minutes. Если контейнеру не удается подключиться к конечной точке выставления счетов за 10 попыток, его выполнение останавливается.If it can't connect to the billing endpoint within the 10 tries, the container stops running.

Аргументы для выставления счетовBilling arguments

Чтобы запустить контейнер с помощью команды docker run, необходимо указать все три приведенных ниже параметра с допустимыми значениями:For the docker run command to start the container, all three of the following options must be specified with valid values:

ПараметрOption ОписаниеDescription
ApiKey Ключ API ресурса Cognitive Services, используемый для отслеживания информации о выставлении счетов.The API key of the Cognitive Services resource that's used to track billing information.
Этому параметру следует присвоить значение ключа API для подготовленного ресурса, который можно получить в Billing.The value of this option must be set to an API key for the provisioned resource that's specified in Billing.
Billing Конечная точка ресурса Cognitive Services, используемая для отслеживания информации о выставлении счетов.The endpoint of the Cognitive Services resource that's used to track billing information.
Этому параметру следует присвоить URI конечной точки подготовленного ресурса Azure.The value of this option must be set to the endpoint URI of a provisioned Azure resource.
Eula Указывает, что вы приняли условия лицензии для контейнера.Indicates that you accepted the license for the container.
Для этого параметра следует задать значение accept.The value of this option must be set to accept.

Дополнительные сведения об этих параметрах см. в статье Настройка контейнеров.For more information about these options, see Configure containers.

Поддерживаемые зависимости для latest контейнераSupported dependencies for latest container

Последний контейнер, выпущенный в 2019//Build, будет поддерживать следующее:The latest container, released at 2019 //Build, will support:

  • Проверка орфографии Bing: запросы к конечной точке прогнозирования запросов &spellCheck=true&bing-spell-check-subscription-key={bingKey} с параметрами строки запроса.Bing spell check: requests to the query prediction endpoint with the &spellCheck=true&bing-spell-check-subscription-key={bingKey} query string parameters. Дополнительные сведения см. в руководстве по проверка орфографии Bing версии 7 .Use the Bing Spell Check v7 tutorial to learn more. Если эта функция используется, контейнер отправляет utterance в ресурс Проверка орфографии Bing версии 7.If this feature is used, the container sends the utterance to your Bing Spell Check V7 resource.
  • Новыепредварительно созданные домены. Эти корпоративные домены включают сущности, примеры фразы продолжительностью и закономерности.New prebuilt domains: these enterprise-focused domains include entities, example utterances, and patterns. Расширьте эти домены для собственного использования.Extend these domains for your own use.

Неподдерживаемые зависимости для latest контейнераUnsupported dependencies for latest container

Если приложение LUIS имеет неподдерживаемые зависимости, вы не сможете экспортировать для контейнера , пока не будут удалены неподдерживаемые компоненты.If your LUIS app has unsupported dependencies, you won't be able to export for container until you remove the unsupported features. При попытке экспорта для контейнера портал LUIS сообщает о неподдерживаемых функциях, которые необходимо удалить.When you attempt to export for container, the LUIS portal reports the unsupported features you need to remove.

Приложение LUIS можно использовать, если оно не содержит следующие зависимости:You can use a LUIS application if it doesn't include any of the following dependencies:

Неподдерживаемые конфигурации приложенияUnsupported app configurations ПодробнееDetails
Неподдерживаемые языки и региональные параметры контейнеровUnsupported container cultures Нидерландский (nl-NL)Dutch (nl-NL)
Японский (ja-JP)Japanese (ja-JP)
Немецкий поддерживается только с помощью подсчета 1.0.2.German is only supported with the 1.0.2 tokenizer.
Неподдерживаемые сущности для всех языков и региональных параметровUnsupported entities for all cultures Предварительно созданная сущность KeyPhrase для всех языков и региональных параметровKeyPhrase prebuilt entity for all cultures
Неподдерживаемые сущности для языка и региональных параметров "Английский (en-US)"Unsupported entities for English (en-US) culture Предварительно созданные сущности GeographyV2GeographyV2 prebuilt entities
Подготовка речиSpeech priming Внешние зависимости не поддерживаются в контейнере.External dependencies are not supported in the container.
Анализ тональностиSentiment analysis Внешние зависимости не поддерживаются в контейнере.External dependencies are not supported in the container.

Записи блогаBlog posts

Примеры для разработчиковDeveloper samples

Примеры для разработчиков доступны в нашем репозитории GitHub.Developer samples are available at our GitHub repository.

Просмотреть вебинарView webinar

Присоединяйтесь к вебинару, чтобы узнать:Join the webinar to learn about:

  • как развернуть Cognitive Services на любом компьютере с помощью Docker;How to deploy Cognitive Services to any machine using Docker
  • как развернуть Cognitive Services в AKS.How to deploy Cognitive Services to AKS

СводкаSummary

В этой статье описаны основные понятия и рабочий процесс для скачивания, установки и выполнения контейнеров Интеллектуальной службы распознавания речи (LUIS).In this article, you learned concepts and workflow for downloading, installing, and running Language Understanding (LUIS) containers. В разделе "Сводка" сделайте следующее.In summary:

  • Интеллектуальная служба распознавания речи (LUIS) предоставляет один контейнер Linux для Docker, обеспечивая прогнозы фраз по запросам конечных точек.Language Understanding (LUIS) provides one Linux container for Docker providing endpoint query predictions of utterances.
  • Образы контейнеров скачиваются из Реестра контейнеров Майкрософт (MCR).Container images are downloaded from the Microsoft Container Registry (MCR).
  • Образы контейнеров выполняются в Docker.Container images run in Docker.
  • С помощью REST API можно выполнять запросы к конечным точкам контейнера, указывая URI узла контейнера.You can use REST API to query the container endpoints by specifying the host URI of the container.
  • При создании экземпляра контейнера нужно указать данные для выставления счетов.You must specify billing information when instantiating a container.

Важно!

Контейнеры Cognitive Services не лицензируются для запуска без подключения к Azure для отслеживания использования.Cognitive Services containers are not licensed to run without being connected to Azure for metering. Клиенты должны разрешить контейнерам непрерывную передачу данных для выставления счетов в службу контроля потребления.Customers need to enable the containers to communicate billing information with the metering service at all times. Контейнеры Cognitive Services не отправляют в корпорацию Майкрософт данные клиента (например анализируемые изображения или тексты).Cognitive Services containers do not send customer data (for example, the image or text that is being analyzed) to Microsoft.

Следующие шагиNext steps