Установка и запуск контейнеров речевых служб (Предварительная версия)Install and run Speech service containers (Preview)

Контейнеры позволяют запускать некоторые API речевых служб в собственной среде.Containers enable you to run some of the Speech service APIs in your own environment. Контейнеры отлично подходят для конкретных требований к безопасности и управлению данными.Containers are great for specific security and data governance requirements. В этой статье вы узнаете, как скачать, установить и запустить речевой контейнер.In this article you'll learn how to download, install, and run a Speech container.

Речевые контейнеры позволяют клиентам создавать архитектуру приложений для распознавания речи, оптимизированных как для надежных облачных возможностей, так и для пограничных локализации.Speech containers enable customers to build a speech application architecture that is optimized for both robust cloud capabilities and edge locality. Доступно четыре разных контейнера.There are four different containers available. Два стандартных контейнера — преобразование речи в текст и преобразование текста в речь.The two standard containers are Speech-to-text and Text-to-speech. Два пользовательских контейнера — это пользовательское распознавание речи и Пользовательский текст в речь.The two custom containers are Custom Speech-to-text and Custom Text-to-speech. В речевых контейнерах действуют те же цены , что и в облачных службах Azure для распознавания речи.Speech containers have the same pricing as the cloud-based Azure Speech Services.

Важно!

Все контейнеры речи в настоящее время предоставляются как часть общедоступного "условного" предварительного просмотра.All speech containers are currently offered as part of a Public "Gated" Preview. Объявление будет создано, когда речевые контейнеры переводятся в общедоступную версию.An announcement will be made when speech containers progress to General Availability (GA).

ФункцияFunction КомпонентыFeatures Последняя версияLatest
Преобразование речи в текстSpeech-to-text Анализирует тональности и расшифровывает непрерывную голосовую или пакетную звукозапись в реальном времени с промежуточными результатами.Analyzes sentiment and transcribes continuous real-time speech or batch audio recordings with intermediate results. 2.3.12.3.1
Пользовательское распознавание речи к текстуCustom Speech-to-text Используя настраиваемую модель на портале пользовательское распознавание речи, расшифровывает непрерывную голосовую или пакетную звукозапись в режиме реального времени в текст с промежуточными результатами.Using a custom model from the Custom Speech portal, transcribes continuous real-time speech or batch audio recordings into text with intermediate results. 2.3.12.3.1
Преобразование текста в речьText-to-speech Преобразует текст в голосовую речь с помощью обычного текстового ввода или языка разметки речи (SSML).Converts text to natural-sounding speech with plain text input or Speech Synthesis Markup Language (SSML). 1.5.01.5.0
Пользовательский текст в речьCustom Text-to-speech С помощью настраиваемой модели пользовательского голосового порталапреобразует текст в голосовую речь с помощью обычного текстового ввода или языка разметки речи (SSML).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.5.01.5.0

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.If you don't have an Azure subscription, create a free account before you begin.

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

Перед использованием речевых контейнеров выполните следующие предварительные требования.The following prerequisites before using Speech containers:

ОбязательноRequired НазначениеPurpose
Модуль DockerDocker Engine На главном компьютере должен быть установлен модуль Docker.You need the Docker Engine installed on a host computer. Docker предоставляет пакеты, которые настраивают среду с Docker для macOS, Windows и Linux.Docker provides packages that configure the Docker environment on macOS, Windows, and Linux. Ознакомьтесь с общими сведениями о Docker и контейнерах.For a primer on Docker and container basics, see the Docker overview.

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

В ОС Windows для Docker нужно также настроить поддержку контейнеров Linux.On Windows, Docker must also be configured to support Linux containers.

Опыт работы с DockerFamiliarity with Docker Требуется базовое представление о понятиях Docker, включая реестры, репозитории, контейнеры и образы контейнеров, а также знание основных команд docker.You should have a basic understanding of Docker concepts, like registries, repositories, containers, and container images, as well as knowledge of basic docker commands.
Речевой ресурсSpeech resource Для использования контейнеров необходимо следующее:In order to use these containers, you must have:

