Поддержка контейнеров в 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 in preview 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

  • Контроль над данными. Позвольте клиентам выбирать, где 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.

Контейнеры в 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.
Запрос доступаRequest access
Компьютерное зрениеComputer Vision F0, S1F0, S1 Распознавание текстаRecognize Text Извлекает печатный текст из изображений различных объектов с разными поверхностями и фонами, например чеков, плакатов и визитных карточек.Extracts printed text from images of various objects with different surfaces and backgrounds, such as receipts, posters, and business cards.

Важно! Контейнер распознавания текста в настоящее время работает только на английском языке.Important: The Recognize Text container currently works only with English.
Запрос доступаRequest access
Распознавание лиц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. Кроме обнаружения лиц, служба может сравнивать два лица на одном или на разных изображениях, используя оценку достоверности, а также искать по базе данных похожие или идентичные лица.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.
Запрос доступаRequest access
API службы "Речь"Speech Service API F0, S0F0, S0 Преобразование текста в речьText-to-speech Преобразует текст в естественно звучащую речь.Converts text to natural-sounding speech.
Запрос доступаRequest access
Анализ текста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 Анализ тональности (изображение)Sentiment Analysis (image) Анализирует необработанный текст на предмет положительной или отрицательной тональности.Analyzes raw text for clues about positive or negative sentiment. Этот API возвращает оценку тональности (0 или 1) для каждого документа, где 1 означает положительную тональность.This API returns a sentiment score between 0 and 1 for each document, where 1 is the most positive. Модели анализа предварительно обучены с использованием обширного набора текстов и технологий естественного языка корпорации Майкрософт.The analysis models are pre-trained using an extensive body of text and natural language technologies from Microsoft. Для выбранных языков API может анализировать и оценивать любой необработанный текст, напрямую возвращая результаты вызывающему приложению.For selected languages, the API can analyze and score any raw text that you provide, directly returning results to the calling application.

Кроме того, некоторые контейнеры поддерживаются 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.

Важно!

В настоящее время необходимо завершить процесс регистрации для доступа к следующим контейнерам, в которых вы заполните и отправите анкету с вопросами о вас, вашей компании и варианте использования, для которого требуется реализовать контейнеры.Currently, you must complete a sign-up process to access the following containers, in which you fill out and submit a questionnaire with questions about you, your company, and the use case for which you want to implement the containers. После предоставления доступа и предоставленных учетных данных можно извлечь образы контейнеров из закрытого реестра контейнеров, размещенного в реестре контейнеров Azure.Once you're granted access and provided credentials, you can then pull the container images from a private container registry hosted by Azure Container Registry.

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

В таблицах ниже приведен полный список доступных образов контейнеров, предлагаемых Cognitive Services Azure.The tables below are a comprehensive listing of the available container images offered by Azure Cognitive Services.

Открытый "неусловный" (реестр контейнеров: mcr.microsoft.com)Public "Ungated" (container registry: mcr.microsoft.com)

В реестре контейнеров Microsoft размещены все общедоступные контейнеры с неконтролируемыми разворотами для Cognitive Services.The Microsoft Container Registry hosts all of the publicly available "ungated" containers for Cognitive Services.

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

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

В реестре предварительного просмотра контейнера размещаются все общедоступные контейнеры с проверкой поCognitive Services.The Container Preview registry hosts all of the publicly available "gated" containers for Cognitive Services. Эти контейнеры требуют формального запроса доступа, чтобы их можно было использовать.These containers require a formal request for access in order to consume them.

СлужбаService КонтейнерContainer Реестр контейнеров, имя репозитория или образаContainer Registry / Repository / Image Name
Детектор аномалийAnomaly detector Детектор аномалийAnomaly Detector containerpreview.azurecr.io/microsoft/cognitive-services-anomaly-detector
Компьютерное зрениеComputer Vision Распознавание текстаRecognize Text containerpreview.azurecr.io/microsoft/cognitive-services-recognize-text
Компьютерное зрение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 Преобразование текста в речьText-to-speech containerpreview.azurecr.io/microsoft/cognitive-services-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.For more information, see Azure Security.

Важно!

По умолчанию в 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/SSL и Client-Certificate.Istio supports HTTPS/SSL 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: