Поддержка контейнеров в Azure Cognitive ServicesContainer support in Azure Cognitive Services

Поддержка контейнеров в Azure Cognitive Services позволяет разработчикам использовать те же полнофункциональные API-интерфейсы, которые доступны в Azure, и обеспечивает гибкость при развертывании и размещении служб, входящих в контейнеры DOCKER.Container support in Azure Cognitive Services allows developers to use the same rich APIs that are available in Azure, and enables flexibility in where to deploy and host the services that come with Docker containers. В настоящее время поддержка контейнеров доступна для подмножества Cognitive Services Azure, включая части:Container support is currently available for a subset of Azure Cognitive Services, including parts of:

Контейнеризация — это подход к распространению программного обеспечения, при котором приложение или служба упаковывается в образ контейнера вместе со всеми зависимостями и конфигурациями.Containerization is an approach to software distribution in which an application or service, including its dependencies & configuration, is packaged together as a container image. Образ контейнера можно развертывать на узле контейнера с незначительной модификацией или без нее.With little or no modification, a container image can be deployed on a container host. Контейнеры изолированы друг от друга и от базовой операционной системы. При этом они расходуют меньше ресурсов, чем виртуальная машина.Containers are isolated from each other and the underlying operating system, with a smaller footprint than a virtual machine. Контейнеры для краткосрочных задач можно создавать на основе образов контейнеров и удалять их, когда они станут ненужными.Containers can be instantiated from container images for short-term tasks, and removed when no longer needed.

Cognitive Services ресурсы доступны на Microsoft Azure.Cognitive Services resources are available on Microsoft Azure. Войдите на портал Azure, чтобы создать и изучить ресурсы Azure для этих служб.Sign into the Azure portal to create and explore Azure resources for these services.

Возможности и преимущества:Features and benefits

  • Неизменяемая инфраструктура. Включите DevOps Teams, чтобы использовать согласованный и надежный набор известных системных параметров, в то время как можно адаптироваться к изменению.Immutable infrastructure: Enable DevOps teams' to leverage a consistent and reliable set of known system parameters, while being able to adapt to change. Контейнеры обеспечивают гибкость в прогнозировании в прогнозируемой экосистеме и позволяют избежать перенастройки.Containers provide the flexibility to pivot within a predictable ecosystem and avoid configuration drift.
  • Управление данными: позволяет клиентам выбирать, где эти Cognitive Services обрабатывать свои данные.Control over data: Allow customers to choose where these Cognitive Services process their data. Это особенно важно для тех клиентов, у которых есть потребность в технологии Cognitive Services, но нет возможности отправлять данные в облако.This is essential for customers that cannot send data to the cloud but need access to Cognitive Services technology. Поддержка согласованности в гибридной среде, в том числе данных, управления, идентификатора и безопасности.Support consistency in hybrid environments – across data, management, identity, and security.
  • Контроль над обновлениями модели. Предоставьте гибкость в управлении версиями и обновлением моделей, которые клиенты развертывают в своих решениях.Control over model updates: Provide customers flexibility in versioning and updating of models deployed in their solutions.
  • Переносимая архитектура: позволяет создавать переносимую архитектуру приложений, которая может быть развернута в Azure, в локальной среде и на границе.Portable architecture: Enable the creation of a portable application architecture that can be deployed on Azure, on-premises and the edge. Контейнеры можно развертывать непосредственно в Службе Azure Kubernetes, Экземплярах контейнеров Azure или в кластере Kubernetes, развернутом в Azure Stack.Containers can be deployed directly to Azure Kubernetes Service, Azure Container Instances, or to a Kubernetes cluster deployed to Azure Stack. Дополнительные сведения см. в статье Развертывание Kubernetes в Azure Stack.For more information, see Deploy Kubernetes to Azure Stack.
  • Высокая пропускная способность и низкая задержка. Предоставьте клиентам возможность масштабирования для повышения пропускной способности и низкой задержки, позволяя Cognitive Services физически близко к логике приложения и данным.High throughput / low latency: Provide customers the ability to scale for high throughput and low latency requirements by enabling Cognitive Services to run physically close to their application logic and data. Контейнеры не ограничивают число транзакций в секунду (TPS), и их можно увеличивать и уменьшать для удовлетворения спроса, предоставив необходимые аппаратные ресурсы.Containers do not cap transactions per second (TPS) and can be made to scale both up and out to handle demand if you provide the necessary hardware resources.
  • Масштабируемость: благодаря постоянно растущему популярности программного обеспечения для управления контейнерами и управления контейнерами, например Kubernetes; масштабируемость — это в плане развития технологических улучшений.Scalability: With the ever growing popularity of containerization and container orchestration software, such as Kubernetes; scalability is at the forefront of technological advancements. Основываясь на масштабируемой кластерной среде, разработка приложений предусматривает высокий уровень доступности.Building on a scalable cluster foundation, application development caters to high availability.

Контейнеры в Azure Cognitive ServicesContainers in Azure Cognitive Services

Контейнеры Azure Cognitive Services предоставляют описанный ниже набор контейнеров Docker, каждый из которых содержит подмножество функций нескольких служб в Azure Cognitive Services.Azure Cognitive Services containers provide the following set of Docker containers, each of which contains a subset of functionality from services in Azure Cognitive Services:

СлужбаService Поддерживаемая ценовая категорияSupported Pricing Tier КонтейнерContainer ОписаниеDescription
Детектор аномалийAnomaly detector F0, S0F0, S0 Аномалия-детекторAnomaly-Detector API Детектор аномалий позволяет отслеживать и обнаруживать отклонения в данных временных рядов с помощью машинного обучения.The Anomaly Detector API enables you to monitor and detect abnormalities in your time series data with machine learning.
Запрос доступаRequest access
Компьютерное зрениеComputer Vision F0, S1F0, S1 ЧтениеRead Извлекает печатный текст из изображений различных объектов с разными поверхностями и фонами, например чеков, плакатов и визитных карточек.Extracts printed text from images of various objects with different surfaces and backgrounds, such as receipts, posters, and business cards. Контейнер чтения также обнаруживает рукописный текст в изображениях и предоставляет поддержку PDF/TIFF/многостраничной поддержки.The Read container also detects handwritten text in images and provides PDF/TIFF/multi-page support.

Важно. Контейнер чтения в настоящее время работает только на английском языке.Important: The Read container currently works only with English.
Распознавание лицFace F0, S0F0, S0 Распознавание лицFace Обнаруживает человеческие лица на изображениях и определяет методом машинного прогнозирования их характеристики, например черты лица (нос, глаза и т. д.), пол, возраст и многое другое.Detects human faces in images, and identifies attributes, including face landmarks (such as noses and eyes), gender, age, and other machine-predicted facial features. Кроме обнаружения лиц, API может сравнивать два лица на одном или на разных изображениях, используя оценку достоверности, а также искать по базе данных похожие или идентичные лица.In addition to detection, Face can check if two faces in the same image or different images are the same by using a confidence score, or compare faces against a database to see if a similar-looking or identical face already exists. Схожие лица можно упорядочивать в группы по близким визуальным характеристикам.It can also organize similar faces into groups, using shared visual traits.
Запрос доступаRequest access
Распознаватель формForm recognizer F0, S0F0, S0 Распознаватель документовForm Recognizer Понимание форм применяет технологию машинного обучения для обнаружения и извлечения пар "ключ-значение" и таблиц из форм.Form Understanding applies machine learning technology to identify and extract key-value pairs and tables from forms.
Запрос доступаRequest access
LUISLUIS F0, S0F0, S0 LUIS (образ)LUIS (image) Загружает обученную или опубликованную модель Распознавания речи, также известную как приложение LUIS, в контейнер Docker и предоставляет доступ к прогнозам запроса из конечных точек API контейнера.Loads a trained or published Language Understanding model, also known as a LUIS app, into a docker container and provides access to the query predictions from the container's API endpoints. Можно собирать журналы запросов из контейнера и отправлять их обратно на портал LUIS для повышения точности прогнозов приложения.You can collect query logs from the container and upload these back to the LUIS portal to improve the app's prediction accuracy.
API службы "Речь"Speech Service API F0, S0F0, S0 Преобразование речи в текстSpeech-to-text Расшифровывает непрерывную речь в режиме реального времени в текстовый формат.Transcribes continuous real-time speech into text.
API службы "Речь"Speech Service API F0, S0F0, S0 Пользовательское распознавание речи к текстуCustom Speech-to-text Расшифровывает непрерывной речи в режиме реального времени в текст с помощью пользовательской модели.Transcribes continuous real-time speech into text using a custom model.
API службы "Речь"Speech Service API F0, S0F0, S0 Преобразование текста в речьText-to-speech Преобразует текст в естественно звучащую речь.Converts text to natural-sounding speech.
API службы "Речь"Speech Service API F0, S0F0, S0 Пользовательский текст в речьCustom Text-to-speech Преобразует текст в голосовую речь с помощью пользовательской модели.Converts text to natural-sounding speech using a custom model.
Анализ текстаText Analytics F0, SF0, S Извлечение ключевых фраз (изображение)Key Phrase Extraction (image) Извлекает ключевые фразы для определения основных идей текста.Extracts key phrases to identify the main points. Например, для входного текста "Еда была вкусной и персонал был замечательным" API вернет основные тезисы в записи: "еда" и "замечательный персонал".For example, for the input text "The food was delicious and there were wonderful staff", the API returns the main talking points: "food" and "wonderful staff".
Анализ текстаText Analytics F0, SF0, S Определение языка (изображение)Language Detection (image) Решение может определить язык введенного текста (поддерживается более 120 языков) и сообщить один код языка для каждого документа, отправленного в запросе.For up to 120 languages, detects which language the input text is written in and report a single language code for every document submitted on the request. Код языка сопряжен с показателем, указывающим степень оценки.The language code is paired with a score indicating the strength of the score.
Анализ текстаText Analytics F0, SF0, S Анализ тональности v3 (изображение)Sentiment Analysis v3 (image) Анализирует необработанный текст на предмет положительной или отрицательной тональности.Analyzes raw text for clues about positive or negative sentiment. Эта версия анализа тональности возвращает метки тональности (например, положительный или отрицательный) для каждого документа и предложения внутри него.This version of sentiment analysis returns sentiment labels (for example positive or negative) for each document and sentence within it.

Кроме того, некоторые контейнеры поддерживаются Cognitive Services ключами ресурсов " все в одном ".In addition, some containers are supported in Cognitive Services All-In-One offering resource keys. Вы можете создать один Cognitive Services ресурс "все в одном" и использовать один и тот же ключ выставления счетов в поддерживаемых службах для следующих служб:You can create one single Cognitive Services All-In-One resource and use the same billing key across supported services for the following services:

  • Компьютерное зрениеComputer Vision
  • Распознавание лицFace
  • LUISLUIS
  • Анализ текстаText Analytics

Доступность контейнеров в Azure Cognitive ServicesContainer availability in Azure Cognitive Services

Контейнеры Azure Cognitive Services общедоступны через подписку Azure, а образы для контейнеров Docker можно извлечь из Реестра контейнеров Microsoft или Docker Hub.Azure Cognitive Services containers are publicly available through your Azure subscription, and Docker container images can be pulled from either the Microsoft Container Registry or Docker Hub. Используйте команду docker pull, чтобы скачать образ контейнера из соответствующего репозитория.You can use the docker pull command to download a container image from the appropriate registry.

Репозитории и образы контейнеровContainer repositories and images

Приведенные ниже таблицы представляют собой список доступных образов контейнеров, предлагаемых Azure Cognitive Services.The tables below are a listing of the available container images offered by Azure Cognitive Services. Полный список доступных имен образов контейнеров и их доступных тегов см. в разделе Cognitive Services Теги образа контейнера.For a complete list of all the available container image names and their available tags, see Cognitive Services container image tags.

Общедоступная версияGenerally available

Реестр контейнеров (Майкрософт) (мкр) выйдет все общедоступные контейнеры для Cognitive Services.The Microsoft Container Registry (MCR) syndicates all of the generally available containers for Cognitive Services. Контейнеры также доступны непосредственно из центра DOCKER.The containers are also available directly from the Docker hub.

Контейнер LUISLUIS Container Реестр контейнеров, имя репозитория или образаContainer Registry / Repository / Image Name
LUISLUIS mcr.microsoft.com/azure-cognitive-services/luis

Дополнительные сведения см. в разделе Запуск и установка контейнеров Luis .See How to run and install LUIS containers for more information.

Общедоступная Предварительная версия (реестр контейнеров: mcr.microsoft.com )Public "Ungated" preview (container registry: mcr.microsoft.com)

