Prise en charge des conteneurs dans Azure Cognitive ServicesContainer support in Azure Cognitive Services

La prise en charge des conteneurs dans Azure Cognitive Services permet aux développeurs d’utiliser les mêmes API riches que celles disponibles dans Azure, et permet une flexibilité sur l’emplacement de déploiement et de stockage des services fournis avec les conteneurs 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. La prise en charge des conteneurs est désormais disponible en préversion pour quelques solutions Azure Cognitive Services, dont des composants de :Container support is currently available in preview for a subset of Azure Cognitive Services, including parts of:

La mise en conteneur est une méthode de distribution de logiciels dans laquelle une application ou un service, y compris les dépendances et la configuration, est packagé en tant qu’image conteneur.Containerization is an approach to software distribution in which an application or service, including its dependencies & configuration, is packaged together as a container image. L’image conteneur peut être déployée sur un hôte conteneur avec peu ou pas de modifications.With little or no modification, a container image can be deployed on a container host. Les conteneurs sont isolés les uns des autres et l’encombrement du système d’exploitation sous-jacent est inférieur à celui d’une machine virtuelle.Containers are isolated from each other and the underlying operating system, with a smaller footprint than a virtual machine. Vous pouvez instancier des conteneurs à partir d’images conteneurs pour les tâches à court terme et les supprimer quand vous n’en avez plus besoin.Containers can be instantiated from container images for short-term tasks, and removed when no longer needed.

Les ressources Cognitive Services sont disponibles sur Microsoft Azure.Cognitive Services resources are available on Microsoft Azure. Connectez-vous au portail Azure pour créer et explorer les ressources Azure pour ces services.Sign into the Azure portal to create and explore Azure resources for these services.

Fonctionnalités et avantagesFeatures and benefits

  • Contrôle des données : permettre aux clients de choisir où ces services Cognitive Services traitent leurs données.Control over data: Allow customers to choose where these Cognitive Services process their data. Ceci est essentiel pour les clients qui ne peut pas envoyer les données dans le cloud mais ont besoin d’accéder à la technologie de Cognitive Services.This is essential for customers that cannot send data to the cloud but need access to Cognitive Services technology. Cohérence de la prise en charge dans les environnements hybrides : entre les données, la gestion, l’identité et la sécurité.Support consistency in hybrid environments – across data, management, identity, and security.
  • Contrôle des mises à jour du modèle : Fournir aux clients une flexibilité dans le contrôle de version et la mise à jour des modèles déployés dans leurs solutions.Control over model updates: Provide customers flexibility in versioning and updating of models deployed in their solutions.
  • Architecture portable : Permettre la création d’une architecture d’application portable qui peut être déployée dans le cloud, localement et en périphérie.Portable architecture: Enable the creation of a portable application architecture that can be deployed on Azure, on-premises and the edge. Les conteneurs peuvent être déployés directement sur Azure Kubernetes Service, sur Azure Container Instances ou sur un cluster Kubernetes déployé sur Azure Stack.Containers can be deployed directly to Azure Kubernetes Service, Azure Container Instances, or to a Kubernetes cluster deployed to Azure Stack. Pour plus d’informations, consultez Déployer Kubernetes sur Azure Stack.For more information, see Deploy Kubernetes to Azure Stack.
  • Débit élevé / faible latence : fournir aux clients la possibilité de mettre à l’échelle pour des exigences de débit élevé et de faible latence en permettant l’exécution de Cognitive Services physiquement proche de leur logique d’application et de leurs données.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. Les conteneurs ne limitent pas les transactions par seconde (TPS) et peuvent être configurés pour effectuer un scale-up ou un scale-out afin de gérer la demande si vous fournissez les ressources matérielles nécessaires.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.

Conteneurs dans Azure Cognitive ServicesContainers in Azure Cognitive Services

Les conteneurs Azure Cognitive Services fournissent l’ensemble suivant de conteneurs Docker, chacun contenant un sous-ensemble de fonctionnalités à partir de services dans 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:

