Использование контейнеров Docker в отключенных средах

Контейнеры позволяют запускать API служб искусственного интеллекта Azure в собственной среде и отлично подходят для конкретных требований к безопасности и управлению данными. Отключенные контейнеры позволяют использовать несколько интерфейсов API без подключения к Интернету. В настоящее время таким образом можно выполнять следующие контейнеры:

Прежде чем пытаться запустить контейнер Docker в автономной среде, убедитесь, что вы знаете, как скачать и использовать контейнер. Например:

  • Требования к главному компьютеру и рекомендации.
  • Команда Docker pull, которая будет использоваться для скачивания контейнера.
  • Как проверить состояние контейнера.
  • Как отправлять запросы к конечной точке контейнера после ее запуска.

Запрос доступа на использование контейнеров в отключенных средах

Заполните форму запроса и отправьте ее, чтобы запросить доступ к контейнерам без подключения к Интернету.

В форме нужно указать сведения о себе, компании и пользовательском сценарии, для которого будет использоваться контейнер. После отправки формы команда служб искусственного интеллекта Azure проверяет ее и отправляет вам электронное письмо с решением в течение 10 рабочих дней.

Важно!

  • В форме необходимо указать адрес электронной почты, связанный с идентификатором подписки Azure.
  • Используемый для запуска контейнера ресурс Azure должен быть создан с утвержденным идентификатором подписки Azure.
  • Проверьте электронную почту (папки "Входящие" и "Спам") на наличие писем от Майкрософт о статусе вашей заявки.

После утверждения можно скачать контейнер из реестра Microsoft Container Registry (MCR), как описано далее в этой статье, а затем запустить его.

Запуск контейнера невозможен без утвержденной подписки Azure.

Доступ предоставляется только клиентами, которые отвечают следующим требованиям.

  • Ваша организация должна быть определена как стратегический клиент или партнер корпорации Майкрософт.
  • Ожидается, что отключенные контейнеры будут работать полностью в автономном режиме, поэтому варианты использования должны соответствовать одному из следующих или аналогичных требований:
    • Среда или устройство(-а) без подключения к Интернету.
    • Удаленное расположение, которое иногда имеет доступ к Интернету.
    • Организация, которым строго запрещено отправлять какие бы то ни было данные обратно в облако.
  • Заявка подана в соответствии с инструкциями: обращайте особое внимание на рекомендации, предоставляемые в ходе подачи заявки, чтобы представить все сведения, необходимые для утверждения.

Приобретение плана ценообразования категории обязательств для отключенных контейнеров

Создать новый ресурс

  1. Войдите в портал Azure и выберите "Создать новый ресурс" для одной из применимых служб ИИ Azure, перечисленных выше.

  2. Введите сведения, необходимые для создания ресурса. Не забудьте выбрать в качестве ценовой категории Уровень обязательств для отключенных контейнеров.

    Примечание.

    • Вы увидите вариант покупки плана обязательств только в том случае, если получили утверждение от корпорации Майкрософт.
    • Сведения о ценах приведены только для примера.
  3. В нижней части страницы выберите Просмотреть и создать. Просмотрите сведения и щелкните Создать.

Настройка контейнера для отключенного использования

См. следующую документацию по скачиванию и настройке контейнера для отключенного использования:

Служба распознавания речи

Языковая служба

Имена переменных среды в развертываниях Kubernetes

Некоторые контейнеры ИИ Azure, например Переводчик, требуют от пользователей передачи имен переменных окружающей среды, включающих двоеточия (:) при запуске контейнера. Это будет работать нормально при использовании Docker, но Kubernetes не принимает двоеточия в именах переменных окружающей среды. Чтобы устранить эту проблему, можно заменить двоеточия двойными символами подчеркивания (__) при развертывании в Kubernetes. См. следующий пример допустимого формата для имен переменных среды:

        env:  
        - name: Mounts__License
          value: "/license"
        - name: Mounts__Output
          value: "/output"