Следующие предварительные версии контейнеров доступны в общем доступе.The following preview containers are available publicly. В реестре контейнеров (Майкрософт) (мкр) опубликованы все общедоступные неусловные контейнеры для Cognitive Services.The Microsoft Container Registry (MCR) syndicates all of the publicly available ungated containers for Cognitive Services. Контейнеры также доступны непосредственно из центра DOCKER.The containers are also available directly from the Docker hub.

СлужбаService КонтейнерContainer Реестр контейнеров, имя репозитория или образаContainer Registry / Repository / Image Name
Анализ текстаText Analytics Извлечение ключевых фразKey Phrase Extraction mcr.microsoft.com/azure-cognitive-services/keyphrase
Анализ текстаText Analytics Распознавание языкаLanguage Detection mcr.microsoft.com/azure-cognitive-services/language
Детектор аномалийAnomaly detector Детектор аномалийAnomaly Detector mcr.microsoft.com/azure-cognitive-services/anomaly-detector

Общедоступная Предварительная версия (реестр контейнеров: containerpreview.azurecr.io )Public "Gated" preview (container registry: containerpreview.azurecr.io)

Следующие контейнеры с условным просмотром размещаются в реестре предварительной версии контейнера и должны иметь доступ к приложению.The following gated preview containers are hosted on the Container Preview registry, and require an application to access. Дополнительные сведения см. в следующих статьях о контейнерах.See the following container articles for more information.

СлужбаService КонтейнерContainer Реестр контейнеров, имя репозитория или образаContainer Registry / Repository / Image Name
Компьютерное зрениеComputer Vision ЧтениеRead containerpreview.azurecr.io/microsoft/cognitive-services-read
Распознавание лицFace Распознавание лицFace containerpreview.azurecr.io/microsoft/cognitive-services-face
Распознаватель формForm recognizer Распознаватель документовForm Recognizer containerpreview.azurecr.io/microsoft/cognitive-services-form-recognizer
API службы "Речь"Speech Service API Преобразование речи в текстSpeech-to-text containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text
API службы "Речь"Speech Service API Пользовательское распознавание речи к текстуCustom Speech-to-text containerpreview.azurecr.io/microsoft/cognitive-services-custom-speech-to-text
API службы "Речь"Speech Service API Преобразование текста в речьText-to-speech containerpreview.azurecr.io/microsoft/cognitive-services-text-to-speech
API службы "Речь"Speech Service API Пользовательский текст в речьCustom Text-to-speech containerpreview.azurecr.io/microsoft/cognitive-services-custom-text-to-speech

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

Прежде чем использовать контейнеры Azure Cognitive Services, необходимо выполнить указанные ниже предварительные требования.You must satisfy the following prerequisites before using Azure Cognitive Services containers:

Модуль Docker. Модуль Docker нужно установить в локальной среде.Docker Engine: You must have Docker Engine installed locally. Docker предоставляет пакеты для настройки среды с Docker для macOS, Linux и Windows.Docker provides packages that configure the Docker environment on macOS, Linux, and Windows. В Windows Docker нужно настроить для поддержки контейнеров Linux.On Windows, Docker must be configured to support Linux containers. Контейнеры Docker можно также развертывать непосредственно в Службе Azure Kubernetes или Экземплярах контейнеров Azure.Docker containers can also be deployed directly to Azure Kubernetes Service or Azure Container Instances.

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

Опыт работы с Реестром контейнеров Майкрософт и Docker. Требуется базовое представление о Реестре контейнеров Майкрософт и понятиях Docker, таких как реестры, репозитории, контейнеры и образы контейнеров, а также знание основных команд docker.Familiarity with Microsoft Container Registry and Docker: You should have a basic understanding of both Microsoft Container Registry and Docker concepts, like registries, repositories, containers, and container images, as well as knowledge of basic docker commands.

Ознакомьтесь с общими сведениями о Docker и контейнерах.For a primer on Docker and container basics, see the Docker overview.

Для некоторых контейнеров могут действовать дополнительные требования, в том числе к характеристикам сервера и (или) объему памяти.Individual containers can have their own requirements, as well, including server and memory allocation requirements.

Безопасность контейнера Cognitive Services AzureAzure Cognitive Services container security

Безопасность должна быть основной задачей при разработке приложений.Security should be a primary focus whenever you're developing applications. Важность безопасности является метрикой успеха.The importance of security is a metric for success. При проектировании программного решения, включающего Cognitive Services контейнеры, крайне важно понимать ограничения и возможности, доступные вам.When you're architecting a software solution that includes Cognitive Services containers, it's vital to understand the limitations and capabilities available to you. Дополнительные сведения о сетевой безопасности см. в статье Настройка виртуальных сетей Azure Cognitive Services.For more information about network security, see Configure Azure Cognitive Services virtual networks.

Важно!

По умолчанию в API контейнера Cognitive Services нет безопасности .By default there is no security on the Cognitive Services container API. Это связано с тем, что чаще всего контейнер будет работать как часть Pod, которая защищена извне сетевым мостом.The reason for this is that most often the container will run as part of a pod which is protected from the outside by a network bridge. Однако можно включить проверку подлинности, которая работает аналогично проверке подлинности, используемой при доступе к облачной Cognitive Services.However, it is possible to enable authentication which works identically to the authentication used when accessing the cloud-based Cognitive Services.

На схеме ниже показан подход по умолчанию и небезопасный метод.The diagram below illustrates the default and non-secure approach:

Безопасность контейнера

В качестве альтернативного и безопасного подхода потребители Cognitive Services контейнеры могут расширить контейнер с интерфейсным компонентом, сохранив конечную точку контейнера закрытой.As an alternative and secure approach, consumers of Cognitive Services containers could augment a container with a front-facing component, keeping the container endpoint private. Рассмотрим ситуацию, когда мы используем Istio в качестве входящего шлюза.Let's consider a scenario where we use Istio as an ingress gateway. Istio поддерживает HTTPS/TLS и проверку подлинности на основе сертификата клиента.Istio supports HTTPS/TLS and client-certificate authentication. В этом сценарии интерфейс Istio предоставляет доступ к контейнеру, представляя сертификат клиента, список разрешений заранее с Istio.In this scenario, the Istio frontend exposes the container access, presenting the client certificate that is whitelisted beforehand with Istio.

Nginx — это еще один популярный вариант в той же категории.Nginx is another popular choice in the same category. Как Istio, так и nginx выступают в качестве сетки службы и предлагают дополнительные функции, такие как балансировка нагрузки, маршрутизация и контроль скорости.Both Istio and Nginx act as a service mesh and offer additional features including things like load-balancing, routing, and rate-control.

Работа с контейнерами в сетиContainer networking

Контейнеры Cognitive Services необходимы для отправки сведений о метриках в целях выставления счетов.The Cognitive Services containers are required to submit metering information for billing purposes. Единственным исключением является автономные контейнеры , которые следуют за другой методологией выставления счетов.The only exception, is Offline containers as they follow a different billing methodology. Если не разрешить перечисление различных сетевых каналов, от которых зависит контейнер Cognitive Services, не позволит контейнеру работать.Failure to allow list various network channels that the Cognitive Services containers rely on will prevent the container from working.

Разрешить список доменов и портов Cognitive ServicesAllow list Cognitive Services domains and ports

Узел должен разрешить порты 443 и следующие домены:The host should allow list port 443 and the following domains:

  • *.cognitive.microsoft.com
  • *.cognitiveservices.azure.com

Отключение глубокой проверки пакетовDisable deep packet inspection

Глубокая проверка пакетов (DPI) — это тип обработки данных, который подробно анализирует данные, передаваемые по компьютерной сети, и обычно выполняет действия путем блокировки, повторной маршрутизации или ведения журнала.Deep packet inspection (DPI) is a type of data processing that inspects in detail the data being sent over a computer network, and usually takes action by blocking, re-routing, or logging it accordingly.

Отключите DPI на защищенных каналах, которые контейнеры Cognitive Services создают на серверах Майкрософт.Disable DPI on the secure channels that the Cognitive Services containers create to Microsoft servers. В противном случае контейнер будет некорректно работать.Failure to do so will prevent the container from functioning correctly.

Записи блога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

Дальнейшие действияNext steps

Узнайте о рецептах контейнеров , которые можно использовать с Cognitive Services.Learn about container recipes you can use with the Cognitive Services.

Установите и изучите функциональные возможности, предоставляемые контейнерами в Azure Cognitive Services:Install and explore the functionality provided by containers in Azure Cognitive Services: