Installieren und Ausführen von Containern für den Speech-Dienst (Vorschau)Install and run Speech service containers (Preview)

Container ermöglichen es Ihnen, einige der Speech-Dienst-APIs in Ihrer eigenen Umgebung auszuführen.Containers enable you to run some of the Speech service APIs in your own environment. Container eignen sich hervorragend für bestimmte Sicherheits- und Datengovernanceanforderungen.Containers are great for specific security and data governance requirements. In diesem Artikel erfahren Sie, wie Sie einen Speech-Container herunterladen, installieren und ausführen.In this article you'll learn how to download, install, and run a Speech container.

Mit Speech-Containern können Kunden eine Speech-basierte Anwendungsarchitektur erstellen, die sowohl für stabile Cloudfunktionen als auch für das Edge optimiert ist.Speech containers enable customers to build a speech application architecture that is optimized for both robust cloud capabilities and edge locality. Es stehen vier verschiedene Container zur Verfügung.There are four different containers available. Die beiden Standardcontainer sind Spracherkennung und Sprachsynthese.The two standard containers are Speech-to-text and Text-to-speech. Die beiden benutzerdefinierten Container sind Benutzerdefinierte Spracherkennung und Benutzerdefinierte Sprachsynthese.The two custom containers are Custom Speech-to-text and Custom Text-to-speech.

Wichtig

Alle Speech-Container werden zurzeit im Rahmen einer öffentlichen eingeschränkten Vorschau angeboten.All speech containers are currently offered as part of a Public "Gated" Preview. Wenn Speech-Container in die allgemeine Verfügbarkeit übergehen, erfolgt eine entsprechende Ankündigung.An announcement will be made when speech containers progress to General Availability (GA).

FunktionFunction FeaturesFeatures Neueste VersionLatest
SpracherkennungSpeech-to-text Transkribiert kontinuierliche Echtzeitsprache oder Batchaudioaufzeichnungen in Text mit Zwischenergebnissen.Transcribes continuous real-time speech or batch audio recordings into text with intermediate results. 2.0.02.0.0
Benutzerdefinierte SpracherkennungCustom Speech-to-text Verwendet ein benutzerdefiniertes Modell aus dem Custom Speech-Portal und transkribiert kontinuierliche Echtzeitsprach- oder Batchaudioaufzeichnungen in Text mit Zwischenergebnissen.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
Text-zu-SpracheText-to-speech Konvertiert Text in natürlich klingende Sprache mit Nur-Text-Eingaben oder SSML (Speech Synthesis Markup Language, Markupsprache für Sprachsynthese).Converts text to natural-sounding speech with plain text input or Speech Synthesis Markup Language (SSML). 1.3.01.3.0
Benutzerdefinierte SprachsyntheseCustom Text-to-speech Verwendet ein benutzerdefiniertes Modell aus dem Custom Voice-Portal und konvertiert Text in natürlich klingende Sprache mit Nur-Text-Eingaben oder SSML (Speech Synthesis Markup Language, Markupsprache für Sprachsynthese).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

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.If you don't have an Azure subscription, create a free account before you begin.

VoraussetzungenPrerequisites

Für die Verwendung von Speech-Containern müssen folgende Voraussetzungen erfüllt sein:The following prerequisites before using Speech containers:

ErforderlichRequired ZweckPurpose
Docker-EngineDocker Engine Die Docker-Engine muss auf einem Hostcomputer installiert sein.You need the Docker Engine installed on a host computer. Für die Docker-Umgebung stehen Konfigurationspakete für macOS, Windows und Linux zur Verfügung.Docker provides packages that configure the Docker environment on macOS, Windows, and Linux. Eine Einführung in Docker und Container finden Sie in der Docker-Übersicht.For a primer on Docker and container basics, see the Docker overview.

Docker muss so konfiguriert werden, dass die Container eine Verbindung mit Azure herstellen und Abrechnungsdaten an Azure senden können.Docker must be configured to allow the containers to connect with and send billing data to Azure.

Unter Windows muss Docker auch für die Unterstützung von Linux-Containern konfiguriert werden.On Windows, Docker must also be configured to support Linux containers.

Kenntnisse zu DockerFamiliarity with Docker Sie sollten über Grundkenntnisse der Konzepte von Docker, einschließlich Registrierungen, Repositorys, Container und Containerimages, verfügen und die grundlegenden docker-Befehle kennen.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-RessourceSpeech resource Um diese Container zu verwenden, benötigen Sie Folgendes:In order to use these containers, you must have:

Eine Azure-Ressource vom Typ Speech, um den entsprechenden API-Schlüssel und den URI des Endpunkts zu erhalten.An Azure Speech resource to get the associated API key and endpoint URI. Beide Werte stehen im Azure-Portal auf den Seiten „Übersicht“ und „Schlüssel“ von Speech zur Verfügung.Both values are available on the Azure portal's Speech Overview and Keys pages. Beide sind zum Starten des Containers erforderlich.They are both required to start the container.

{API_KEY} : Einer der beiden verfügbaren Ressourcenschlüssel auf der Seite Schlüssel{API_KEY}: One of the two available resource keys on the Keys page

{ENDPOINT_URI} : Der Endpunkt, der auf der Seite Übersicht angegeben ist{ENDPOINT_URI}: The endpoint as provided on the Overview page

Anfordern des Zugriffs auf die ContainerregistrierungRequest access to the container registry

Füllen Sie das Formular zum Anfordern von Cognitive Services-Speech-Containern aus, und übermitteln Sie es, um Zugriff auf den Container anzufordern.Fill out and submit the Cognitive Services Speech Containers Request form to request access to the container.

Im Formular müssen Sie Informationen über Sie selbst, Ihr Unternehmen und das Benutzerszenario eintragen, für das Sie den Container verwenden möchten.The form requests information about you, your company, and the user scenario for which you'll use the container. Nach der Übermittlung des Formulars überprüft das Azure Cognitive Services-Team das Formular, um sicherzustellen, dass Sie die Kriterien für den Zugriff auf die private Containerregistrierung erfüllen.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.

Wichtig

Sie müssen im Formular eine E-Mail-Adresse verwenden, die entweder einem Microsoft-Konto (MSA) oder einem Azure Active Directory-Konto (Azure AD) zugeordnet ist.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.

Wenn Ihre Anforderung genehmigt wurde, erhalten Sie eine E-Mail mit Anweisungen zum Abrufen Ihrer Anmeldeinformationen und zum Zugreifen auf die private Containerregistrierung.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.

Authentifizieren einer privaten Containerregistrierung mit der Docker-BefehlszeilenschnittstelleUse the Docker CLI to authenticate the private container registry

Es gibt mehrere Möglichkeiten, sich bei der privaten Containerregistrierung für Cognitive Services-Container zu authentifizieren, aber die empfohlene Methode über die Befehlszeile ist die Verwendung der 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.

Verwenden Sie den docker login-Befehl wie im folgenden Beispiel gezeigt, um sich bei containerpreview.azurecr.io (der privaten Containerregistrierung für Cognitive Services-Container) anzumelden.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. Ersetzen Sie <username> durch den Benutzernamen und <password> durch das Kennwort. Diese Anmeldeinformationen wurden Ihnen vom Azure Cognitive Services-Team bereitgestellt.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>

Wenn Sie Ihre Anmeldeinformationen in einer Textdatei gesichert haben, können Sie den Inhalt dieser Textdatei über den Befehl cat mit dem Befehl docker login verketten, wie im folgenden Beispiel gezeigt.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. Ersetzen Sie <passwordFile> durch den Pfad und den Namen der Textdatei mit dem Kennwort und <username> durch den Benutzernamen, der in Ihren Anmeldeinformationen angegeben wurde.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

Ermitteln erforderlicher ParameterGathering required parameters

Es gibt drei primäre Parameter, die für alle Cognitive Services-Container benötigt werden.There are three primary parameters for all Cognitive Services' containers that are required. Die Lizenzbedingungen müssen mit dem Wert accept vorhanden sein.The end-user license agreement (EULA) must be present with a value of accept. Außerdem werden sowohl die Endpunkt-URL als auch der API-Schlüssel benötigt.Additionally, both an Endpoint URL and API Key are needed.

Endpunkt-URI {ENDPOINT_URI}Endpoint URI {ENDPOINT_URI}

Der Endpunkt-URI-Wert ist im Azure-Portal auf der Seite Übersicht der entsprechenden Cognitive Service-Ressource verfügbar.The Endpoint URI value is available on the Azure portal Overview page of the corresponding Cognitive Service resource. Navigieren Sie zur Seite Übersicht, und bewegen Sie den Mauszeiger auf den Endpunkt. Ein Copy to clipboard-Symbol () wird angezeigt.Navigate to the Overview page, hover over the Endpoint, and a Copy to clipboard icon will appear. Kopieren und verwenden Sie diesen bei Bedarf.Copy and use where needed.

Erfassen der Endpunkt-URI für die spätere Verwendung

Schlüssel {API_KEY}Keys {API_KEY}

Dieser Schlüssel wird zum Starten des Containers verwendet und ist im Azure-Portal auf der Seite „Schlüssel“ der entsprechenden Cognitive Service-Ressource verfügbar.This key is used to start the container, and is available on the Azure portal's Keys page of the corresponding Cognitive Service resource. Navigieren Sie zur Seite Schlüssel, und klicken Sie auf das Copy to clipboard-Symbol ().Navigate to the Keys page, and click on the Copy to clipboard icon.

Abrufen eines der beiden Schlüssel für die spätere Verwendung

Wichtig

Diese Abonnementschlüssel werden für den Zugriff auf Ihre Cognitive Service-API verwendet.These subscription keys are used to access your Cognitive Service API. Geben Sie Ihre Schlüssel nicht weiter.Do not share your keys. Speichern Sie diese beispielsweise sicher mit Azure Key Vault.Store them securely, for example, using Azure Key Vault. Es wird außerdem empfohlen, diese Schlüssel regelmäßig neu zu generieren.We also recommend regenerating these keys regularly. Für einen API-Aufruf ist nur ein Schlüssel erforderlich.Only one key is necessary to make an API call. Beim erneuten Generieren des ersten Schlüssels können Sie den zweiten Schlüssel für kontinuierlichen Zugriff auf den Dienst verwenden.When regenerating the first key, you can use the second key for continued access to the service.

Der HostcomputerThe host computer

Der Host ist ein x64-basierter Computer, auf dem der Docker-Container ausgeführt wird.The host is a x64-based computer that runs the Docker container. Dies kann ein lokaler Computer oder ein Docker-Hostingdienst in Azure sein, z. B.:It can be a computer on your premises or a Docker hosting service in Azure, such as:

Unterstützung von Advanced Vector ExtensionsAdvanced Vector Extension support

Der Host ist der Computer, auf dem der Docker-Container ausgeführt wird.The host is the computer that runs the docker container. Der Host muss Advanced Vector Extensions (AVX2) unterstützen.The host must support Advanced Vector Extensions (AVX2). Sie können die AVX2-Unterstützung auf Linux-Hosts mit dem folgenden Befehl überprüfen: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

Warnung

Der Hostcomputer muss AVX2 unterstützen.The host computer is required to support AVX2. Ohne AVX2-Unterstützung funktioniert der Container nicht ordnungsgemäß.The container will not function correctly without AVX2 support.

Containeranforderungen und -empfehlungenContainer requirements and recommendations

Die folgende Tabelle beschreibt die minimale und empfohlene Zuordnung von Ressourcen für jeden Speech-Container.The following table describes the minimum and recommended allocation of resources for each Speech container.

ContainerContainer MinimumMinimum EmpfohlenRecommended
SpracherkennungSpeech-to-text 2 Kerne, 2 GB Arbeitsspeicher2 core, 2-GB memory 4 Kerne, 4 GB Arbeitsspeicher4 core, 4-GB memory
  • Jeder Kern muss eine Geschwindigkeit von mindestens 2,6 GHz aufweisen.Each core must be at least 2.6 gigahertz (GHz) or faster.

Kern und Arbeitsspeicher entsprechen den Einstellungen --cpus und --memory, die im Rahmen des Befehls docker run verwendet werden.Core and memory correspond to the --cpus and --memory settings, which are used as part of the docker run command.

Hinweis

Die Mindestanforderungen und Empfehlungen basieren auf Docker-Grenzwerten, nicht auf den Ressourcen des Hostcomputers.The minimum and recommended are based off of Docker limits, not the host machine resources. Spracherkennungscontainer ordnen beispielsweise Teile des Arbeitsspeichers eines großen Sprachmodells zu, und es wird empfohlen, dass die gesamte Datei in den Arbeitsspeicher passt (was zusätzlich 4 bis 6 GB ausmacht).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. Außerdem dauert die erste Ausführung des Containers unter Umständen länger, da Modelle in den Arbeitsspeicher ausgelagert werden.Also, the first run of either container may take longer, since models are being paged into memory.

Abrufen des Containerimages mit docker pullGet the container image with docker pull

Containerimages für Speech stehen in der folgenden Container Registry zur Verfügung:Container images for Speech are available in the following Container Registry.

ContainerContainer RepositoryRepository
SpracherkennungSpeech-to-text containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text:latest

Tipp

Mithilfe des Befehls docker images können Sie Ihre heruntergeladenen Containerimages auflisten.You can use the docker images command to list your downloaded container images. Mit dem folgenden Befehl werden beispielsweise die ID, das Repository und das Tag jedes heruntergeladenen Containerimages in Form einer Tabelle aufgelistet: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-Pullvorgang für die Speech-ContainerDocker pull for the Speech containers

Docker-Pullvorgang für den SpracherkennungscontainerDocker pull for the Speech-to-text container

Verwenden Sie den Befehl docker pull, um ein Containerimage aus der Registrierung der Containervorschau herunterzuladen.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

Wichtig

Das Tag latest pullt das Gebietsschema en-US.The latest tag pulls the en-US locale. Weitere Gebietsschemas finden Sie unter Gebietsschemas für die Spracherkennung.For additional locales see Speech-to-text locales.

Gebietsschemas für die SpracherkennungSpeech-to-text locales

Alle Tags, mit Ausnahme von latest, haben das folgende Format und beachten die Groß-/Kleinschreibung:All tags, except for latest are in the following format and are case-sensitive:

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

Das folgende Tag ist ein Beispiel für das Format:The following tag is an example of the format:

2.0.0-amd64-en-us-preview

Informationen zu allen unterstützten Gebietsschemas des Containers Spracherkennung finden Sie unter Imagetags für Spracherkennung.For all of the supported locales of the speech-to-text container, please see Speech-to-text image tags.

Verwenden des ContainersHow to use the container

Wenn sich der Container auf dem Hostcomputer befindet, können Sie über den folgenden Prozess mit dem Container arbeiten.Once the container is on the host computer, use the following process to work with the container.

  1. Führen Sie den Container aus, und verwenden Sie dabei die erforderlichen Abrechnungseinstellungen.Run the container, with the required billing settings. Es sind noch weitere Beispiele für den Befehl docker run verfügbar.More examples of the docker run command are available.
  2. Fragen Sie den Vorhersageendpunkt des Containers ab.Query the container's prediction endpoint.

Ausführen des Containers mit docker runRun the container with docker run

Verwenden Sie den Befehl docker run, um den Container auszuführen.Use the docker run command to run the container. Genaue Informationen dazu, wie Sie die Werte {Endpoint_URI} und {API_Key} abrufen, erhalten Sie unter Ermitteln erforderlicher Parameter.Refer to gathering required parameters for details on how to get the {Endpoint_URI} and {API_Key} values. Es sind auch weitere Beispiele für den Befehl docker run verfügbar.Additional examples of the docker run command are also available.

Zum Ausführen des Containers für die Spracherkennung führen Sie den folgenden docker run-Befehl aus.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}

Dieser Befehl:This command:

  • Führt einen Container für die Spracherkennung aus dem Containerimage aus.Runs a Speech-to-text container from the container image.
  • Ordnet 4 CPU-Kerne und 4 GB Arbeitsspeicher zu.Allocates 4 CPU cores and 4 gigabytes (GB) of memory.
  • Macht den TCP-Port 5000 verfügbar und ordnet eine Pseudo-TTY-Verbindung für den Container zu.Exposes TCP port 5000 and allocates a pseudo-TTY for the container.
  • Entfernt den Container automatisch, nachdem er beendet wurde.Automatically removes the container after it exits. Das Containerimage ist auf dem Hostcomputer weiterhin verfügbar.The container image is still available on the host computer.

Wichtig

Die Optionen Eula, Billing und ApiKey müssen angegeben werden, um den Container auszuführen, andernfalls wird der Container nicht gestartet.The Eula, Billing, and ApiKey options must be specified to run the container; otherwise, the container won't start. Weitere Informationen finden Sie unter Abrechnung.For more information, see Billing.

Abfragen des Vorhersageendpunkts des ContainersQuery the container's prediction endpoint

ContainerContainers SDK-Host-URLSDK Host URL ProtocolProtocol
Spracherkennung und benutzerdefinierte SpracherkennungSpeech-to-text and Custom Speech-to-text ws://localhost:5000 WSWS
Sprachsynthese und benutzerdefinierte SprachsyntheseText-to-speech and Custom Text-to-speech http://localhost:5000 HTTPHTTP

Weitere Informationen zur Verwendung der Protokolle WSS und HTTPS finden Sie unter Containersicherheit.For more information on using WSS and HTTPS protocols, see container security.

Spracherkennung oder benutzerdefinierte SpracherkennungSpeech-to-text or Custom Speech-to-text

Der Container bietet websocketbasierte Abfrageendpunkt-APIs, auf die über das Speech SDK zugegriffen wird.The container provides websocket-based query endpoint APIs, that are accessed through the Speech SDK. Standardmäßig verwendet das Speech SDK Online-Speech-Dienste.By default, the Speech SDK uses online speech services. Um den Container verwenden zu können, müssen Sie die Initialisierungsmethode ändern.To use the container, you need to change the initialization method.

Tipp

Wenn Sie das Sprach-SDK mit Containern verwenden, müssen Sie nicht die Azure Speech-Ressource Abonnementschlüssel oder Authentifizierungsbearertoken bereitstellen.When using the Speech SDK with containers, you do not need to provide the Azure Speech resource subscription key or an authentication bearer token.

Weitere Informationen finden Sie in den folgenden Beispielen.See the examples below.

Ändern Sie den folgenden Azure-CloudinitialisierungsaufrufChange from using this Azure-cloud initialization call:

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

in den folgenden Aufruf mit dem Containerhost:to this call using the container host:

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

Sprachsynthese oder benutzerdefinierte SprachsyntheseText-to-speech or Custom Text-to-speech

Der Container stellt REST-basierte Endpunkt-APIs bereit.The container provides REST-based endpoint APIs. Es gibt viele Beispielquellcodeprojekte für Plattform-, Framework- und Sprachvarianten.There are many sample source code projects for platform, framework, and language variations available.

Mit dem Container für die Standardsprachsynthese sollten Sie sich auf das Gebietsschema und die Sprache des heruntergeladenen Imagetags verlassen.With the Standard Text-to-speech container, you should rely on the locale and voice of the image tag you downloaded. Wenn Sie z. B. das latest-Tag heruntergeladen haben, ist das Standardgebietsschema en-US und JessaRUS die Stimme.For example, if you downloaded the latest tag the default locale is en-US and the JessaRUS voice. Das {VOICE_NAME}-Argument wäre dann en-US-JessaRUS.The {VOICE_NAME} argument would then be en-US-JessaRUS. Betrachten Sie das folgende SSML-Beispiel: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>

Für die benutzerdefinierte Sprachsynthese müssen Sie jedoch die/das Stimme/Modell aus dem Custom Voice-Portal abrufen.However, for Custom Text-to-speech you'll need to obtain the Voice / model from the custom voice portal. Der benutzerdefinierte Modellname ist gleichbedeutend mit dem Sprachnamen.The custom model name is synonymous with the voice name. Navigieren Sie zur Seite Training, und kopieren Sie die/das Stimme/Modell, die/das als {VOICE_NAME}-Argument verwendet werden soll.Navigate to the Training page, and copy the Voice / model to use as the {VOICE_NAME} argument.

Custom Voice-Modell – Sprachname

Betrachten Sie das folgende SSML-Beispiel: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>

Lassen Sie uns eine HTTP POST-Anforderung erstellen, die einige Header und eine Datennutzlast bereitstellt.Let's construct an HTTP POST request, providing a few headers and a data payload. Ersetzen Sie den Platzhalter {VOICE_NAME} durch Ihren eigenen Wert.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>'

Dieser Befehl:This command:

  • Erstellt eine HTTP POST-Anforderung für den Endpunkt speech/synthesize/cognitiveservices/v1.Constructs an HTTP POST request for the speech/synthesize/cognitiveservices/v1 endpoint.
  • Gibt einen Accept-Header von audio/* an.Specifies an Accept header of audio/*
  • Gibt einen Content-Type-Header von application/ssml+xml an. Weitere Informationen finden Sie unter Anforderungstext.Specifies a Content-Type header of application/ssml+xml, for more information, see request body.
  • Gibt einen X-Microsoft-OutputFormat-Header von riff-16khz-16bit-mono-pcm an. Weitere Optionen finden Sie unter Audioausgabe.Specifies a X-Microsoft-OutputFormat header of riff-16khz-16bit-mono-pcm, for more options see audio output.
  • Sendet die SSML-Anforderung (Speech Synthesis Markup Language), die {VOICE_NAME} an den Endpunkt übergeben hat.Sends the Speech Synthesis Markup Language (SSML) request given the {VOICE_NAME} to the endpoint.

Ausführen mehrerer Container auf dem gleichen HostRun multiple containers on the same host

Wenn Sie beabsichtigen, mehrere Container mit offengelegten Ports auszuführen, stellen Sie sicher, dass jeder Container mit einem anderen offengelegten Port ausgeführt wird.If you intend to run multiple containers with exposed ports, make sure to run each container with a different exposed port. Führen Sie beispielsweise den ersten Container an Port 5000 und den zweiten Container an Port 5001 aus.For example, run the first container on port 5000 and the second container on port 5001.

Sie können diesen Container und einen anderen Azure Cognitive Services-Container zusammen auf dem Host ausführen.You can have this container and a different Azure Cognitive Services container running on the HOST together. Sie können auch mehrere Container desselben Cognitive Services-Containers ausführen.You also can have multiple containers of the same Cognitive Services container running.

Überprüfen auf aktive ContainerValidate that a container is running

Es gibt mehrere Möglichkeiten zu überprüfen, ob ein Container aktiv ist.There are several ways to validate that the container is running. Suchen Sie die externe IP-Adresse und den verfügbar gemachten Port des betreffenden Containers, und öffnen Sie Ihren bevorzugten Webbrowser.Locate the External IP address and exposed port of the container in question, and open your favorite web browser. Verwenden Sie die verschiedenen URLs der untenstehenden Anforderungen, um zu überprüfen, ob der Container ausgeführt wird.Use the various request URLs below to validate the container is running. Die unten aufgeführten Beispiel-URLs für Anforderungen sind http://localhost:5000, aber Ihr spezifischer Container kann variieren.The example request URLs listed below are http://localhost:5000, but your specific container may vary. Denken Sie daran, dass Sie sich auf die externe IP-Adresse Ihres Containers und den verfügbar gemachten Port verlassen müssen.Keep in mind that you're to rely on your container's External IP address and exposed port.

Anfrage-URLRequest URL ZweckPurpose
http://localhost:5000/ Der Container stellt eine Homepage bereit.The container provides a home page.
http://localhost:5000/status Anforderung mit HTTP GET, um zu überprüfen, ob der Container aktiv ist, ohne eine Endpunktabfrage zu verursachen.Requested with an HTTP GET, to validate that the container is running without causing an endpoint query. Diese Anforderung kann für Live- und Bereitschaftstests von Kubernetes verwendet werden.This request can be used for Kubernetes liveness and readiness probes.
http://localhost:5000/swagger Der Container stellt eine umfassende Dokumentation für die Endpunkte sowie die Funktion Jetzt ausprobieren bereit.The container provides a full set of documentation for the endpoints and a Try it out feature. Diese Funktion ermöglicht Ihnen die Eingabe Ihrer Einstellungen in einem webbasierten HTML-Formular, sodass Sie die Abfrage ausführen können, ohne Code schreiben zu müssen.With this feature, you can enter your settings into a web-based HTML form and make the query without having to write any code. Nach der Rückgabe der Abfrage wird ein cURL-Beispielbefehl bereitgestellt, der das erforderliche Format für HTTP-Header und -Text veranschaulicht.After the query returns, an example CURL command is provided to demonstrate the HTTP headers and body format that's required.

Homepage des Containers

Beenden des ContainersStop the container

Zum Herunterfahren des Containers drücken Sie in der Befehlszeilenumgebung, in der der Container ausgeführt wird, STRG+C.To shut down the container, in the command-line environment where the container is running, select Ctrl+C.

ProblembehandlungTroubleshooting

Beim Starten oder Ausführen des Containers können Probleme auftreten.When starting or running the container, you may experience issues. Verwenden Sie eine Bereitstellung für die Ausgabe, und aktivieren Sie die Protokollierung.Use an output mount and enable logging. Auf diese Weise kann der Container Protokolldateien generieren, die bei der Behebung von Problemen helfen.Doing so will allow the container to generate log files that are helpful when troubleshooting issues.

Tipp

Weitere Informationen zur Problembehandlung und Anleitungen finden Sie unter Häufig gestellte Fragen (FAQ) zu Cognitive Services-Containern.For more troubleshooting information and guidance, see Cognitive Services containers frequently asked questions (FAQ).

AbrechnungBilling

Der Speech-Container sendet Abrechnungsinformationen an Azure und verwendet dafür eine Ressource vom Typ Speech in Ihrem Azure-Konto.The Speech containers send billing information to Azure, using a Speech resource on your Azure account.

Abfragen des Containers werden gemäß des Tarifs der Azure-Ressource in Rechnung gestellt, die für <ApiKey> verwendet wird.Queries to the container are billed at the pricing tier of the Azure resource that's used for the <ApiKey>.

Für die Ausführung von Azure Cognitive Services-Containern besteht keine Lizenz, wenn sie nicht zu Messzwecken mit dem Abrechnungsendpunkt verbunden sind.Azure Cognitive Services containers aren't licensed to run without being connected to the billing endpoint for metering. Sie müssen sicherstellen, dass die Container jederzeit Abrechnungsinformationen an den Abrechnungsendpunkt übermitteln können.You must enable the containers to communicate billing information with the billing endpoint at all times. Cognitive Services-Container senden keine Kundendaten (z. B. das analysierte Bild oder den analysierten Text) an Microsoft.Cognitive Services containers don't send customer data, such as the image or text that's being analyzed, to Microsoft.

Herstellen einer Verbindung mit AzureConnect to Azure

Der Container benötigt die Abrechnungsargumentwerte, um ausgeführt werden zu können.The container needs the billing argument values to run. Diese Werte ermöglichen es dem Container, eine Verbindung mit dem Abrechnungsendpunkt herzustellen.These values allow the container to connect to the billing endpoint. Der Container meldet die Nutzung etwa alle 10 bis 15 Minuten.The container reports usage about every 10 to 15 minutes. Wenn der Container nicht innerhalb des zulässigen Zeitfensters eine Verbindung mit Azure herstellt, wird der Container weiterhin ausgeführt, verarbeitet aber keine Anfragen, bis der Abrechnungsendpunkt wiederhergestellt wurde.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. Es erfolgen 10 Verbindungsversuche im gleichen Zeitintervall von 10 bis 15 Minuten.The connection is attempted 10 times at the same time interval of 10 to 15 minutes. Wenn die Verbindung mit dem Abrechnungsendpunkt nicht innerhalb der 10 Versuche hergestellt werden kann, wird die Ausführung des Containers beendet.If it can't connect to the billing endpoint within the 10 tries, the container stops running.

AbrechnungsargumenteBilling arguments

Alle drei der folgenden Optionen müssen mit gültigen Werten angegeben werden, damit der Container mit dem Befehl docker run gestartet wird:For the docker run command to start the container, all three of the following options must be specified with valid values:

OptionOption BESCHREIBUNGDescription
ApiKey Der API-Schlüssel der Cognitive Services-Ressource, der zum Nachverfolgen von Abrechnungsinformationen verwendet wird.The API key of the Cognitive Services resource that's used to track billing information.
Der Wert dieser Option muss für die bereitgestellte Ressource, die in Billing angegeben wurde, auf einen API-Schlüssel festgelegt werden.The value of this option must be set to an API key for the provisioned resource that's specified in Billing.
Billing Der Endpunkt der Cognitive Services-Ressource, der zum Nachverfolgen von Abrechnungsinformationen verwendet wird.The endpoint of the Cognitive Services resource that's used to track billing information.
Der Wert dieser Option muss auf den Endpunkt-URI einer bereitgestellten Azure-Ressource festgelegt werden.The value of this option must be set to the endpoint URI of a provisioned Azure resource.
Eula Gibt an, dass Sie die Lizenz für den Container akzeptiert haben.Indicates that you accepted the license for the container.
Der Wert dieser Option muss auf accept festgelegt werden.The value of this option must be set to accept.

Weitere Informationen zu diesen Optionen finden Sie unter Konfigurieren von Containern.For more information about these options, see Configure containers.

BlogbeiträgeBlog posts

EntwicklerbeispieleDeveloper samples

Beispiele für Entwickler finden Sie in unserem GitHub-Repository.Developer samples are available at our GitHub repository.

Anzeigen des WebinarsView webinar

Im Webinar erhalten Sie Informationen zu folgenden Aktionen:Join the webinar to learn about:

  • Bereitstellen von Cognitive Services auf einem beliebigen Computer mit DockerHow to deploy Cognitive Services to any machine using Docker
  • Bereitstellen von Cognitive Services in AKSHow to deploy Cognitive Services to AKS

ZusammenfassungSummary

In diesem Artikel haben Sie die Konzepte und den Workflow zum Herunterladen, Installieren und Ausführen von Speech-Containern kennengelernt.In this article, you learned concepts and workflow for downloading, installing, and running Speech containers. Zusammenfassung:In summary:

  • Speech stellt vier Linux-Container für Docker bereit, die verschiedene Funktionen kapseln:Speech provides four Linux containers for Docker, encapsulating various capabilities:
    • SpracherkennungSpeech-to-text
    • Benutzerdefinierte SpracherkennungCustom Speech-to-text
    • SprachsyntheseText-to-speech
    • Benutzerdefinierte SprachsyntheseCustom Text-to-speech
  • Containerimages werden aus der Containerregistrierung in Azure heruntergeladen.Container images are downloaded from the container registry in Azure.
  • Containerimages werden in Docker ausgeführt.Container images run in Docker.
  • Sie können entweder die REST-API oder das SDK verwenden, um Vorgänge in Speech-Containern über den Host-URI des Containers aufzurufen.You can use either the REST API or SDK to call operations in Speech containers by specifying the host URI of the container.
  • Bei der Instanziierung eines Containers müssen Sie Abrechnungsinformationen angeben.You're required to provide billing information when instantiating a container.

Wichtig

Für die Ausführung von Cognitive Services-Containern besteht keine Lizenz, wenn sie nicht zu Messzwecken mit Azure verbunden sind.Cognitive Services containers are not licensed to run without being connected to Azure for metering. Kunden müssen sicherstellen, dass Container jederzeit Abrechnungsinformationen an den Messungsdienst übermitteln können.Customers need to enable the containers to communicate billing information with the metering service at all times. Cognitive Services-Container senden keine Kundendaten (z.B. das analysierte Bild oder den analysierten Text) an Microsoft.Cognitive Services containers do not send customer data (e.g., the image or text that is being analyzed) to Microsoft.

Nächste SchritteNext steps