Этот пример заменяет формат по умолчанию для Mounts:LicenseMounts:Output имен переменных среды в команде docker run.

Обновления образов контейнеров и лицензий

Файлы лицензий контейнера используются в качестве ключей для расшифровки определенных файлов в каждом образе контейнера. Если эти зашифрованные файлы будут обновлены в новом образе контейнера, файл лицензии может не запустить контейнер, даже если он работал с предыдущей версией образа контейнера. Чтобы избежать этой проблемы, рекомендуется скачать новый файл лицензии из конечной точки ресурса для контейнера, предоставленного в портал Azure после извлечения новых версий образов из mcr.microsoft.com.

Чтобы скачать новый файл лицензии, можно добавить DownloadLicense=True в команду docker run вместе с подключением лицензий, ключом API и конечной точкой выставления счетов. Подробные инструкции см. в документации по контейнеру.

Записи об использовании

Контейнеры Docker, работающие в отключенной среде, будут записывать сведения об использовании на том, где они собираются с течением времени. Можно также вызвать конечную точку REST для создания отчета об использовании службы.

Аргументы для хранения журналов

При запуске в среде без подключения к Интернету для хранения журналов использования необходимо, чтобы для контейнера было доступно выходное подключение. В следующем примере можно включить -v /host/output:{OUTPUT_PATH} и Mounts:Output={OUTPUT_PATH}, заменив {OUTPUT_PATH} на путь для хранения журналов:

docker run -v /host/output:{OUTPUT_PATH} ... <image> ... Mounts:Output={OUTPUT_PATH}

Получение записей с помощью конечных точек контейнера

Контейнер предоставляет две конечные точки для возврата записей об использовании.

Получение всех записей

Следующая конечная точка предоставит сводный отчет, который будет содержать все сведения об использовании, собранные в подключенном каталоге записей для выставления счетов.

https://<service>/records/usage-logs/

Она вернет файл JSON, как в примере ниже.

{
  "apiType": "noop",
  "serviceName": "noop",
  "meters": [
    {
      "name": "Sample.Meter",
      "quantity": 253
    }
  ]
}

Получение записей за определенный месяц

Следующая конечная точка предоставит сводный отчет, который будет содержать сведения об использовании за определенный месяц и год.

https://<service>/records/usage-logs/{MONTH}/{YEAR}

Она вернет ответ JSON, как в примере ниже.

{
  "apiType": "string",
  "serviceName": "string",
  "meters": [
    {
      "name": "string",
      "quantity": 253
    }
  ]
}

Покупка плана обязательств для использования контейнеров в отключенных средах

Планы обязательств для контейнеров без подключения к Интернету имеют период обязательства, равный календарному году. При приобретении плана с вас немедленно взимается полная плата. В течение периода обязательства нельзя изменить план обязательств, однако можно приобрести дополнительные единицы, плата за которые будет взиматься пропорционально за дни, оставшиеся до конца года. Завершить план обязательств можно до полуночи (UTC) в последний день срока действия обязательства.

Вы можете выбрать другой план обязательств в параметрах Цены на уровень обязательств вашего ресурса.

Завершение плана обязательств

Если решите больше не продолжать приобретать план обязательств, можете задать для автопродления ресурса Не продлевать автоматически. Срок действия плана обязательств истечет на отображаемую дату окончания обязательств. После этой даты плата за план обязательств взиматься не будет. Вы сможете продолжить использовать ресурс Azure для вызовов API, и с вас будет взиматься плата по модели с оплатой по мере использования. Чтобы не взималась плата за следующий год, вы можете завершить план обязательств до полуночи (UTC) в последний день каждого года.

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

Если контейнер запускается с выходным подключением и включенным ведением журнала, контейнер создает файлы журнала, которые удобно использовать для устранения неполадок, возникающих во время запуска или работы контейнера.

Совет

С дополнительными сведениями и рекомендациями по устранению неполадок можно ознакомиться в разделе Часто задаваемые вопросы о контейнерах без подключения к Интернету.

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

Общие сведения о контейнерах ИИ Azure