de diffusion en continuService Niveau tarifaire pris en chargeSupported Pricing Tier ConteneurContainer DescriptionDescription
Détecteur d’anomaliesAnomaly detector F0, S0F0, S0 Détecteur d’anomaliesAnomaly-Detector L’API Détecteur d’anomalies vous permet de surveiller et de détecter des anomalies dans vos données de série chronologique grâce à l’apprentissage automatique.The Anomaly Detector API enables you to monitor and detect abnormalities in your time series data with machine learning.
Demander l’accèsRequest access
Vision par ordinateurComputer Vision F0, S1F0, S1 Reconnaître le texteRecognize Text Extraire un texte imprimé à partir d’images d’objets divers avec différents arrière-plans et surfaces, tels que des reçus, des affiches et des cartes de visite.Extracts printed text from images of various objects with different surfaces and backgrounds, such as receipts, posters, and business cards.

Important : Le conteneur Reconnaître le texte ne fonctionne qu’en anglais pour le moment.Important: The Recognize Text container currently works only with English.
Demander l’accèsRequest access
VisageFace F0, S0F0, S0 VisageFace Détecter les visages humains sur des images et identifier les attributs, y compris les caractéristiques (par exemple, le nez et les yeux), le sexe, l’âge et d’autres caractéristiques du visage prévues par la machine.Detects human faces in images, and identifies attributes, including face landmarks (such as noses and eyes), gender, age, and other machine-predicted facial features. En plus de la détection, le conteneur Visage peut vérifier si deux visages sur la même image ou sur des images différentes sont identiques à l’aide d’un score de confiance, ou de comparer des visages par rapport à une base de données pour voir si un visage similaire ou identique existe déjà.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. Il peut également regrouper des visages similaires à l’aide de caractéristiques visuelles partagées.It can also organize similar faces into groups, using shared visual traits.
Demander l’accèsRequest access
Form RecognizerForm recognizer F0, S0F0, S0 Form RecognizerForm Recognizer Form Understanding applique la technologie de Machine Learning pour identifier et extraire des tables et des paires clé-valeur à partir de formulaires.Form Understanding applies machine learning technology to identify and extract key-value pairs and tables from forms.
Demander l’accèsRequest access
LUISLUIS F0, S0F0, S0 LUIS (image)LUIS (image) Charge un modèle Language Understanding entraîné ou publié, également connu sous le nom d’application LUIS, dans un conteneur docker et fournit l’accès aux prédictions de requête à partir des points de terminaison d’API du conteneur.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. Vous pouvez collecter les journaux d’activité de requêtes du conteneur et les charger sur le portail LUIS pour améliorer la précision de prédiction de l’application.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 ServiceSpeech Service API F0, S0F0, S0 Reconnaissance vocaleSpeech-to-text Retranscrit une voix en un texte de façon continue et en temps réel.Transcribes continuous real-time speech into text.
Demander l’accèsRequest access
API Speech ServiceSpeech Service API F0, S0F0, S0 Synthèse vocaleText-to-speech Convertit le texte en paroles naturelles.Converts text to natural-sounding speech.
Demander l’accèsRequest access
Analyse de texteText Analytics F0, SF0, S Extraction de phrases clés (image)Key Phrase Extraction (image) Extraire des expressions clés pour identifier les points principaux.Extracts key phrases to identify the main points. Par exemple, pour le texte d’entrée « Le repas était délicieux et le personnel adorable », l’API renvoie les principaux points de discussion : « repas » et « personnel adorable ».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".
Analyse de texteText Analytics F0, SF0, S Détection de la langue (image)Language Detection (image) Détecter la langue (parmi 120 langues maximum) dans laquelle le texte d’entrée est rédigé et générer un code de langue unique pour chaque document envoyé dans la demande.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. Le code de langue est associé à un score indiquant la puissance de l’analyse.The language code is paired with a score indicating the strength of the score.
Analyse de texteText Analytics F0, SF0, S Analyse des sentiments (image)Sentiment Analysis (image) Analyser le texte brut pour obtenir des indices sur un sentiment positif ou négatif.Analyzes raw text for clues about positive or negative sentiment. Cette API renvoie un score de sentiment de 0 à 1 pour chaque document, où 1 correspond au sentiment le plus positif.This API returns a sentiment score between 0 and 1 for each document, where 1 is the most positive. Les modèles d’analyse sont préformés à l’aide d’un corps complet de technologies de texte et de Langage naturel de Microsoft.The analysis models are pre-trained using an extensive body of text and natural language technologies from Microsoft. Pour les langues sélectionnées, l’API peut analyser tout texte brut que vous fournissez, lui attribuer un score, et renvoyer directement les résultats à l’application appelante.For selected languages, the API can analyze and score any raw text that you provide, directly returning results to the calling application.

Certains conteneurs sont également pris en charge dans des clés de ressources Cognitive Services d’offre tout-en-un.In addition, some containers are supported in Cognitive Services All-In-One offering resource keys. Vous pouvez créer une ressource Cognitive Services tout-en-un et utiliser la même clé de facturation entre les services pris en charge pour les services suivants :You can create one single Cognitive Services All-In-One resource and use the same billing key across supported services for the following services:

  • Vision par ordinateurComputer Vision
  • FaceFace
  • LUISLUIS
  • Analyse de texteText Analytics

Disponibilité des conteneurs dans Azure Cognitive ServicesContainer availability in Azure Cognitive Services

Les conteneurs Azure Cognitive Services sont accessibles publiquement via votre abonnement Azure, et les images conteneur Docker peuvent être extraites à partir de Microsoft Container Registry ou de 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. Vous pouvez utiliser la commande docker pull pour télécharger une image conteneur à partir du référentiel approprié.You can use the docker pull command to download a container image from the appropriate registry.

Important

Actuellement, vous devez effectuer un processus d’inscription pour accéder aux conteneurs suivants, dans laquelle vous remplissez et soumettez un questionnaire comportant des questions sur vous, votre entreprise et le cas d’utilisation pour lequel vous souhaitez implémenter les conteneurs.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. Une fois que l’accès et des informations d’identification vous sont fournis, vous pouvez alors extraire les images conteneur à partir d’un Registre de conteneurs privé hébergé par Azure Container Registry.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.

Images et référentiels de conteneursContainer repositories and images

Les tableaux ci-dessous sont une liste complète des images de conteneur offertes par Azure Cognitive Services.The tables below are a comprehensive listing of the available container images offered by Azure Cognitive Services.

Public « non contrôlé » (registre de conteneurs : mcr.microsoft.com)Public "Ungated" (container registry: mcr.microsoft.com)

Le Registre de conteneurs Microsoft héberge tous les conteneurs « non contrôlés » disponibles publiquement pour Cognitive Services.The Microsoft Container Registry hosts all of the publicly available "ungated" containers for Cognitive Services.

de diffusion en continuService ConteneurContainer Nom de registre de conteneurs / référentiel / imageContainer Registry / Repository / Image Name
LUISLUIS LUISLUIS mcr.microsoft.com/azure-cognitive-services/luis
Analyse de texteText Analytics Extraction d’expressions clésKey Phrase Extraction mcr.microsoft.com/azure-cognitive-services/keyphrase
Analyse de texteText Analytics Détection de la langueLanguage Detection mcr.microsoft.com/azure-cognitive-services/language
Analyse de texteText Analytics Analyse des sentimentsSentiment Analysis mcr.microsoft.com/azure-cognitive-services/sentiment

Préversion « contrôlée » publique (registre de conteneurs : containerpreview.azurecr.io)Public "Gated" Preview (container registry: containerpreview.azurecr.io)

Le registre des conteneurs en préversion héberge tous les conteneurs « contrôlés » disponibles publiquement pour Cognitive Services.The Container Preview registry hosts all of the publicly available "gated" containers for Cognitive Services. Ces conteneurs doivent faire l’objet d’une demande formelle d’accès pour pouvoir être utilisés.These containers require a formal request for access in order to consume them.

de diffusion en continuService ConteneurContainer Nom de registre de conteneurs / référentiel / imageContainer Registry / Repository / Image Name
Détecteur d’anomaliesAnomaly detector Le détecteur d’anomaliesAnomaly Detector containerpreview.azurecr.io/microsoft/cognitive-services-anomaly-detector
Vision par ordinateurComputer Vision Reconnaître le texteRecognize Text containerpreview.azurecr.io/microsoft/cognitive-services-recognize-text
VisageFace FaceFace containerpreview.azurecr.io/microsoft/cognitive-services-face
Form recognizerForm recognizer Form RecognizerForm Recognizer containerpreview.azurecr.io/microsoft/cognitive-services-form-recognizer
API Speech ServiceSpeech Service API Reconnaissance vocaleSpeech-to-text containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text
API Speech ServiceSpeech Service API Synthèse vocaleText-to-speech containerpreview.azurecr.io/microsoft/cognitive-services-text-to-speech

PrérequisPrerequisites

Vous devez respecter les prérequis suivants avant d’utiliser des conteneurs Azure Cognitive Services :You must satisfy the following prerequisites before using Azure Cognitive Services containers:

Moteur Docker : le moteur Docker doit être installé localement.Docker Engine: You must have Docker Engine installed locally. Docker fournit des packages qui configurent l’environnement Docker sur macOS, Linux et Windows.Docker provides packages that configure the Docker environment on macOS, Linux, and Windows. Sur Windows, Docker doit être configuré pour prendre en charge les conteneurs Linux.On Windows, Docker must be configured to support Linux containers. Les conteneurs Docker peuvent également être déployés directement sur Azure Kubernetes Service ou sur Azure Container Instances.Docker containers can also be deployed directly to Azure Kubernetes Service or Azure Container Instances.

Vous devez configurer Docker pour permettre aux conteneurs de se connecter à Azure et de lui envoyer des données de facturation.Docker must be configured to allow the containers to connect with and send billing data to Azure.

Connaissance de Microsoft Container Registry et de Docker : vous devez avoir une compréhension élémentaire des concepts de Microsoft Container Registry et de Docker, notamment les registres, dépôts, conteneurs et images conteneur, ainsi qu’une maîtrise des commandes docker de base.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.

Pour apprendre les principes de base de Docker et des conteneurs, consultez la vue d’ensemble de Docker.For a primer on Docker and container basics, see the Docker overview.

Les conteneurs individuels peuvent aussi avoir leurs propres exigences, notamment sur le serveur et l’allocation de mémoire.Individual containers can have their own requirements, as well, including server and memory allocation requirements.

Azure Cognitive Services container security

Security should be a primary focus whenever you're developing applications. The importance of security is a metric for success. When you're architecting a software solution that includes Cognitive Services containers, it's vital to understand the limitations and capabilities available to you. For more information, see Azure Security.

Important

By default there is no security on the Cognitive Services container API. 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. 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 insecure approach:

Container security

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. Let's consider a scenario where we use Istio as an ingress gateway. Istio supports HTTPS/SSL and client-certificate authentication. In this scenario, the Istio frontend exposes the container access, presenting the client certificate that is whitelisted beforehand with Istio.

Nginx is another popular choice in the same category. Both Istio and Nginx act as a service mesh and offer additional features including things like load-balancing, routing, and rate-control.

Container networking

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. Failure to allow list various network channels that the Cognitive Services containers rely on will prevent the container from working.

Allow list Cognitive Services domains and ports

The host should allow list port 443 and the following domains:

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

Disable deep packet inspection

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.

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.

Billets de blog :Blog posts

Exemples de développementDeveloper samples

Des exemples de développement sont disponibles sur notre dépôt GitHub.Developer samples are available at our GitHub repository.

Voir le webinaireView webinar

Rejoignez le webinaire pour savoir :Join the webinar to learn about:

  • Comment déployer Cognitive Services sur une machine à l’aide de DockerHow to deploy Cognitive Services to any machine using Docker
  • Comment déployer Cognitive Services sur AKSHow to deploy Cognitive Services to AKS

Étapes suivantesNext steps

En savoir plus sur les recettes de conteneur que vous pouvez utiliser avec Cognitive Services.Learn about container recipes you can use with the Cognitive Services.

Installer et explorer les fonctionnalités fournies par les conteneurs dans Azure Cognitive Services :Install and explore the functionality provided by containers in Azure Cognitive Services: