Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Контейнеры позволяют разместить API распознавания языка в собственной инфраструктуре. При наличии требований к безопасности или управлению данными, которые невозможно выполнить путем удаленного вызова функции распознавания языка, контейнеры могут оказаться удобным вариантом.
Предварительные условия
- Если у вас еще нет подписки Azure, создайте бесплатную учетную запись.
-
Docker, установленный на главном компьютере. Docker нужно настроить таким образом, чтобы контейнеры могли подключать и отправлять данные о выставлении счетов в Azure.
- В Windows для поддержки контейнеров Linux также должен быть настроен Docker.
- У вас должно быть базовое представление о концепциях Docker.
- Ресурс языка с бесплатной ценовой категорией (F0) или ценовой категории "Стандартный" (S).
Сбор обязательных параметров
Требуются три основных параметра для всех контейнеров ИИ Azure. Для условий лицензионного соглашения на использование программного обеспечения корпорации Майкрософт должно быть задано значение accept. Также требуются URI конечной точки и ключ API.
URI конечной точки
Это {ENDPOINT_URI}
значение доступно на странице Обзор портале Azure соответствующего ресурса служб ИИ Azure. Перейдите на страницу обзора, наведите указатель мыши на конечную точку и появится значок копирования в буфер обмена. Скопируйте и используйте конечную точку по мере необходимости.
Ключи
Значение {API_KEY}
используется для запуска контейнера и доступно на странице Ключи портала Azure, соответствующей ресурсу служб ИИ Azure. Перейдите на страницу «Ключи» и выберите значок копирования в буфер обмена.
Внимание
Эти ключи подписки используются для доступа к API служб искусственного интеллекта Azure. Не предоставляйте доступ к ключам другим пользователям. Храните их в безопасном месте. Например, используйте Azure Key Vault. Также рекомендуется регулярно повторно создавать эти ключи. Для вызова API необходим только один ключ. При повторном создании первого ключа второй ключ можно использовать для бесперебойного доступа к службе.
Требования к главному компьютеру и рекомендации
Хост — это компьютер на архитектуре x64, на котором выполняется контейнер Docker. Это может быть компьютер в локальной среде или служба размещения Docker в Azure, включая следующие решения:
- Служба Azure Kubernetes.
- Экземпляры контейнеров Azure.
- Кластер Kubernetes, развернутый в Azure Stack. Дополнительные сведения см. в статье Развертывание Kubernetes в Azure Stack.
В нижеприведенной таблице описаны минимальные и рекомендуемые характеристики для контейнера распознавания языка. Частота каждого ядра ЦП должна быть минимум 2,6 ГГц. Также указано допустимое количество транзакций в секунду (TPS).
Минимальные системные требования | Рекомендуемые спецификации узла | Минимальное TPS | Максимальное TPS | |
---|---|---|---|---|
Распознавание языка | 1 ядро, 5 ГБ памяти | 1 ядро, 8 ГБ памяти | 15 | 30 |
Ядро и память соответствуют параметрам --cpus
и --memory
, которые используются как часть команды docker run
.
Получение образа контейнера с помощью docker pull
Образ контейнера для обнаружения языка можно найти в реестре контейнеров синдиката mcr.microsoft.com
. Он находится в репозитории azure-cognitive-services/textanalytics/
и называется language
. Полное имя образа контейнера — mcr.microsoft.com/azure-cognitive-services/textanalytics/language
.
Чтобы использовать последнюю версию контейнера, можно использовать latest
тег. Полный список тегов также представлен в MCR.
Воспользуйтесь командой docker pull
, чтобы скачать образ контейнера из Microsoft Container Registry.
docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/language:latest
Совет
Используйте команду docker images, чтобы получить список скачанных образов контейнеров. Например, следующая команда возвращает таблицу со списком идентификаторов, репозиториев и тегов для каждого скачанного образа контейнера:
docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
IMAGE ID REPOSITORY TAG
<image-id> <repository-path/name> <tag-name>
Запуск контейнера с помощью команды docker run
После добавления контейнера на главный компьютер используйте команду docker run для запуска контейнеров. После запуска контейнер продолжит работу, пока вы его не остановите.
Внимание
- В командах Docker в следующих разделах используется обратная косая черта (
\
) как символ продолжения строки. Замените или удалите ее в соответствии с требованиями вашей операционной системы. - Для запуска контейнера необходимо указать параметры
Eula
,Billing
иApiKey
. В противном случае контейнер не запустится. Дополнительные сведения см. в разделе о выставлении счетов.
Чтобы запустить контейнер распознавания языка, выполните следующую команду docker run
. Замените значения заполнителей ниже на собственные.
Заполнитель | Значение | Формат или пример |
---|---|---|
{API_KEY} | Ключ для языкового ресурса. Вы можете найти это на странице Ключ и конечная точка вашего ресурса на портале Azure. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{ENDPOINT_URI} | Конечная точка для доступа к API распознавания языка. Вы можете найти его на странице Ключ и конечная точка вашего ресурса на портале Azure. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
docker run --rm -it -p 5000:5000 --memory 4g --cpus 1 \
mcr.microsoft.com/azure-cognitive-services/textanalytics/language \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Команда:
- запускает контейнер распознания языка из образа контейнера;
- выделяет одно ядро ЦП и 4 ГБ памяти;
- открывает TCP-порт 5000 и выделяет псевдотерминал для контейнера.
- автоматически удаляет контейнер после выхода. Образ контейнера остается доступным на главном компьютере.
Запуск нескольких контейнеров на одном узле
Если вы планируете запускать несколько контейнеров при открытых портах, обязательно назначьте каждому контейнеру отдельный открытый порт. Например, запускайте первый контейнер на порте 5000, а второй — на порте 5001.
Вы можете использовать этот контейнер и другой контейнер служб ИИ Azure, работающих одновременно на узле HOST. Кроме того, можно использовать несколько контейнеров одного и того же контейнера служб искусственного интеллекта Azure.
Запрос конечной точки прогнозирования контейнера
Контейнер предоставляет API на основе REST для конечных точек прогнозирования запросов.
Используйте узел http://localhost:5000
для API контейнера.
Убедитесь, что контейнер запущен
Есть несколько способов проверить, что контейнер работает. Найдите адрес Внешний IP-адрес и открытый порт для данного контейнера и откройте ваш любимый веб-браузер. Используйте приведенные ниже URL-адреса запросов, чтобы убедиться, что контейнер работает. В примерах в качестве URL-адресов запросов используется значение http://localhost:5000
, однако ваш конкретный контейнер может иметь отличия. Убедитесь, что вы полагаетесь на внешний IP-адрес и открытый порт вашего контейнера.
Запросить URL-адрес | Цель |
---|---|
http://localhost:5000/ |
Контейнер предоставляет домашнюю страницу. |
http://localhost:5000/ready |
При запросе с помощью команды GET этот URL-адрес подтверждает, что контейнер готов принять запрос к модели. Этот запрос может использоваться для проб активности и готовности Kubernetes. |
http://localhost:5000/status |
Этот URL-адрес, который можно также запросить с помощью GET, проверяет, действителен ли ключ API, используемый для запуска контейнера, без запроса конечной точки. Этот запрос может использоваться для проб активности и готовности Kubernetes. |
http://localhost:5000/swagger |
Контейнер предоставляет полный набор документации по конечным точкам и функции Попробовать. Эта функция позволяет ввести параметры в веб-форму HTML и создать запрос без необходимости писать код. После возвращения результатов запроса предоставляется пример команды CURL с примером требуемого формата HTTP-заголовков и текста. |
Запуск контейнера, отключенного от Интернета
Чтобы использовать этот контейнер, отключенный от Интернета, необходимо сначала запросить доступ, заполнив приложение и приобретя план обязательств. Дополнительные сведения см. в разделе "Использование контейнеров Docker в отключенных средах ".
Если вы были утверждены для запуска контейнера, отключенного от Интернета, в следующем примере показано форматирование используемой docker run
команды с значениями заполнителей. Замените значения-заполнители собственными значениями.
Параметр DownloadLicense=True
в docker run
команде скачит файл лицензии, который позволит запустить контейнер Docker, если он не подключен к Интернету. Он также содержит дату окончания срока действия, после которой файл лицензии станет недопустимым для запуска контейнера. Вы можете использовать файл лицензии только с тем контейнером, для которого получено утверждение. Например, нельзя использовать файл лицензии для контейнера преобразования речи в текст с контейнером анализа документов.
Заполнитель | Значение | Формат или пример |
---|---|---|
{IMAGE} |
Образ контейнера, который необходимо использовать. | mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice |
{LICENSE_MOUNT} |
Путь для скачивания и подключения лицензии. | /host/license:/path/to/license/directory |
{ENDPOINT_URI} |
Конечная точка для проверки подлинности запроса на обслуживание. Вы найдете его на странице Ключ и конечная точка вашего ресурса в портале Azure. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{API_KEY} |
Ключ для ресурса анализа текстовых данных. Вы можете найти его на странице Ключ и конечная точка вашего ресурса на портале Azure. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{CONTAINER_LICENSE_DIRECTORY} |
Расположение папки license в локальной файловой системе контейнера. | /path/to/license/directory |
docker run --rm -it -p 5000:5000 \
-v {LICENSE_MOUNT} \
{IMAGE} \
eula=accept \
billing={ENDPOINT_URI} \
apikey={API_KEY} \
DownloadLicense=True \
Mounts:License={CONTAINER_LICENSE_DIRECTORY}
После скачивания файла лицензии можно запустить контейнер в среде без подключения к Интернету. В следующем примере показано форматирование команды docker run
, которую вы используете, со значениями-заполнителями. Замените значения-заполнители собственными значениями.
Независимо от того, где выполняется контейнер, файл лицензии должен быть подключен к контейнеру, а расположение папки лицензии в локальной файловой системе контейнера необходимо указать с помощью Mounts:License=
. Кроме того, необходимо указать выходное подключение, чтобы можно было записывать сведения об использовании для выставления счетов.
Заполнитель | Значение | Формат или пример |
---|---|---|
{IMAGE} |
Образ контейнера, который необходимо использовать. | mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice |
{MEMORY_SIZE} |
Надлежащий объем памяти, который необходимо выделить для контейнера. | 4g |
{NUMBER_CPUS} |
Надлежащее количество ЦП, которое необходимо выделить для контейнера. | 4 |
{LICENSE_MOUNT} |
Путь, где будет размещена и подключена лицензия. | /host/license:/path/to/license/directory |
{OUTPUT_PATH} |
Выходной путь для ведения журнала использования. | /host/output:/path/to/output/directory |
{CONTAINER_LICENSE_DIRECTORY} |
Расположение папки license в локальной файловой системе контейнера. | /path/to/license/directory |
{CONTAINER_OUTPUT_DIRECTORY} |
Расположение папки output в локальной файловой системе контейнера. | /path/to/output/directory |
docker run --rm -it -p 5000:5000 --memory {MEMORY_SIZE} --cpus {NUMBER_CPUS} \
-v {LICENSE_MOUNT} \
-v {OUTPUT_PATH} \
{IMAGE} \
eula=accept \
Mounts:License={CONTAINER_LICENSE_DIRECTORY}
Mounts:Output={CONTAINER_OUTPUT_DIRECTORY}
Остановка контейнера
Чтобы завершить работу контейнера, в среде командной строки, где выполняется контейнер, нажмите комбинацию клавиш Ctrl+C.
Устранение неполадок
Если контейнер запускается с выходным подключением и включенным ведением журнала, контейнер создает файлы журнала, которые удобно использовать для устранения неполадок, возникающих во время запуска или работы контейнера.
Совет
Дополнительные сведения об устранении неполадок и рекомендации см. в статье часто задаваемые вопросы о контейнерах ИИ Azure.
Выставление счетов
Контейнеры распознавания языка отправляют данные для выставления счетов в Azure с помощью ресурса Язык в учетной записи Azure.
Запросы к контейнеру оплачиваются согласно ценовой категории ресурса Azure, используемого для параметра ApiKey
.
Контейнеры служб искусственного интеллекта Azure не лицензируются для запуска без подключения к конечной точке измерения или выставления счетов. Вам необходимо разрешить контейнерам постоянное взаимодействие с конечной точкой выставления счетов для передачи финансовой информации. Контейнеры служб искусственного интеллекта Azure не отправляют данные клиентов, такие как изображение или текст, которые анализируются, в корпорацию Майкрософт.
Подключение к Azure
Для запуска контейнера необходимо указать значения аргументов, касающихся выставления счетов. Эти значения обеспечивают подключение контейнера к конечной точке выставления счетов. Контейнер сообщает об использовании примерно каждые 10—15 минут. Если контейнер не подключится к Azure в течение допустимого периода времени, контейнер будет продолжать работать, но не будет обслуживать запросы, пока не будет восстановлена конечная точка выставления счетов. Попытки подключения выполняются 10 раз на протяжении одинакового интервала времени (10–15 минут). Если контейнеру не удается подключиться к конечной точке выставления счетов за 10 попыток, он перестаёт обрабатывать запросы. См. часто задаваемые вопросы о контейнере служб искусственного интеллекта Azure, чтобы узнать пример информации, отправляемой в Microsoft для выставления счетов.
Аргументы для выставления счетов
Команда docker run
запустит контейнер, когда все три из следующих параметров предоставляются допустимыми значениями:
Вариант | Описание |
---|---|
ApiKey |
Ключ API ресурса служб ИИ Azure, который используется для отслеживания сведений о выставлении счетов. Значение этого параметра должно быть ключом API для выделенного ресурса, указанного в Billing . |
Billing |
Конечная точка ресурса служб искусственного интеллекта Azure, которая используется для отслеживания сведений о выставлении счетов. Этому параметру следует присвоить URI конечной точки подготовленного ресурса Azure. |
Eula |
Указывает, что вы приняли условия лицензии для контейнера. Для этого параметра следует задать значение accept. |
Дополнительные сведения об этих параметрах см. в статье Настройка контейнеров.
Итоги
Из этой статьи вы узнали основные понятия и рабочий процесс, позволяющий скачивать, устанавливать и запускать контейнеры распознавания языка. Сводка:
- Служба распознавания языка предоставляет контейнеры Linux для Docker.
- Образы контейнеров скачиваются из Реестра контейнеров Майкрософт (MCR).
- Образы контейнеров выполняются в Docker.
- При инициализации контейнера нужно указать платежную информацию.
Внимание
Этот контейнер не лицензирован для работы без подключения к Azure для учёта ресурсов. Клиенты должны разрешить контейнерам непрерывную передачу данных для выставления счетов в службу контроля потребления. Контейнеры искусственного интеллекта Azure не отправляют данные клиента (например, текст, который анализируется) в корпорацию Майкрософт.
Следующие шаги
- Параметры конфигурации см. в разделе Конфигурация контейнеров.