Настройка Docker-контейнеров переводчика
Службы ИИ Azure предоставляют каждый контейнер с общей платформой конфигурации. Вы можете легко настроить контейнеры службы "Переводчик", чтобы создать архитектуру приложения Переводчика, оптимизированную как для надежных облачных решений, так и для пограничных локальных сред.
Среда выполнения контейнера Переводчика настраивается с помощью аргументов команды docker run
. Этот контейнер имеет обязательные и необязательные параметры. Обязательные параметры для конкретного контейнера — это параметры выставления счетов.
Параметры конфигурации
К контейнеру применяются следующие параметры конфигурации:
Обязательное поле | Параметр | Purpose |
---|---|---|
Да | ApiKey | Отслеживает данные для выставления счетов. |
No | ApplicationInsights | Позволяет добавлять в контейнер поддержку телеметрии приложение Azure Insights. |
Да | Выставление счетов | Задает URI конечной точки для ресурса службы в Azure. |
Да | EULA | Указывает, что вы приняли лицензионное соглашение конечного пользователя (EULA) для контейнера. |
No | Fluentd | Записывает данные в журнал и при необходимости передает метрики на сервер Fluentd. |
No | Прокси-сервер HTTP: | Настраивает прокси-сервер HTTP для исходящих запросов. |
No | Ведение журнала | Обеспечивает поддержку ведения журнала ASP.NET Core для вашего контейнера. |
Да | Подключения | Считывает и записывает данные с главного компьютера в контейнер и обратно. |
Внимание
Настройки ApiKey, Выставления счетов и EULA используются вместе, и вы должен предоставить допустимые значения для всех трех из них; в противном случае ваш контейнер не запустится. Дополнительные сведения об использовании этих параметров конфигурации для создания экземпляра контейнера.
Параметр конфигурации ApiKey
Параметр ApiKey
определяет ключ ресурса Azure, который используется для отслеживания данных для выставления счетов для контейнера. Вам необходимо указать значение для ApiKey, и это значение должно быть действительным ключом для ресурса Переводчика, указанного для параметра конфигурации Billing
.
Этот параметр можно найти в следующем месте.
- Портал Azure: управление ресурсами Переводчика в разделе Ключи
Параметр ApplicationInsights.
Параметр ApplicationInsights
позволяет добавить в контейнер поддержку телеметрии Azure Application Insights. Служба Application Insights обеспечивает детализированный мониторинг контейнера. Вы можете легко отслеживать доступность, производительность и использование своего контейнера. Вы также можете быстро идентифицировать и диагностировать ошибки в контейнере.
В следующей таблице описаны параметры конфигурации, поддерживаемые в разделе ApplicationInsights
.
Обязательное поле | Имя. | Тип данных | Description |
---|---|---|---|
Нет | InstrumentationKey |
Строка | Ключ инструментирования экземпляра Application Insights, которому отправляются данные телеметрии для контейнера. Дополнительные сведения см. в статье Application Insights для ASP.NET Core. Пример: InstrumentationKey=123456789 |
Параметр конфигурации выставления счетов
Параметр Billing
указывает URI конечной точки ресурса Переводчика в Azure, который используется для измерения платежной информации для контейнера. Вам необходимо указать значение для этого параметра конфигурации, и это значение должно быть действительным URI конечной точки для ресурса Переводчика в Azure. Отчеты об использовании контейнера примерно каждые 10—15 минут.
Этот параметр можно найти в следующем месте.
- портал Azure: Страница "Обзор переводчика" помечена
Endpoint
Обязательное поле | Имя. | Тип данных | Description |
---|---|---|---|
Да | Billing |
Строка | URI конечной точки биллинга. Дополнительные сведения о получении URI биллинга см. в разделе Сбор требуемых параметров. Дополнительные сведения и полный список региональных конечных точек см. в разделе "Пользовательские имена поддомена" для служб ИИ Azure. |
Параметр EULA
Параметр Eula
указывает, что вы приняли условия лицензии для контейнера. Для этого параметра конфигурации необходимо указать значение accept
.
Обязательное поле | Имя. | Тип данных | Description |
---|---|---|---|
Да | Eula |
Строка | Принятие условий лицензионного соглашения Пример: Eula=accept |
Контейнеры служб искусственного интеллекта Azure лицензируются в соответствии с вашим соглашением , определяющим использование Azure. Если вы не заключали соглашение, регламентирующее использование Azure, вы подтверждаете, что ваше соглашение об использовании Azure является соглашением Microsoft Online Subscription, которое содержит условия использования веб-служб. Что касается предварительных версий, вы также соглашаетесь с Дополнительными условиями использования предварительных версий Microsoft Azure. Факт использования вами контейнера подтверждает ваше согласие с этими условиями.
Параметры Fluentd
Fluentd — это сборщик данных с открытым кодом для унифицированного ведения журнала. Параметры Fluentd
управляют подключением контейнера к серверу Fluentd. В состав контейнера входит поставщик ведения журнала Fluentd, который позволяет контейнеру записывать данные журналов и (необязательно) данные метрик на сервер Fluentd.
В следующей таблице описаны параметры конфигурации, поддерживаемые в разделе Fluentd
.
Имя. | Тип данных | Description |
---|---|---|
Host |
Строка | IP-адрес или имя узла DNS сервера Fluentd. |
Port |
Целое | Порт сервера Fluentd. Значение по умолчанию — 24224. |
HeartbeatMs |
Целое | Интервал пульса в миллисекундах. Если до окончания этого интервала не отправлялся никакой трафик событий, пульс отправляется на сервер Fluentd. Значение по умолчанию — 60 000 миллисекунд (1 минута). |
SendBufferSize |
Целое | Место в сетевом буфере (в байтах), выделенное для операций отправки. Значение по умолчанию — 32768 байт (32 килобайта). |
TlsConnectionEstablishmentTimeoutMs |
Целое | Время ожидания (в миллисекундах) до установки соединения по протоколу SSL/TLS с сервером Fluentd. Значение по умолчанию — 10 000 миллисекунд (10 секунд). Если для параметра UseTLS задано значение false, то это значение игнорируется. |
UseTLS |
Логический | Указывает, должен ли контейнер использовать протокол SSL/TLS для связи с сервером Fluentd. По умолчанию используется значение false. |
Параметры учетных данных прокси-сервера HTTP/HTTPS
Чтобы настроить прокси-сервер HTTP для исходящих запросов, используйте следующие два аргумента.
Имя. | Тип данных | Description |
---|---|---|
HTTPS_PROXY | строка | URL-адрес прокси-сервера, например https://proxy:8888 |
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type-bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
HTTPS_PROXY=<proxy-url>
Параметры ведения журнала
Контейнеры переводчика поддерживают следующие поставщики ведения журнала:
Provider | Характер использования |
---|---|
Консоль | Поставщик ведения журнала Console для ASP.NET Core. Для этого поставщика ведения журнала поддерживаются все параметры конфигурации ASP.NET Core и значения по умолчанию. |
Debug | Поставщик ведения журнала Debug для ASP.NET Core. Для этого поставщика ведения журнала поддерживаются все параметры конфигурации ASP.NET Core и значения по умолчанию. |
Диск | Поставщик ведения журнала JSON. Поставщик ведения журнала записывает данные журнала в выходное подключение. |
Параметры
Logging
управляют поддержкой ведения журнала ASP.NET Core для контейнера. Вы можете использовать для контейнера те же параметры конфигурации и значения, что и для приложения ASP.NET Core.Указывает
Logging.LogLevel
минимальный уровень для журнала. СерьезностьLogLevel
диапазонов от 0 до 6.LogLevel
При указании ведение журнала включено для сообщений на указанном уровне и выше: Trace = 0, Debug = 1, Information = 2, Warning = 3, Error = 4, Critical = 5, None = 6.В настоящее время контейнеры Переводчика имеют возможность ограничить журналы в LogLevel или более поздней версии.
Общий синтаксис команды для ведения журнала выглядит следующим образом:
-Logging:LogLevel:{Provider}={FilterSpecs}
Следующая команда запускает контейнер Docker с заданным параметром LogLevel
"Предупреждение " и поставщиком ведения журнала для консоли. Эта команда выводит аномальные или непредвиденные события во время потока приложения в консоль:
docker run --rm -it -p 5000:5000
-v /mnt/d/TranslatorContainer:/usr/local/models \
-e apikey={API_KEY} \
-e eula=accept \
-e billing={ENDPOINT_URI} \
-e Languages=en,fr,es,ar,ru \
-e Logging:LogLevel:Console="Warning"
mcr.microsoft.com/azure-cognitive-services/translator/text-translation:latest
Ведение журнала диска
Поставщик ведения журнала Disk
поддерживает перечисленные ниже параметры конфигурации:
Имя. | Тип данных | Description |
---|---|---|
Format |
Строка | Выходной формат файлов журналов. Примечание. Чтобы включить поставщика ведения журнала, для этого параметра необходимо задать значение json . Если это значение задано без указания выходного подключения, при создании экземпляра контейнера возникает ошибка. |
MaxFileSize |
Целое | Максимальный размер файла журнала в мегабайтах (МБ). Если размер текущего файла журнала соответствует или превышает это значение, поставщик ведения журнала запускает новый файл журнала. Если задано значение –1, то размер файла журнала ограничивается только максимальным размером файла (если он задан) для выходного подключения. Значение по умолчанию равно 1. |
Пример поставщика дисков
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type-bind,src=/home/azureuser/output,target=/output \
-e apikey={API_KEY} \
-e eula=accept \
-e billing={ENDPOINT_URI} \
-e Languages=en,fr,es,ar,ru \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Disk:Format=json \
Mounts:Output=/output
Дополнительные сведения о настройке поддержки ведения журналов для ASP.NET Core см. в разделе Настройка файла параметров.
Параметры подключения
Используйте подключения привязок для чтения данных из контейнера и записи в него. Вы можете указать входное или выходное подключение, указав параметр --mount
в команде docker run.