Ресурс речи Azure для получения связанного ключа API и URI конечной точки.An Azure Speech resource to get the associated API key and endpoint URI. Оба значения доступны на страницах "Обзор речи " и "ключи" портал Azure.Both values are available on the Azure portal's Speech Overview and Keys pages. Они необходимы для запуска контейнера.They are both required to start the container.

{API_KEY}: один из двух доступных ключей ресурсов на странице " ключи "{API_KEY}: One of the two available resource keys on the Keys page

{ENDPOINT_URI}: конечная точка, указанная на странице обзора{ENDPOINT_URI}: The endpoint as provided on the Overview page

Запрос доступа к реестру контейнеровRequest access to the container registry

Заполните форму запроса и отправьте ее, чтобы запросить доступ к контейнеру.Fill out and submit the request form to request access to the container.

В форме нужно указать сведения о себе, компании и пользовательском сценарии, для которого будет использоваться контейнер.The form requests information about you, your company, and the user scenario for which you'll use the container. После отправки формы команда Azure Cognitive Services просматривает ее и проверяет, соответствуете ли вы критериям доступа к частному реестру контейнеров.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.

Важно!

В форме необходимо указать электронный адрес, связанный с учетной записью Майкрософт или учетной записью Azure Active Directory (Azure AD).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.

Если ваш запрос будет одобрен, вы получите по электронной почте инструкции по получению учетных данных и доступа к частному реестру контейнеров.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.

Аутентификация частного реестра контейнеров с помощью интерфейса командной строки DockerUse the Docker CLI to authenticate the private container registry

Выполнить аутентификацию с частным реестром контейнеров для контейнеров Cognitive Services можно несколькими способами, но мы рекомендуем использовать командную строку Docker CLI.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.

Используйте docker login команду, как показано в следующем примере, чтобы войти в containerpreview.azurecr.io закрытый реестр контейнеров для 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. Замените * < username > * именем пользователя и * < паролем > * с паролем, указанным в учетных данных, полученных от команды 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>

Если вы сохранили свои учетные данные в текстовом файле, содержимое этого текстового файла можно сцепить с помощью команды cat в команду docker login, как показано в приведенном ниже примере.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. Замените * < passwordFile > * на путь и имя текстового файла, содержащего * < > пароль и имя пользователя, с именем* , указанным в учетных данных.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

Идет сбор обязательных параметровGathering required parameters

Есть три основных параметра для всех обязательных контейнеров Cognitive Services ".There are three primary parameters for all Cognitive Services' containers that are required. Лицензионное соглашение должно быть установлено со значением accept.The end-user license agreement (EULA) must be present with a value of accept. Кроме того, требуются URL-адрес конечной точки и ключ API.Additionally, both an Endpoint URL and API Key are needed.

URI конечной точки{ENDPOINT_URI}Endpoint URI {ENDPOINT_URI}

Значение URI конечной точки доступно на странице обзора портал Azure соответствующего ресурса службы.The Endpoint URI value is available on the Azure portal Overview page of the corresponding Cognitive Service resource. Перейдите на страницу обзора , наведите указатель мыши на конечную точку Copy to clipboard , и появится значок.Navigate to the Overview page, hover over the Endpoint, and a Copy to clipboard icon will appear. Копирование и использование при необходимости.Copy and use where needed.

Сбор URI конечной точки для последующего использования

Ключ{API_KEY}Keys {API_KEY}

Этот ключ используется для запуска контейнера и доступен на странице ключей портал 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. Перейдите на страницу ключи и щелкните Copy to clipboard значок.Navigate to the Keys page, and click on the Copy to clipboard icon.

Получите один из двух ключей для последующего использования

Важно!

Эти ключи подписки используются для доступа к API-интерфейсу для работы со службой.These subscription keys are used to access your Cognitive Service API. Не предоставляйте общий доступ к ключам.Do not share your keys. Храните их безопасно, например, с помощью Azure Key Vault.Store them securely, for example, using Azure Key Vault. Мы также советуем регулярно создавать эти ключи.We also recommend regenerating these keys regularly. Для вызова API требуется только один ключ.Only one key is necessary to make an API call. При повторном создании первого ключа можно использовать второй ключ для постоянного доступа к службе.When regenerating the first key, you can use the second key for continued access to the service.

Главный компьютерThe host computer

Узел — это 64-разрядный компьютер, на котором выполняется контейнер Docker.The host is a x64-based computer that runs the Docker container. Это может быть компьютер в локальной среде или служба размещения Docker в Azure, включая следующие решения:It can be a computer on your premises or a Docker hosting service in Azure, such as:

Поддержка расширенного векторного расширенияAdvanced Vector Extension support

Главным является компьютер, на котором выполняется контейнер Docker.The host is the computer that runs the docker container. Узел должен поддерживать Расширенные векторные расширения (AVX2).The host must support Advanced Vector Extensions (AVX2). Вы можете проверить поддержку AVX2 на узлах Linux с помощью следующей команды: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

Предупреждение

Главный компьютер необходим для поддержки AVX2.The host computer is required to support AVX2. Контейнер не будет работать правильно без поддержки AVX2.The container will not function correctly without AVX2 support.

Требования к контейнеру и рекомендацииContainer requirements and recommendations

В следующей таблице описаны минимальное и рекомендуемое выделение ресурсов для каждого контейнера речи.The following table describes the minimum and recommended allocation of resources for each Speech container.

КонтейнерContainer МинимальныеMinimum РекомендуемаяRecommended
Преобразование речи в текстSpeech-to-text 2 ядра, 2 ГБ памяти2 core, 2-GB memory 4 ядра, 4 ГБ памяти4 core, 4-GB memory
  • Частота каждого ядра должна быть минимум 2,6 ГГц.Each core must be at least 2.6 gigahertz (GHz) or faster.

Ядро и память соответствуют параметрам --cpus и --memory, которые используются как часть команды docker run.Core and memory correspond to the --cpus and --memory settings, which are used as part of the docker run command.

Примечание

Минимальное и рекомендуемое значение основано на ограничениях DOCKER, а не на ресурсах компьютера размещения.The minimum and recommended are based off of Docker limits, not the host machine resources. Например, контейнеры преобразования речи в текст отображают части модели больших языков, и рекомендуется , чтобы весь файл поместился в память, что является дополнительным 4-6 ГБ.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. Кроме того, первый запуск любого контейнера может занять больше времени, так как модели разбиваются на страницы в памяти.Also, the first run of either container may take longer, since models are being paged into memory.

Получение образа контейнера с помощью docker pullGet the container image with docker pull

Образы контейнеров для речи доступны в следующем реестре контейнеров.Container images for Speech are available in the following Container Registry.

КонтейнерContainer ХранилищеRepository
Преобразование речи в текстSpeech-to-text containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text:latest

Совет

Используйте команду docker images, чтобы получить список скачанных образов контейнеров.You can use the docker images command to list your downloaded container images. Например, следующая команда возвращает таблицу со списком идентификаторов, репозиториев и тегов для каждого скачанного образа контейнера: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 для контейнеров распознавания речиDocker pull for the Speech containers

Опрашивающий запрос DOCKER для контейнера преобразования речи в текстDocker pull for the Speech-to-text container

Используйте команду DOCKER Pull , чтобы скачать образ контейнера из реестра предварительного просмотра контейнера.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

Важно!

latestТег извлекает en-US языковой стандарт.The latest tag pulls the en-US locale. Дополнительные языковые стандарты см. в разделе языки и речь.For additional locales see Speech-to-text locales.

Языки перевода речи в текстSpeech-to-text locales

Все теги, кроме, latest имеют следующий формат и учитывают регистр:All tags, except for latest are in the following format and are case-sensitive:

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

Следующий тег является примером формата:The following tag is an example of the format:

2.3.1-amd64-en-us-preview

Сведения о всех поддерживаемых языковых стандартах контейнера для преобразования речи в текст см. в статье теги изображений.For all of the supported locales of the speech-to-text container, please see Speech-to-text image tags.

Использование контейнераHow to use the container

После размещения контейнера на главном компьютере воспользуйтесь следующей процедурой для работы с ним.Once the container is on the host computer, use the following process to work with the container.

  1. Запустите контейнер с необходимыми настройками выставления счетов.Run the container, with the required billing settings. Доступны дополнительные примеры команды docker run.More examples of the docker run command are available.
  2. Запросите конечную точку прогнозирования контейнера.Query the container's prediction endpoint.

Запуск контейнера с помощью команды docker runRun the container with docker run

Воспользуйтесь командой docker run для запуска контейнера.Use the docker run command to run the container. Дополнительные сведения о том, как получить значения и, см. в разделе сбор обязательных параметров {Endpoint_URI} {API_Key} .Refer to gathering required parameters for details on how to get the {Endpoint_URI} and {API_Key} values. Также examples доступны дополнительные примеры docker run команды.Additional examples of the docker run command are also available.

Чтобы запустить контейнер преобразования речи в текст , выполните следующую docker run команду.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}

Эта команда:This command:

  • Запускает контейнер преобразования речи в текст из образа контейнера.Runs a Speech-to-text container from the container image.
  • Выделяет 4 ядра ЦП и 4 гигабайта (ГБ) памяти.Allocates 4 CPU cores and 4 gigabytes (GB) of memory.
  • предоставляет TCP-порт 5000 и выделяет псевдотелетайп для контейнера;Exposes TCP port 5000 and allocates a pseudo-TTY for the container.
  • автоматически удаляет контейнер после завершения его работы.Automatically removes the container after it exits. Образ контейнера остается доступным на главном компьютере.The container image is still available on the host computer.

Анализ тональности на выходе из речи в текстAnalyze sentiment on the speech-to-text output

Начиная с версии v 2.2.0 контейнера для преобразования речи в текст можно вызвать API тональности Analysis v3 на выходе.Starting in v2.2.0 of the speech-to-text container, you can call the sentiment analysis v3 API on the output. Для вызова анализа тональности требуется конечная точка ресурса API анализа текста.To call sentiment analysis, you will need a Text Analytics API resource endpoint. Пример:For example:

  • https://westus2.api.cognitive.microsoft.com/text/analytics/v3.0-preview.1/sentiment
  • https://localhost:5000/text/analytics/v3.0-preview.1/sentiment

Если вы обращаетесь к конечной точке текстовой аналитики в облаке, потребуется ключ.If you're accessing a Text analytics endpoint in the cloud, you will need a key. Если вы работаете Анализ текста локально, вам может не потребоваться его указывать.If you're running Text Analytics locally, you may not need to provide this.

Ключ и конечная точка передаются в контейнер речи в качестве аргументов, как показано в следующем примере.The key and endpoint are passed to the Speech container as arguments, as in the following example.

docker run -it --rm -p 5000:5000 \
containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text:latest \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY} \
CloudAI:SentimentAnalysisSettings:TextAnalyticsHost={TEXT_ANALYTICS_HOST} \
CloudAI:SentimentAnalysisSettings:SentimentAnalysisApiKey={SENTIMENT_APIKEY}

Эта команда:This command:

  • Выполняет те же действия, что и приведенная выше команда.Performs the same steps as the command above.
  • Хранит API анализа текстаную конечную точку и ключ для отправки запросов анализа тональности.Stores a Text Analytics API endpoint and key, for sending sentiment analysis requests.

Важно!

Для запуска контейнера необходимо указать параметры Eula, Billing и ApiKey. В противном случае контейнер не запустится.The Eula, Billing, and ApiKey options must be specified to run the container; otherwise, the container won't start. Дополнительные сведения см. в разделе о выставлении счетов.For more information, see Billing.

Запрос конечной точки прогнозирования контейнераQuery the container's prediction endpoint

Примечание

Если вы используете несколько контейнеров, используйте уникальный номер порта.Use a unique port number if you're running multiple containers.

КонтейнерыContainers URL-адрес узла SDKSDK Host URL ПротоколProtocol
Преобразование речи в текст и Пользовательское распознавание речи в текстSpeech-to-text and Custom Speech-to-text ws://localhost:5000 WSWS
Преобразование текста в речь и пользовательский текст в речьText-to-speech and Custom Text-to-speech http://localhost:5000 HTTPHTTP

Дополнительные сведения об использовании протоколов WSS и HTTPS см. в разделе Безопасность контейнера.For more information on using WSS and HTTPS protocols, see container security.

Преобразование речи в текст или Пользовательское распознавание речи в текстSpeech-to-text or Custom Speech-to-text

Контейнер предоставляет интерфейсы API конечной точки запроса на основе WebSocket, доступ к которым осуществляется через пакет SDK для распознавания речи.The container provides websocket-based query endpoint APIs, that are accessed through the Speech SDK. По умолчанию в пакете SDK для речевых функций используются службы речевого перевода.By default, the Speech SDK uses online speech services. Чтобы использовать контейнер, вам необходимо изменить метод инициализации.To use the container, you need to change the initialization method.

Совет

При использовании речевого пакета SDK с контейнерами вам не нужно указывать ключ подписки на ресурсы службы распознавания речи Azure или токен носителя проверки подлинности.When using the Speech SDK with containers, you do not need to provide the Azure Speech resource subscription key or an authentication bearer token.

Ознакомьтесь с указанными ниже примерами.See the examples below.

Смените этот вызов инициализации облака Azure:Change from using this Azure-cloud initialization call:

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

для этого вызова с помощью узлаконтейнера:to this call using the container host:

var config = SpeechConfig.FromHost(
    new Uri("ws://localhost:5000"));

Анализ тональностиAnalyze sentiment

Если вы указали учетные данные API анализа текста в контейнере, вы можете использовать РЕЧЕВОЙ пакет SDK для отправки запросов распознавания речи с помощью анализа тональности.If you provided your Text Analytics API credentials to the container, you can use the Speech SDK to send speech recognition requests with sentiment analysis. Можно настроить Ответы API для использования простого или подробного формата.You can configure the API responses to use either a simple or detailed format.

Чтобы настроить речевой клиент для использования простого формата, добавьте "Sentiment" в качестве значения Simple.Extensions .To configure the Speech client to use a simple format, add "Sentiment" as a value for Simple.Extensions. Если вы хотите выбрать конкретную версию модели Анализ текста, замените 'latest' в speechcontext-phraseDetection.sentimentAnalysis.modelversion конфигурации свойства.If you want to choose a specific Text Analytics model version, replace 'latest' in the speechcontext-phraseDetection.sentimentAnalysis.modelversion property configuration.

speech_config.set_service_property(
    name='speechcontext-PhraseOutput.Simple.Extensions',
    value='["Sentiment"]',
    channel=speechsdk.ServicePropertyChannel.UriQueryParameter
)
speech_config.set_service_property(
    name='speechcontext-phraseDetection.sentimentAnalysis.modelversion',
    value='latest',
    channel=speechsdk.ServicePropertyChannel.UriQueryParameter
)

Simple.Extensionsвернет результат тональности в корневом слое ответа.Simple.Extensions will return the sentiment result in root layer of the response.

{
   "DisplayText":"What's the weather like?",
   "Duration":13000000,
   "Id":"6098574b79434bd4849fee7e0a50f22e",
   "Offset":4700000,
   "RecognitionStatus":"Success",
   "Sentiment":{
      "Negative":0.03,
      "Neutral":0.79,
      "Positive":0.18
   }
}

Если вы хотите полностью отключить анализ тональности, добавьте false значение в sentimentanalysis.enabled .If you want to completely disable sentiment analysis, add a false value to sentimentanalysis.enabled.

speech_config.set_service_property(
    name='speechcontext-phraseDetection.sentimentanalysis.enabled',
    value='false',
    channel=speechsdk.ServicePropertyChannel.UriQueryParameter
)

Преобразование текста в речь или пользовательский текст в речьText-to-speech or Custom Text-to-speech

Контейнер предоставляет интерфейсы API конечной точки на основе интерфейса RESTful.The container provides REST-based endpoint APIs. Существует множество примеров проектов исходного кода для платформ, платформ и языковых вариантов.There are many sample source code projects for platform, framework, and language variations available.

Используя стандартный контейнер преобразования текста в речь , вы должны полагаться на языковой стандарт и голоса скачанного тега образа.With the Standard Text-to-speech container, you should rely on the locale and voice of the image tag you downloaded. Например, если вы загрузили latest тег, язык по умолчанию — en-US и JessaRUS Voice.For example, if you downloaded the latest tag the default locale is en-US and the JessaRUS voice. {VOICE_NAME}Затем аргумент будет иметь значение en-US-JessaRUS .The {VOICE_NAME} argument would then be en-US-JessaRUS. См. пример SSML ниже: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>

Однако для пользовательского преобразования текста в речь необходимо получить голос или модель с настраиваемого голосового портала.However, for Custom Text-to-speech you'll need to obtain the Voice / model from the custom voice portal. Имя пользовательской модели является синонимом имени голоса.The custom model name is synonymous with the voice name. Перейдите на страницу обучения и скопируйте голосовое или модель для использования в качестве {VOICE_NAME} аргумента.Navigate to the Training page, and copy the Voice / model to use as the {VOICE_NAME} argument.

Настраиваемая Voice-модель — имя голоса

См. пример SSML ниже: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>

Давайте создадим запрос HTTP POST, предоставляя несколько заголовков и полезных данных.Let's construct an HTTP POST request, providing a few headers and a data payload. Замените {VOICE_NAME} заполнитель своим собственным значением.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>'

Эта команда:This command:

  • Конструирует запрос HTTP POST для speech/synthesize/cognitiveservices/v1 конечной точки.Constructs an HTTP POST request for the speech/synthesize/cognitiveservices/v1 endpoint.
  • Задает Accept заголовокaudio/*Specifies an Accept header of audio/*
  • Задает Content-Type заголовок application/ssml+xml для более подробной информации см. в разделе текст запроса.Specifies a Content-Type header of application/ssml+xml, for more information, see request body.
  • Задает X-Microsoft-OutputFormat заголовок riff-16khz-16bit-mono-pcm для дополнительных параметров см. звуковые выходные данные.Specifies a X-Microsoft-OutputFormat header of riff-16khz-16bit-mono-pcm, for more options see audio output.
  • Отправляет запрос на языке разметки речи (SSML) , заданный в {VOICE_NAME} конечной точке.Sends the Speech Synthesis Markup Language (SSML) request given the {VOICE_NAME} to the endpoint.

Запуск нескольких контейнеров на одном узлеRun multiple containers on the same host

Если вы планируете запускать несколько контейнеров при открытых портах, обязательно назначьте каждому контейнеру отдельный открытый порт.If you intend to run multiple containers with exposed ports, make sure to run each container with a different exposed port. Например, запускайте первый контейнер на порте 5000, а второй — на порте 5001.For example, run the first container on port 5000 and the second container on port 5001.

Этот контейнер и другой контейнер Azure Cognitive Services могут одновременно работать на одном и том же узле.You can have this container and a different Azure Cognitive Services container running on the HOST together. Также одному запущенному контейнеру Cognitive Services могут соответствовать сразу несколько контейнеров.You also can have multiple containers of the same Cognitive Services container running.

Проверка состояния контейнераValidate that a container is running

Проверить это можно несколькими способами.There are several ways to validate that the container is running. Перейдите к внешнему IP- адресу и предоставленному порту рассматриваемого контейнера и откройте свой любимый веб-браузер.Locate the External IP address and exposed port of the container in question, and open your favorite web browser. Используйте различные URL-адреса запросов ниже, чтобы проверить, выполняется контейнер.Use the various request URLs below to validate the container is running. Примеры URL-адресов запросов приведены ниже http://localhost:5000 , но конкретный контейнер может отличаться.The example request URLs listed below are http://localhost:5000, but your specific container may vary. Помните, что вам нужно полагаться на внешний IP- адрес контейнера и доступный порт.Keep in mind that you're to rely on your container's External IP address and exposed port.

URL-адрес запросаRequest URL ЦельPurpose
http://localhost:5000/ Контейнер предоставляет домашнюю страницу.The container provides a home page.
http://localhost:5000/ready Запрашивается с помощью GET, это обеспечивает проверку готовности контейнера к принятию запроса к модели.Requested with GET, this provides a verification that the container is ready to accept a query against the model. Этот запрос может использоваться для проб активности и готовности Kubernetes.This request can be used for Kubernetes liveness and readiness probes.
http://localhost:5000/status Кроме того, запрос с помощью GET проверяет, является ли ключ API, используемый для запуска контейнера, допустимым, не вызывая запрос конечной точки.Also requested with GET, this verifies if the api-key used to start the container is valid without causing an endpoint query. Этот запрос может использоваться для проб активности и готовности Kubernetes.This request can be used for Kubernetes liveness and readiness probes.
http://localhost:5000/swagger Контейнер предоставляет полный набор документации по конечным точкам и функцию пробного использования.The container provides a full set of documentation for the endpoints and a Try it out feature. Эта функция позволяет ввести параметры в веб-форму HTML и создать запрос без необходимости писать код.With this feature, you can enter your settings into a web-based HTML form and make the query without having to write any code. После возвращения результатов запроса предоставляется пример команды CURL с примером требуемого формата HTTP-заголовков и текста.After the query returns, an example CURL command is provided to demonstrate the HTTP headers and body format that's required.

Домашняя страница контейнера

Остановка контейнераStop the container

Чтобы завершить работу контейнера, в среде командной строки, в которой выполняется контейнер, нажмите клавиши CTRL + C.To shut down the container, in the command-line environment where the container is running, select Ctrl+C.

Устранение неполадокTroubleshooting

При запуске или запуске контейнера могут возникнуть проблемы.When starting or running the container, you may experience issues. Используйте Подключение к выходным данным и включите ведение журнала.Use an output mount and enable logging. Это позволит контейнеру создавать файлы журналов, которые полезны при устранении неполадок.Doing so will allow the container to generate log files that are helpful when troubleshooting issues.

Совет

Дополнительные сведения и рекомендации по устранению неполадок см. в статье Cognitive Services Containers (часто задаваемые вопросы).For more troubleshooting information and guidance, see Cognitive Services containers frequently asked questions (FAQ).

Выставление счетовBilling

Контейнеры распознавания речи отправляют сведения о выставлении счетов в Azure с помощью речевого ресурса в учетной записи Azure.The Speech containers send billing information to Azure, using a Speech resource on your Azure account.

Запросы к контейнеру оплачиваются согласно ценовой категории ресурсов Azure, используемой для ApiKey.Queries to the container are billed at the pricing tier of the Azure resource that's used for the ApiKey.

Контейнеры Cognitive Services Azure не лицензированы для запуска без подключения к конечной точке контроля использования и выставления счетов.Azure Cognitive Services containers aren't licensed to run without being connected to the metering / billing endpoint. Вам необходимо разрешить контейнерам непрерывную передачу данных для выставления счетов в конечную точку выставления счетов.You must enable the containers to communicate billing information with the billing endpoint at all times. Контейнеры Cognitive Services не отправляют в корпорацию Майкрософт данные клиента, например анализируемые изображения или тексты.Cognitive Services containers don't send customer data, such as the image or text that's being analyzed, to Microsoft.

Подключение к AzureConnect to Azure

Для запуска контейнера необходимо указать значения аргументов, касающихся выставления счетов.The container needs the billing argument values to run. Эти значения обеспечивают подключение контейнера к конечной точке выставления счетов.These values allow the container to connect to the billing endpoint. Отчеты об использовании контейнера примерно каждые 10—15 минут.The container reports usage about every 10 to 15 minutes. Если контейнер не подключится к Azure в течение допустимого периода времени, контейнер будет продолжать работать, но не будет обслуживать запросы, пока не будет восстановлена конечная точка выставления счетов.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. Попытки подключения выполняются 10 раз на протяжении одинакового интервала времени (10–15 минут).The connection is attempted 10 times at the same time interval of 10 to 15 minutes. Если не удается подключиться к конечной точке выставления счетов в течение 10 попыток, контейнер прекращает обслуживать запросы.If it can't connect to the billing endpoint within the 10 tries, the container stops serving requests.

Аргументы для выставления счетовBilling arguments

Команда запустит контейнер, если указаны следующие три параметра с допустимыми значениями: docker run The docker run command will start the container when all three of the following options are provided with valid values:

ПараметрOption ОписаниеDescription
ApiKey Ключ API ресурса Cognitive Services, используемый для отслеживания информации о выставлении счетов.The API key of the Cognitive Services resource that's used to track billing information.
Этому параметру следует присвоить значение ключа API для подготовленного ресурса, который можно получить в Billing.The value of this option must be set to an API key for the provisioned resource that's specified in Billing.
Billing Конечная точка ресурса Cognitive Services, используемая для отслеживания информации о выставлении счетов.The endpoint of the Cognitive Services resource that's used to track billing information.
Этому параметру следует присвоить URI конечной точки подготовленного ресурса Azure.The value of this option must be set to the endpoint URI of a provisioned Azure resource.
Eula Указывает, что вы приняли условия лицензии для контейнера.Indicates that you accepted the license for the container.
Для этого параметра следует задать значение accept.The value of this option must be set to accept.

Дополнительные сведения об этих параметрах см. в статье Настройка контейнеров.For more information about these options, see Configure containers.

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

СводкаSummary

В этой статье вы узнали основные понятия и рабочий процесс по скачиванию, установке и запуску речевых контейнеров.In this article, you learned concepts and workflow for downloading, installing, and running Speech containers. В разделе "Сводка" сделайте следующее.In summary:

  • Речь предоставляет четыре контейнера Linux для DOCKER, включая различные возможности:Speech provides four Linux containers for Docker, encapsulating various capabilities:
    • Преобразование речи в текстSpeech-to-text
    • Пользовательское распознавание речи к текстуCustom Speech-to-text
    • Преобразование текста в речьText-to-speech
    • Пользовательский текст в речьCustom Text-to-speech
  • Образы контейнеров загружаются из реестра контейнеров в Azure.Container images are downloaded from the container registry in Azure.
  • Образы контейнеров выполняются в Docker.Container images run in Docker.
  • Независимо от того, используете ли вы REST API (только преобразование текста в речь) или пакет SDK (преобразование речи в текст или преобразование текста в речь), укажите URI узла контейнера.Whether using the REST API (Text-to-speech only) or the SDK (Speech-to-text or Text-to-speech) you specify the host URI of the container.
  • При создании экземпляра контейнера необходимо указать сведения о выставлении счетов.You're required to provide billing information when instantiating a container.

Важно!

Контейнеры Cognitive Services не лицензируются для запуска без подключения к Azure для отслеживания использования.Cognitive Services containers are not licensed to run without being connected to Azure for metering. Клиенты должны разрешить контейнерам непрерывную передачу данных для выставления счетов в службу контроля потребления.Customers need to enable the containers to communicate billing information with the metering service at all times. Контейнеры Cognitive Services не отправляют в корпорацию Майкрософт данные клиента (например, анализируемые изображения или тексты).Cognitive Services containers do not send customer data (e.g., the image or text that is being analyzed) to Microsoft.

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