Sprachenerkennungscontainer mit Docker
Der Sprachenerkennungscontainer erkennt die Sprache, die in Audiodateien gesprochen wird. Sie können Sprache in Echtzeit oder Batchaudioaufzeichnungen mit Zwischenergebnissen erhalten. In diesem Artikel erfahren Sie, wie Sie einen Sprachenerkennungscontainer herunterladen, installieren und ausführen.
Hinweis
Der Speech-Sprachenerkennungscontainer ist als Public Preview verfügbar. Container in der Vorschauversion befinden sich noch in der Entwicklung und erfüllen nicht die Stabilitäts- und Supportanforderungen von Microsoft.
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.
Tipp
Um die besten Ergebnisse zu erzielen, verwenden Sie den Speech Sprachenerkennungs-Container zusammen mit den Spracherkennungs-Containern oder den benutzerdefinierten Spracherkennungs-Containern.
Containerimages
Das Containerimage „Speech-Sprachenerkennung“ für alle unterstützten Versionen und Gebietsschemas finden Sie im Microsoft Container Registry (MCR)-Syndikat. Es befindet sich im Repository azure-cognitive-services/speechservices/
und trägt den Namen language-detection
.
Der vollqualifizierte Containerimagename lautet mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection
. 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/language-detection:latest |
1.16.0 | mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection:1.16.0-amd64-preview |
Alle Tags, mit Ausnahme von latest
, haben das folgende Format und beachten die Groß-/Kleinschreibung:
<major>.<minor>.<patch>-<platform>-<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/language-detection",
"tags": [
"1.1.0-amd64-preview",
"1.11.0-amd64-preview",
"1.12.0-amd64-preview",
"1.13.0-amd64-preview",
"1.14.0-amd64-preview",
"1.15.0-amd64-preview",
"1.16.0-amd64-preview",
"1.3.0-amd64-preview",
"1.5.0-amd64-preview",
"1.6.1-amd64-preview",
"1.7.0-amd64-preview",
"1.8.0-amd64-preview",
"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/language-detection:latest
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 Sprachenerkennungscontainer ausführen, konfigurieren Sie Port, Arbeitsspeicher und CPU gemäß den Anforderungen und Empfehlungen für den Sprachenerkennungscontainer.
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:5003 --memory 1g --cpus 1 \
mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Dieser Befehl:
- Führt einen Speech-Sprachenerkennungscontainer auf der Grundlage des Containerimages aus.
- Ordnet 1 CPU-Kern und 1 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.
Ausführen mit dem Spracherkennungs-Container
Wenn Sie den Sprachenerkennungs-Container mit dem Spracherkennungs-Container ausführen möchten, können Sie dieses Docker-Image verwenden. Verwenden Sie nach dem Starten beider Container diesen docker run
-Befehl, um speech-to-text-with-languagedetection-client
auszuführen:
docker run --rm -v ${HOME}:/root -ti antsu/on-prem-client:latest ./speech-to-text-with-languagedetection-client ./audio/LanguageDetection_en-us.wav --host localhost --lport 5003 --sport 5000
Das Erhöhen der Anzahl gleichzeitiger Aufrufe kann sich auf Zuverlässigkeit und Wartezeit auswirken. Für die Sprachenerkennung empfiehlt es sich, maximal 4 gleichzeitige Aufrufe mit 1 CPU und 1 GB Arbeitsspeicher zu verwenden. Für Hosts mit 2 CPUs und 2 GB Arbeitsspeicher werden maximal sechs gleichzeitige Aufrufe empfohlen.
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("http://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("http://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("http://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("http://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("http://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:"http://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: "http://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="http://localhost:5000")
Wenn Sie die Speech CLI in einem Container verwenden, schließen Sie die Option --host http://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 die Sprachenerkennung mit der Hostauthentifizierung anstelle von Schlüssel und Region. Wenn Sie die Sprach-ID in einem Container ausführen, verwenden Sie das SourceLanguageRecognizer
-Objekt anstelle von SpeechRecognizer
oder TranslationRecognizer
.
Nächste Schritte
- Lesen Sie die Übersicht über Speech-Container.
- Informieren Sie sich unter Konfigurieren von Containern über Konfigurationseinstellungen.
- Verwenden weiterer Azure KI-Container