Spracherkennungs-Container mit Docker

Der Spracherkennungs-Container transkribiert Sprache in Echtzeit oder Batchaudioaufzeichnungen mit Zwischenergebnissen. In diesem Artikel erfahren Sie, wie Sie einen Spracherkennungs-Container herunterladen, installieren und ausführen.

Weitere Informationen zu den Voraussetzungen, zum Überprüfen, ob ein Container ausgeführt wird, Ausführen mehrerer Container auf demselben Host und Ausführen nicht verbundener Container finden Sie unter Installieren und Ausführen von Docker-Containern für die APIs des Speech-Diensts.

Containerimages

Das Spracherkennungs-Containerimage für alle unterstützten Versionen und Gebietsschemata finden Sie im Microsoft Container Registry (MCR)-Syndikat. Es befindet sich im Repository azure-cognitive-services/speechservices/ und trägt den Namen speech-to-text.

A screenshot of the search connectors and triggers dialog.

Der vollqualifizierte Containerimagename lautet mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text. Fügen Sie entweder eine bestimmte Version oder zum Abrufen der aktuellen Version :latest an.

Version `Path`
Neueste Version mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:latest

Das latest-Tag pullt das aktuelle Image für das Gebietsschema en-US.
4.6.0 mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:4.6.0-amd64-mr-in

Alle Tags, mit Ausnahme von latest, haben das folgende Format und beachten die Groß-/Kleinschreibung:

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

Die Tags sind der Einfachheit halber auch im JSON-Format verfügbar. Der Text enthält den Containerpfad und eine Liste mit Tags. Die Tags sind nicht nach Version sortiert, "latest" ist jedoch wie im folgenden Codeschnipsel gezeigt immer am Ende der Liste enthalten:

{
  "name": "azure-cognitive-services/speechservices/speech-to-text",
  "tags": [
    "2.10.0-amd64-ar-ae",
    "2.10.0-amd64-ar-bh",
    "2.10.0-amd64-ar-eg",
    "2.10.0-amd64-ar-iq",
    "2.10.0-amd64-ar-jo",
    <--redacted for brevity-->
    "latest"
  ]
}

Abrufen des Containerimages mit dem Befehl „docker pull“

Sie müssen die Voraussetzungen erfüllen (einschließlich der Hardwareanforderungen). Sehen Sie sich auch die empfohlene Zuordnung von Ressourcen für die einzelnen Speech-Container an.

Verwenden Sie den Befehl docker pull, um ein Containerimage aus Microsoft Container Registry herunterzuladen:

docker pull mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:latest

Wichtig

Das latest-Tag pullt das aktuelle Image für das Gebietsschema en-US. Weitere Versionen und Gebietsschemata finden Sie unter Spracherkennungs-Containerimages.

Ausführen des Containers mit „docker run“

Verwenden Sie den Befehl docker run, um den Container auszuführen.

Die folgende Tabelle zeigt die verschiedenen docker run-Parameter und die entsprechenden Beschreibungen:

Parameter BESCHREIBUNG
{ENDPOINT_URI} Der Endpunkt ist zur Messung und Abrechnung erforderlich. Weitere Informationen finden Sie unter Abrechnungsargumente.
{API_KEY} Der API-Schlüssel ist erforderlich. Weitere Informationen finden Sie unter Abrechnungsargumente.

Wenn Sie den Spracherkennungs-Container ausführen, konfigurieren Sie Port, Arbeitsspeicher und CPU gemäß den Anforderungen und Empfehlungen für Spracherkennungs-Container.

Hier sehen Sie einen Beispielbefehl docker run mit Platzhalterwerten. Sie müssen die Werte ENDPOINT_URI und API_KEY angeben:

docker run --rm -it -p 5000:5000 --memory 8g --cpus 4 \
mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Dieser Befehl:

  • Führt einen speech-to-text-Container auf der Grundlage des Containerimages aus.
  • Ordnet 4 CPU-Kerne und 8 GB Arbeitsspeicher zu.
  • Macht den TCP-Port 5000 verfügbar und ordnet eine Pseudo-TTY-Verbindung für den Container zu.
  • Entfernt den Container automatisch, nachdem er beendet wurde. Das Containerimage ist auf dem Hostcomputer weiterhin verfügbar.

Weitere Informationen zur Verwendung von docker run mit Speech-Containern finden Sie unter Installieren und Ausführen von Docker-Containern für die APIs des Speech-Diensts.

Verwenden des Containers

Speech-Container bieten websocketbasierte Abfrageendpunkt-APIs, auf die über das Speech SDK und die Speech-Befehlszeilenschnittstelle (Command Line Interface, CLI) zugegriffen wird. Standardmäßig verwenden das Speech SDK und die Speech-CLI den öffentlichen Speech-Dienst. Um den Container verwenden zu können, müssen Sie die Initialisierungsmethode ändern.

Wichtig

Wenn Sie den Speech-Dienst mit Containern verwenden, müssen Sie die Hostauthentifizierung verwenden. Wenn Sie den Schlüssel und die Region konfigurieren, werden Anforderungen an den öffentlichen Speech-Dienst gesendet. Die Ergebnisse des Speech-Diensts sind möglicherweise nicht wie erwartet. Anforderungen von nicht verbundenen Containern schlagen fehl.

Verwenden Sie anstelle dieser Konfiguration für die Azure-Cloudinitialisierung:

var config = SpeechConfig.FromSubscription(...);

Die folgende Konfiguration mit dem Container host:

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

Verwenden Sie anstelle dieser Konfiguration für die Azure-Cloudinitialisierung:

auto speechConfig = SpeechConfig::FromSubscription(...);

Die folgende Konfiguration mit dem Container host:

auto speechConfig = SpeechConfig::FromHost("ws://localhost:5000");

Verwenden Sie anstelle dieser Konfiguration für die Azure-Cloudinitialisierung:

speechConfig, err := speech.NewSpeechConfigFromSubscription(...)

Die folgende Konfiguration mit dem Container host:

speechConfig, err := speech.NewSpeechConfigFromHost("ws://localhost:5000")

Verwenden Sie anstelle dieser Konfiguration für die Azure-Cloudinitialisierung:

SpeechConfig speechConfig = SpeechConfig.fromSubscription(...);

Die folgende Konfiguration mit dem Container host:

SpeechConfig speechConfig = SpeechConfig.fromHost("ws://localhost:5000");

Verwenden Sie anstelle dieser Konfiguration für die Azure-Cloudinitialisierung:

const speechConfig = sdk.SpeechConfig.fromSubscription(...);

Die folgende Konfiguration mit dem Container host:

const speechConfig = sdk.SpeechConfig.fromHost("ws://localhost:5000");

Verwenden Sie anstelle dieser Konfiguration für die Azure-Cloudinitialisierung:

SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:...];

Die folgende Konfiguration mit dem Container host:

SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithHost:"ws://localhost:5000"];

Verwenden Sie anstelle dieser Konfiguration für die Azure-Cloudinitialisierung:

let speechConfig = SPXSpeechConfiguration(subscription: "", region: "");

Die folgende Konfiguration mit dem Container host:

let speechConfig = SPXSpeechConfiguration(host: "ws://localhost:5000");

Verwenden Sie anstelle dieser Konfiguration für die Azure-Cloudinitialisierung:

speech_config = speechsdk.SpeechConfig(
    subscription=speech_key, region=service_region)

Die folgende Konfiguration mit dem Container endpoint:

speech_config = speechsdk.SpeechConfig(
    host="ws://localhost:5000")

Wenn Sie die Speech CLI in einem Container verwenden, schließen Sie die Option --host ws://localhost:5000/ ein. Sie müssen auch --key none angeben, um sicherzustellen, dass die CLI nicht versucht, einen Speech-Schlüssel für die Authentifizierung zu verwenden. Informationen zum Konfigurieren der Speech-CLI finden Sie unter Erste Schritte mit der Azure KI Speech-CLI.

Testen Sie den Schnellstart zur Spracherkennung mithilfe der Hostauthentifizierung anstelle von Schlüssel und Region.

Nächste Schritte