Installer et exécuter des conteneurs de service SpeechInstall and run Speech Service containers

Les conteneurs vous permettent d’exécuter certaines des API du service Speech dans votre propre environnement.Containers enable you to run some of the Speech Service APIs in your own environment. Les conteneurs conviennent particulièrement bien à certaines exigences de sécurité et de gouvernance des données.Containers are great for specific security and data governance requirements. Dans cet article, vous allez apprendre à télécharger, installer et exécuter un conteneur Speech.In this article you'll learn how to download, install, and run a Speech container.

Les conteneurs Speech permettent aux clients de créer une architecture d’application Speech optimisée pour tirer parti des fonctionnalités robustes du cloud et de la localité en périphérie.Speech containers enable customers to build a speech application architecture that is optimized for both robust cloud capabilities and edge locality. Quatre conteneurs différents sont disponibles.There are four different containers available. Les deux conteneurs standard sont Reconnaissance vocale et Synthèse vocale.The two standard containers are Speech-to-text and Text-to-speech. Les deux conteneurs personnalisés sont Reconnaissance vocale personnalisée et Synthèse vocale personnalisée.The two custom containers are Custom Speech-to-text and Custom Text-to-speech.

Important

Tous les conteneurs Speech sont actuellement proposés dans le cadre d’une préversion « contingentée » publique.All speech containers are currently offered as part of a Public "Gated" Preview. Une annonce sera effectuée quand les conteneurs Speech passeront en disponibilité générale.An announcement will be made when speech containers progress to General Availability (GA).

FonctionFunction CaractéristiquesFeatures LatestLatest
Reconnaissance vocaleSpeech-to-text Transcrit en continu de la parole en temps réel ou des enregistrements audio en texte, avec des résultats intermédiaires.Transcribes continuous real-time speech or batch audio recordings into text with intermediate results. 2.0.02.0.0
Reconnaissance vocale personnaliséeCustom Speech-to-text À l’aide d’un modèle personnalisé issu du portail Custom Speech, transcrit en continu de la parole en temps réel ou des enregistrements audio en texte, avec des résultats intermédiaires.Using a custom model from the Custom Speech portal, transcribes continuous real-time speech or batch audio recordings into text with intermediate results. 2.0.02.0.0
Synthèse vocaleText-to-speech Convertit le texte en paroles naturelles par le biais d’une entrée de texte brut ou du langage de balisage SSML (Speech Synthesis Markup Language).Converts text to natural-sounding speech with plain text input or Speech Synthesis Markup Language (SSML). 1.3.01.3.0
Synthèse vocale personnaliséeCustom Text-to-speech À l’aide d’un modèle personnalisé issu du portail Custom Voice, convertit le texte en paroles naturelles par le biais d’une entrée de texte brut ou du langage de balisage SSML (Speech Synthesis Markup Language).Using a custom model from the Custom Voice portal, converts text to natural-sounding speech with plain text input or Speech Synthesis Markup Language (SSML). 1.3.01.3.0

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.If you don't have an Azure subscription, create a free account before you begin.

PrérequisPrerequisites

L’utilisation des conteneurs Speech est soumise aux prérequis suivants :The following prerequisites before using Speech containers:

ObligatoireRequired ObjectifPurpose
Moteur DockerDocker Engine Vous avez besoin d’un moteur Docker installé sur un ordinateur hôte.You need the Docker Engine installed on a host computer. Docker fournit des packages qui configurent l’environnement Docker sur macOS, Windows et Linux.Docker provides packages that configure the Docker environment on macOS, Windows, and Linux. 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.

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.

Sur Windows, vous devez également configurer Docker pour prendre en charge les conteneurs Linux.On Windows, Docker must also be configured to support Linux containers.

Bonne connaissance de DockerFamiliarity with Docker Vous devez avoir une compréhension élémentaire des concepts Docker, notamment les registres, référentiels, conteneurs et images conteneurs, ainsi qu’une maîtrise des commandes docker de base.You should have a basic understanding of Docker concepts, like registries, repositories, containers, and container images, as well as knowledge of basic docker commands.
Ressource SpeechSpeech resource Pour pouvoir utiliser ces conteneurs, vous devez avoir :In order to use these containers, you must have:

Une ressource Speech d’Azure afin d’obtenir la clé API et l’URI du point de terminaison associés.An Azure Speech resource to get the associated API key and endpoint URI. Les deux valeurs sont disponibles sur les pages Vue d’ensemble et Clés de la ressource Speech du portail Azure.Both values are available on the Azure portal's Speech Overview and Keys pages. Elles sont nécessaires au démarrage du conteneur.They are both required to start the container.

{API_KEY}  : L’une des deux clés de ressource disponibles à la page Clés{API_KEY}: One of the two available resource keys on the Keys page

{ENDPOINT_URI}  : le point de terminaison tel qu'il est fourni à la page Vue d’ensemble{ENDPOINT_URI}: The endpoint as provided on the Overview page

Demander l’accès au registre de conteneursRequest access to the container registry

Complétez et envoyez le formulaire de demande de conteneurs Cognitive Services Speech pour demander l’accès au conteneur.Fill out and submit the Cognitive Services Speech Containers Request form to request access to the container.

Le formulaire demande des informations sur vous, votre entreprise et le scénario d’utilisateur pour lequel vous allez utiliser le conteneur.The form requests information about you, your company, and the user scenario for which you'll use the container. Une fois que vous avez envoyé le formulaire, l’équipe Azure Cognitive Services vérifie que vous remplissez bien les critères d’accès au registre de conteneurs privé.After you've submitted the form, the Azure Cognitive Services team reviews it to ensure that you meet the criteria for access to the private container registry.

Important

Vous devez utiliser une adresse e-mail associée à un compte Microsoft (MSA) ou à un compte Azure Active Directory (Azure AD) dans le formulaire.You must use an email address that's associated with either a Microsoft Account (MSA) or Azure Active Directory (Azure AD) account in the form.

Si votre demande est approuvée, vous recevrez un e-mail contenant des instructions relatives à l’obtention de vos informations d’identification et à l’accès au registre de conteneurs privé.If your request is approved, you'll receive an email with instructions that describe how to obtain your credentials and access the private container registry.

Utiliser l’interface CLI Docker pour authentifier le registre de conteneurs privéUse the Docker CLI to authenticate the private container registry

Vous pouvez vous authentifier auprès du registre de conteneurs privé pour les conteneurs Cognitive Services de plusieurs façons, mais la méthode recommandée à partir de la ligne de commande est l’utilisation de l’interface CLI Docker.You can authenticate with the private container registry for Cognitive Services Containers in any of several ways, but the recommended method from the command line is to use the Docker CLI.

Utilisez la commande docker login, comme indiqué dans l’exemple suivant, pour vous connecter à containerpreview.azurecr.io, le registre de conteneurs privé pour les conteneurs Cognitive Services.Use the docker login command, as shown in the following example, to log in to containerpreview.azurecr.io, the private container registry for Cognitive Services Containers. Remplacez <username> par le nom de l’utilisateur et <password> par le mot de passe fourni dans les informations d’identification envoyées par l’équipe Azure Cognitive Services.Replace <username> with the user name and <password> with the password that's provided in the credentials you received from the Azure Cognitive Services team.

docker login containerpreview.azurecr.io -u <username> -p <password>

Si vous avez sécurisé vos informations d’identification dans un fichier texte, vous pouvez utiliser la commande cat pour concaténer son contenu à la commande docker login, comme indiqué dans l’exemple suivant.If you've secured your credentials in a text file, you can concatenate the contents of that text file, by using the cat command, to the docker login command, as shown in the following example. Remplacez <passwordFile> par le chemin et le nom du fichier texte qui contient le mot de passe, et <username> par le nom d’utilisateur fourni dans vos informations d’identification.Replace <passwordFile> with the path and name of the text file that contains the password and <username> with the user name that's provided in your credentials.

cat <passwordFile> | docker login containerpreview.azurecr.io -u <username> --password-stdin

Collecte des paramètres requisGathering required parameters

Il existe trois paramètres principaux pour tous les conteneurs de Cognitive Services requis.There are three primary parameters for all Cognitive Services' containers that are required. Le contrat de licence utilisateur final (CLUF) doit être présent avec une valeur de accept.The end-user license agreement (EULA) must be present with a value of accept. En outre, une URL de point de terminaison et une clé API sont nécessaires.Additionally, both an Endpoint URL and API Key are needed.

URL du point de terminaison {ENDPOINT_URI}Endpoint URI {ENDPOINT_URI}

La valeur URI du point de terminaison est disponible sur la page Vue d’ensemble du portail Azure de la ressource Cognitive Service correspondante.The Endpoint URI value is available on the Azure portal Overview page of the corresponding Cognitive Service resource. Accédez à la page Vue d’ensemble, pointez sur le point de terminaison et une icône Copy to clipboard s’affiche.Navigate to the Overview page, hover over the Endpoint, and a Copy to clipboard icon will appear. Copiez et utilisez si nécessaire.Copy and use where needed.

Collecter l’URI de point de terminaison pour une utilisation ultérieure

Clés {API_KEY}Keys {API_KEY}

Cette clé est utilisée pour démarrer le conteneur et est disponible sur la page Clés de la ressource Cognitive Service correspondante sur le portail Azure.This key is used to start the container, and is available on the Azure portal's Keys page of the corresponding Cognitive Service resource. Accédez à la page Clés, puis cliquez sur l’icône Copy to clipboard .Navigate to the Keys page, and click on the Copy to clipboard icon.

Obtenir l’une des deux clés pour une utilisation ultérieure

Important

Ces clés d’abonnement sont utilisées pour accéder à votre API Cognitive Service.These subscription keys are used to access your Cognitive Service API. Ne partagez pas vos clés.Do not share your keys. Stockez-les en toute sécurité, par exemple, à l’aide de Azure Key Vault.Store them securely, for example, using Azure Key Vault. Nous vous recommandons également de régénérer ces clés régulièrement.We also recommend regenerating these keys regularly. Une seule clé est nécessaire pour effectuer un appel d’API.Only one key is necessary to make an API call. Lors de la régénération de la première clé, vous pouvez utiliser la deuxième clé pour un accès continu au service.When regenerating the first key, you can use the second key for continued access to the service.

L’ordinateur hôteThe host computer

L’hôte est un ordinateur x64 qui exécute le conteneur Docker.The host is a x64-based computer that runs the Docker container. Il peut s’agir d’un ordinateur local ou d’un service d’hébergement Docker dans Azure, comme :It can be a computer on your premises or a Docker hosting service in Azure, such as:

Prise en charge d’Advanced Vector ExtensionAdvanced Vector Extension support

L’hôte est l’ordinateur qui exécute le conteneur docker.The host is the computer that runs the docker container. L’hôte doit prendre en charge Advanced Vector Extensions (AVX2).The host must support Advanced Vector Extensions (AVX2). Vous pouvez vérifier cette prise en charge AVX2 sur les hôtes Linux avec la commande suivante :You can check for AVX2 support on Linux hosts with the following command:

grep -q avx2 /proc/cpuinfo && echo AVX2 supported || echo No AVX2 support detected

Avertissement

L’ordinateur hôte doit obligatoirement prendre en charge AVX2.The host computer is required to support AVX2. Le conteneur ne fonctionnera pas correctement sans prise en charge AVX2.The container will not function correctly without AVX2 support.

Exigences et suggestions relatives au conteneurContainer requirements and recommendations

Le tableau suivant indique l’allocation de ressources minimale et recommandée pour chaque conteneur Speech.The following table describes the minimum and recommended allocation of resources for each Speech container.

ConteneurContainer MinimaleMinimum RecommandéRecommended
Reconnaissance vocaleSpeech-to-text 2 cœurs, 2 Go de mémoire2 core, 2-GB memory 4 cœurs, 4 Go de mémoire4 core, 4-GB memory
  • Chaque cœur doit être cadencé à au moins 2,6 gigahertz (GHz).Each core must be at least 2.6 gigahertz (GHz) or faster.

Le nombre de cœurs et la quantité de mémoire correspondent aux paramètres --cpus et --memory qui sont utilisés dans le cadre de la commande docker run.Core and memory correspond to the --cpus and --memory settings, which are used as part of the docker run command.

Notes

Les valeurs minimales et recommandées se basent sur les limites Docker, et non sur les ressources de la machine hôte.The minimum and recommended are based off of Docker limits, not the host machine resources. Par exemple, les conteneurs de reconnaissance vocale contenant des portions de mappage de mémoire d’un modèle linguistique volumineux, il est recommandé que l’intégralité du fichier tienne dans la mémoire, ce qui correspond à 4 à 6 Go supplémentaires.For example, speech-to-text containers memory map portions of a large language model, and it is recommended that the entire file fits in memory, which is an additional 4-6 GB. En outre, la première exécution d’un conteneur peut prendre beaucoup de temps perce que les modèles sont paginés en mémoire.Also, the first run of either container may take longer, since models are being paged into memory.

Obtenir l’image conteneur avec docker pullGet the container image with docker pull

Les images conteneur pour Speech sont disponibles dans le service Container Registry suivant.Container images for Speech are available in the following Container Registry.

ConteneurContainer RéférentielRepository
Reconnaissance vocaleSpeech-to-text containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text:latest

Conseil

Vous pouvez utiliser la commande docker images pour lister vos images conteneurs téléchargées.You can use the docker images command to list your downloaded container images. Par exemple, la commande suivante liste l’ID, le référentiel et la balise de chaque image conteneur téléchargée dans un tableau :For example, the following command lists the ID, repository, and tag of each downloaded container image, formatted as a table:

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

IMAGE ID         REPOSITORY                TAG
<image-id>       <repository-path/name>    <tag-name>

Docker pull pour les conteneurs SpeechDocker pull for the Speech containers

Docker pull pour le conteneur Reconnaissance vocaleDocker pull for the Speech-to-text container

Utilisez la commande docker pull pour télécharger une image conteneur à partir du registre de conteneurs en préversion.Use the docker pull command to download a container image from Container Preview registry.

docker pull containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text:latest

Important

La balise latest extrait les paramètres régionaux en-US et la voix jessarus.The latest tag pulls the en-US locale and jessarus voice. Pour d’autres paramètres régionaux, consultez Paramètres régionaux de reconnaissance vocale.For additional locales see Speech-to-text locales.

Paramètres régionaux de reconnaissance vocaleSpeech-to-text locales

Toutes les balises, à l’exception de latest, sont au format suivant, où <culture> indique le conteneur des paramètres régionaux :All tags, except for latest are in the following format, where the <culture> indicates the locale container:

<major>.<minor>.<patch>-<platform>-<culture>-<prerelease>

La balise suivante illustre le format :The following tag is an example of the format:

2.0.0-amd64-en-us-preview

Pour tous les paramètres régionaux pris en charge dans la version 2.0.0 du conteneur de reconnaissance vocale, consultez la colonne Prise en charge des conteneurs dans le tableau Prise en charge des langues pour la reconnaissance vocale.For all of the supported locales in the 2.0.0 version of the speech-to-text container, lease see the Container support column of the Speech-to-text language support table.

Comment utiliser le conteneurHow to use the container

Une fois que le conteneur est sur l’ordinateur hôte, appliquez la procédure suivante pour travailler avec le conteneur.Once the container is on the host computer, use the following process to work with the container.

  1. Exécutez le conteneur avec les paramètres de facturation requis.Run the container, with the required billing settings. D’autres exemples de commande docker run sont disponibles.More examples of the docker run command are available.
  2. Interrogez le point de terminaison de prédiction du conteneur.Query the container's prediction endpoint.

Exécuter le conteneur avec docker runRun the container with docker run

Utilisez la commande docker run pour exécuter le conteneur.Use the docker run command to run the container. Pour plus d’informations sur la façon d’obtenir les valeurs {Endpoint_URI} et {API_Key}, consultez Collecte des paramètres requis.Refer to gathering required parameters for details on how to get the {Endpoint_URI} and {API_Key} values. Des exemples supplémentaires de la commande docker run sont également disponibles.Additional examples of the docker run command are also available.

Pour exécuter le conteneur Reconnaissance vocale, exécutez la commande docker run suivante.To run the Speech-to-text container, execute the following docker run command.

docker run --rm -it -p 5000:5000 --memory 4g --cpus 4 \
containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Cette commande :This command:

  • Exécute un conteneur Reconnaissance vocale à partir de l’image conteneur.Runs a Speech-to-text container from the container image.
  • Alloue 4 cœurs de processeur et 4 gigaoctets (Go) de mémoire.Allocates 4 CPU cores and 4 gigabytes (GB) of memory.
  • Expose le port TCP 5000 et alloue un pseudo-TTY pour le conteneur.Exposes TCP port 5000 and allocates a pseudo-TTY for the container.
  • Supprime automatiquement le conteneur après sa fermeture.Automatically removes the container after it exits. L’image conteneur est toujours disponible sur l’ordinateur hôte.The container image is still available on the host computer.

Important

Vous devez spécifier les options Eula, Billing et ApiKey pour exécuter le conteneur, sinon il ne démarrera pas.The Eula, Billing, and ApiKey options must be specified to run the container; otherwise, the container won't start. Pour plus d'informations, consultez Facturation.For more information, see Billing.

Interroger le point de terminaison de prédiction du conteneurQuery the container's prediction endpoint

ConteneurContainer Point de terminaisonEndpoint ProtocolProtocol
Reconnaissance vocaleSpeech-to-text ws://localhost:5000/speech/recognition/dictation/cognitiveservices/v1 WSWS
Reconnaissance vocale personnaliséeCustom Speech-to-text ws://localhost:5000/speech/recognition/dictation/cognitiveservices/v1 WSWS
Synthèse vocaleText-to-speech http://localhost:5000/speech/synthesize/cognitiveservices/v1 HTTPHTTP
Synthèse vocale personnaliséeCustom Text-to-speech http://localhost:5000/speech/synthesize/cognitiveservices/v1 HTTPHTTP

Pour plus d’informations sur l’utilisation des protocoles WSS et HTTPS, consultez Sécurité des conteneurs.For more information on using WSS and HTTPS protocols, see container security.

Reconnaissance vocale ou Reconnaissance vocale personnaliséeSpeech-to-text or Custom Speech-to-text

Le conteneur fournit des API de point de terminaison de requête s’appuyant sur WebSocket, qui sont accessibles par le biais du Kit de développement logiciel (SDK) Speech.The container provides websocket-based query endpoint APIs, that are accessed through the Speech SDK. Par défaut, le Kit de développement logiciel (SDK) Speech utilise des services vocaux en ligne.By default, the Speech SDK uses online speech services. Pour utiliser le conteneur, vous devez changer la méthode d’initialisation.To use the container, you need to change the initialization method.

Conseil

Lorsque vous utilisez le Kit de développement logiciel (SDK) Speech avec des conteneurs, vous n’avez pas besoin de fournir de clé d’abonnement ou de jeton du porteur d’authentification de la ressource Azure Speech.When using the Speech SDK with containers, you do not need to provide the Azure Speech resource subscription key or an authentication bearer token.

Consultez les exemples ci-dessous.See the examples below.

Passer de l’utilisation de cet appel d’initialisation du cloud Azure :Change from using this Azure-cloud initialization call:

var config = SpeechConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");

à cet appel à l’aide du point de terminaison de conteneur :to this call using the container endpoint:

var config = SpeechConfig.FromEndpoint(
    new Uri("ws://localhost:5000/speech/recognition/dictation/cognitiveservices/v1"));

Synthèse vocale ou synthèse vocale personnaliséeText-to-speech or Custom Text-to-speech

Le conteneur fournit des API de point de terminaison basées sur REST.The container provides REST-based endpoint APIs. Il existe de nombreux exemples de projets de code source pour les variantes de plateforme, d’infrastructure et de langage disponibles.There are many sample source code projects for platform, framework, and language variations available.

Avec le conteneur de synthèse vocale standard, vous devez vous appuyer sur les paramètres régionaux et la voix de la balise d’image que vous avez téléchargée.With the Standard Text-to-speech container, you should rely on the locale and voice of the image tag you downloaded. Par exemple, si vous avez téléchargé la balise latest, les paramètres régionaux par défaut sont en-US et la voix JessaRUS.For example, if you downloaded the latest tag the default locale is en-US and the JessaRUS voice. L’argument {VOICE_NAME} est alors en-US-JessaRUS.The {VOICE_NAME} argument would then be en-US-JessaRUS. Consultez l’exemple SSML ci-dessous :See the example SSML below:

<speak version="1.0" xml:lang="en-US">
    <voice name="en-US-JessaRUS">
        This text will get converted into synthesized speech.
    </voice>
</speak>

Toutefois, pour la synthèse vocale personnalisée, vous devez obtenir la voix ou le modèle à partir du portail vocal personnalisé.However, for Custom Text-to-speech you'll need to obtain the Voice / model from the custom voice portal. Le nom du modèle personnalisé est synonyme du nom de la voix.The custom model name is synonymous with the voice name. Accédez à la page Formation, puis copiez la voix ou le modèle à utiliser en tant qu’argument {VOICE_NAME}.Navigate to the Training page, and copy the Voice / model to use as the {VOICE_NAME} argument.

:::image type="content" source="../media/custom-voice/custom-voice-model-voice-name.png" alt-text="Modèle vocal personnalisé – Nom de la voix"::::::image type="content" source="../media/custom-voice/custom-voice-model-voice-name.png" alt-text="Custom voice model - voice name":::

Consultez l’exemple SSML ci-dessous :See the example SSML below:

<speak version="1.0" xml:lang="en-US">
    <voice name="custom-voice-model">
        This text will get converted into synthesized speech.
    </voice>
</speak>

Créons une requête HTTP POST en fournissant quelques en-têtes et une charge utile de données.Let's construct an HTTP POST request, providing a few headers and a data payload. Remplacez l’espace réservé {VOICE_NAME} par votre propre valeur.Replace the {VOICE_NAME} placeholder with your own value.

curl -s -v -X POST http://localhost:5000/speech/synthesize/cognitiveservices/v1 \
 -H 'Accept: audio/*' \
 -H 'Content-Type: application/ssml+xml' \
 -H 'X-Microsoft-OutputFormat: riff-16khz-16bit-mono-pcm' \
 -d '<speak version="1.0" xml:lang="en-US"><voice name="{VOICE_NAME}">This is a test, only a test.</voice></speak>'

Cette commande :This command:

  • Crée une requête HTTP POST pour le point de terminaison speech/synthesize/cognitiveservices/v1.Constructs an HTTP POST request for the speech/synthesize/cognitiveservices/v1 endpoint.
  • Spécifie un en-tête Accept de audio/*.Specifies an Accept header of audio/*
  • Spécifie un en-tête Content-Type de application/ssml+xml. Pour plus d’informations, voir Corps de la demande.Specifies a Content-Type header of application/ssml+xml, for more information, see request body.
  • Spécifie un en-tête X-Microsoft-OutputFormat de riff-16khz-16bit-mono-pcm. Pour plus d’options, voir Sortie audio.Specifies a X-Microsoft-OutputFormat header of riff-16khz-16bit-mono-pcm, for more options see audio output.
  • Envoie au point de terminaison la demande Speech Synthesis Markup Language (SSML) nommée {VOICE_NAME}.Sends the Speech Synthesis Markup Language (SSML) request given the {VOICE_NAME} to the endpoint.

Exécuter plusieurs conteneurs sur le même hôteRun multiple containers on the same host

Si vous envisagez d’exécuter plusieurs conteneurs avec les ports exposés, veillez à exécuter chaque conteneur avec un port exposé différent.If you intend to run multiple containers with exposed ports, make sure to run each container with a different exposed port. Par exemple, exécutez le premier conteneur sur le port 5000 et le second conteneur sur le port 5001.For example, run the first container on port 5000 and the second container on port 5001.

Vous pouvez avoir ce conteneur, et un autre conteneur Azure Cognitive Services qui s’exécutent ensemble sur l’hôte.You can have this container and a different Azure Cognitive Services container running on the HOST together. Vous pouvez également disposer de plusieurs conteneurs du même conteneur Cognitive Services en cours d’exécution.You also can have multiple containers of the same Cognitive Services container running.

Valider l’exécution d’un conteneurValidate that a container is running

Il existe plusieurs façons de confirmer que le conteneur s’exécute.There are several ways to validate that the container is running. Recherchez l’adresse IP externe et le port exposé du conteneur en question, puis ouvrez le navigateur web de votre choix.Locate the External IP address and exposed port of the container in question, and open your favorite web browser. Utilisez les différentes URL de requête ci-dessous pour vérifier que le conteneur est en cours d’exécution.Use the various request URLs below to validate the container is running. Les exemples d’URL de requête listés ci-dessous sont http://localhost:5000, mais votre conteneur spécifique peut varier.The example request URLs listed below are http://localhost:5000, but your specific container may vary. N’oubliez pas que vous devez vous fier à l’adresse IP externe de votre conteneur et au port exposé.Keep in mind that you're to rely on your container's External IP address and exposed port.

URL de la demandeRequest URL ObjectifPurpose
http://localhost:5000/ Le conteneur fournit une page d’accueil.The container provides a home page.
http://localhost:5000/status Demandée avec HTTP GET, pour confirmer que le conteneur est en cours d’exécution sans provoquer de requête de point de terminaison.Requested with an HTTP GET, to validate that the container is running without causing an endpoint query. Cette requête peut être utilisée pour les probes liveness et readiness de Kubernetes.This request can be used for Kubernetes liveness and readiness probes.
http://localhost:5000/swagger Le conteneur fournit un ensemble complet de documentation pour les points de terminaison et une fonctionnalité Essayer.The container provides a full set of documentation for the endpoints and a Try it out feature. Avec cette fonctionnalité, vous pouvez entrer vos paramètres dans un formulaire HTML basé sur le web, et constituer la requête sans avoir à écrire du code.With this feature, you can enter your settings into a web-based HTML form and make the query without having to write any code. Une fois la requête retournée, un exemple de commande CURL est fourni pour illustrer les en-têtes HTTP, et le format du corps qui est nécessaire.After the query returns, an example CURL command is provided to demonstrate the HTTP headers and body format that's required.

Page d’accueil du conteneur

Arrêter le conteneurStop the container

Pour arrêter le conteneur, dans l’environnement de ligne de commande où le conteneur est en cours d’exécution, sélectionnez Ctrl+C.To shut down the container, in the command-line environment where the container is running, select Ctrl+C.

Résolution de problèmesTroubleshooting

Au démarrage ou pendant l’exécution du conteneur, vous pouvez rencontrer des problèmes.When starting or running the container, you may experience issues. Utilisez une montage de sortie et activez la journalisation.Use an output mount and enable logging. Ainsi, le conteneur pourra générer des fichiers journaux utiles à la résolution des problèmes.Doing so will allow the container to generate log files that are helpful when troubleshooting issues.

Conseil

Pour plus d’informations et de conseils sur la résolution des problèmes, consultez les questions fréquentes sur les conteneurs Cognitive Services.For more troubleshooting information and guidance, see Cognitive Services containers frequently asked questions (FAQ).

FacturationBilling

Les conteneurs Speech envoient des informations de facturation à Azure à l’aide d’une ressource Speech sur votre compte Azure.The Speech containers send billing information to Azure, using a Speech resource on your Azure account.

Les requêtes sur le conteneur sont facturées au niveau tarifaire de la ressource Azure utilisée pour <ApiKey>.Queries to the container are billed at the pricing tier of the Azure resource that's used for the <ApiKey>.

Les conteneurs Azure Cognitives Services ne sont pas concédés sous licence dans le but de s’exécuter sans être connectés au point de terminaison de facturation pour le contrôle.Azure Cognitive Services containers aren't licensed to run without being connected to the billing endpoint for metering. Vous devez configurer les conteneurs de manière à ce qu’ils communiquent les informations de facturation au point de terminaison de facturation à tout moment.You must enable the containers to communicate billing information with the billing endpoint at all times. Les conteneurs Cognitive Services n’envoient pas de données client, telles que l’image ou le texte analysé, à Microsoft.Cognitive Services containers don't send customer data, such as the image or text that's being analyzed, to Microsoft.

Connexion à AzureConnect to Azure

Le conteneur a besoin des valeurs d’arguments de facturation pour s’exécuter.The container needs the billing argument values to run. Ces valeurs permettent au conteneur de se connecter au point de terminaison de facturation.These values allow the container to connect to the billing endpoint. Le conteneur crée des rapports sur l’utilisation toutes les 10 à 15 minutes.The container reports usage about every 10 to 15 minutes. Si le conteneur ne se connecte pas à Azure dans la fenêtre de temps imparti, il continue de s’exécuter, mais ne traite pas les requêtes tant que le point de terminaison de facturation n’est pas restauré.If the container doesn't connect to Azure within the allowed time window, the container continues to run but doesn't serve queries until the billing endpoint is restored. Une tentative de connexion est effectuée 10 fois, toutes les 10 à 15 minutes.The connection is attempted 10 times at the same time interval of 10 to 15 minutes. S’il ne parvient pas à se connecter au point de terminaison de facturation au cours de ces 10 essais, le conteneur arrête son exécution.If it can't connect to the billing endpoint within the 10 tries, the container stops running.

Arguments de facturationBilling arguments

Pour que la commande docker run démarre le conteneur, des valeurs valides doivent spécifier les trois options suivantes :For the docker run command to start the container, all three of the following options must be specified with valid values:

OptionOption DescriptionDescription
ApiKey Clé API de la ressource Cognitive Services utilisée pour le suivi des informations de facturation.The API key of the Cognitive Services resource that's used to track billing information.
La valeur de cette option doit être définie sur une clé API pour la ressource provisionnée spécifiée dans Billing.The value of this option must be set to an API key for the provisioned resource that's specified in Billing.
Billing Point de terminaison de la ressource Cognitive Services utilisé pour le suivi des informations de facturation.The endpoint of the Cognitive Services resource that's used to track billing information.
La valeur de cette option doit être définie sur l’URI de point de terminaison d’une ressource Azure provisionnée.The value of this option must be set to the endpoint URI of a provisioned Azure resource.
Eula Indique que vous avez accepté la licence pour le conteneur.Indicates that you accepted the license for the container.
La valeur de cette option doit être définie sur accepter.The value of this option must be set to accept.

Pour plus d’informations sur ces options, consultez Configurer des conteneurs.For more information about these options, see Configure containers.

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

RésuméSummary

Dans cet article, vous avez découvert des concepts et le flux de travail pour le téléchargement, l’installation et l’exécution des conteneurs Speech.In this article, you learned concepts and workflow for downloading, installing, and running Speech containers. En résumé :In summary:

  • Speech fournit quatre conteneurs Linux pour Docker, qui encapsulent diverses fonctionnalités :Speech provides four Linux containers for Docker, encapsulating various capabilities:
    • Reconnaissance vocaleSpeech-to-text
    • Reconnaissance vocale personnaliséeCustom Speech-to-text
    • Synthèse vocaleText-to-speech
    • Synthèse vocale personnaliséeCustom Text-to-speech
  • Les images conteneur sont téléchargées à partir du registre de conteneurs dans Azure.Container images are downloaded from the container registry in Azure.
  • Les images conteneurs s’exécutent dans Docker.Container images run in Docker.
  • Vous pouvez utiliser l’API REST ou kit de développement logiciel (SDK) pour appeler des opérations dans des conteneurs Speech en spécifiant l’URI hôte du conteneur.You can use either the REST API or SDK to call operations in Speech containers by specifying the host URI of the container.
  • Vous devez spécifier les informations de facturation lors de l’instanciation d’un conteneur.You're required to provide billing information when instantiating a container.

Important

Les conteneurs Cognitives Services ne sont pas concédés sous licence pour s’exécuter sans être connectés à Azure pour le contrôle.Cognitive Services containers are not licensed to run without being connected to Azure for metering. Les clients doivent configurer les conteneurs de manière à ce qu’ils communiquent les informations de facturation au service de contrôle à tout moment.Customers need to enable the containers to communicate billing information with the metering service at all times. Les conteneurs Cognitive Services n’envoient pas les données des clients (p. ex., l’image ou le texte analysés) à Microsoft.Cognitive Services containers do not send customer data (e.g., the image or text that is being analyzed) to Microsoft.

Étapes suivantesNext steps