Udostępnij za pośrednictwem


Kontenery identyfikacji języka za pomocą platformy Docker

Kontener identyfikacji języka mowy wykrywa język używany w plikach audio. Możesz uzyskać mowę w czasie rzeczywistym lub wsadowe nagrania audio z wynikami pośrednimi. Z tego artykułu dowiesz się, jak pobrać, zainstalować i uruchomić kontener identyfikacji języka.

Uwaga

Kontener identyfikacji języka mowy jest dostępny w publicznej wersji zapoznawczej. Kontenery w wersji zapoznawczej są nadal opracowywane i nie spełniają wymagań firmy Microsoft dotyczących stabilności i pomocy technicznej.

Aby uzyskać więcej informacji na temat wymagań wstępnych, sprawdzania poprawności działania kontenera, uruchamiania wielu kontenerów na tym samym hoście i uruchamiania odłączonych kontenerów, zobacz Instalowanie i uruchamianie kontenerów usługi Mowa za pomocą platformy Docker.

Napiwek

Aby uzyskać najbardziej przydatne wyniki, użyj kontenera identyfikacji języka mowy z zamianą mowy na tekst lub niestandardową mowę w kontenerach tekstu.

Obrazy kontenerów

Obraz kontenera identyfikacji języka mowy dla wszystkich obsługiwanych wersji i ustawień regionalnych można znaleźć w syndykacie usługi Microsoft Container Registry (MCR). Znajduje się on w azure-cognitive-services/speechservices/ repozytorium i ma nazwę language-detection.

Zrzut ekranu przedstawiający okno dialogowe łączników wyszukiwania i wyzwalaczy.

W pełni kwalifikowana nazwa obrazu kontenera to mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection. Dołącz określoną wersję lub dołącz, :latest aby uzyskać najnowszą wersję.

Wersja Ścieżka
Najnowsze 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

Wszystkie tagi, z wyjątkiem latest, mają następujący format i są uwzględniane wielkość liter:

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

Tagi są również dostępne w formacie JSON dla Wygody. Treść zawiera ścieżkę kontenera i listę tagów. Tagi nie są sortowane według wersji, ale "latest" są zawsze uwzględniane na końcu listy, jak pokazano w tym fragmencie kodu:

{
  "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"
  ]
}

Pobieranie obrazu kontenera za pomocą ściągania platformy Docker

Potrzebujesz wymagań wstępnych , w tym wymaganego sprzętu. Zobacz również zalecaną alokację zasobów dla każdego kontenera usługi Mowa.

Użyj polecenia docker pull, aby pobrać obraz kontenera z usługi Microsoft Container Registry:

docker pull mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection:latest

Uruchamianie kontenera za pomocą uruchamiania platformy Docker

Użyj polecenia docker run, aby uruchomić kontener.

W poniższej tabeli przedstawiono różne docker run parametry i odpowiadające im opisy:

Parametr Opis
{ENDPOINT_URI} Punkt końcowy jest wymagany do pomiaru i rozliczeń. Aby uzyskać więcej informacji, zobacz argumenty rozliczeniowe.
{API_KEY} Klucz interfejsu API jest wymagany. Aby uzyskać więcej informacji, zobacz argumenty rozliczeniowe.

Po uruchomieniu kontenera identyfikacji języka mowy skonfiguruj port, pamięć i procesor CPU zgodnie z wymaganiami i zaleceniami dotyczącymi kontenera identyfikacji języka.

Oto przykładowe docker run polecenie z wartościami zastępczymi. Należy określić ENDPOINT_URI wartości i API_KEY :

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}

To polecenie:

  • Uruchamia kontener identyfikacji języka mowy z obrazu kontenera.
  • Przydziela 1 rdzeń procesora CPU i 1 GB pamięci.
  • Uwidacznia port TCP 5000 i przydziela pseudo-TTY dla kontenera.
  • Automatycznie usuwa kontener po jego zakończeniu. Obraz kontenera jest nadal dostępny na komputerze hosta.

Aby uzyskać więcej informacji na temat docker run kontenerów usługi Mowa, zobacz Instalowanie i uruchamianie kontenerów usługi Mowa za pomocą platformy Docker.

Uruchamianie za pomocą kontenera zamiany mowy na tekst

Jeśli chcesz uruchomić kontener identyfikacji języka z kontenerem zamiany mowy na tekst , możesz użyć tego obrazu platformy Docker. Po uruchomieniu obu kontenerów użyj tego docker run polecenia, aby wykonać polecenie speech-to-text-with-languagedetection-client:

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

Zwiększenie liczby wywołań współbieżnych może mieć wpływ na niezawodność i opóźnienie. W przypadku identyfikacji języka zalecamy maksymalnie cztery współbieżne wywołania przy użyciu 1 procesora CPU z 1 GB pamięci. W przypadku hostów z 2 procesorami CPU i 2 GB pamięci zalecamy maksymalnie sześć współbieżnych wywołań.

Korzystanie z kontenera

Kontenery mowy udostępniają internetowe interfejsy API punktów końcowych zapytań oparte na protokole Websocket, które są dostępne za pośrednictwem zestawu SPEECH SDK i interfejsu wiersza polecenia usługi Mowa. Domyślnie zestaw SDK usługi Mowa i interfejs wiersza polecenia usługi Mowa używają publicznej usługi rozpoznawania mowy. Aby użyć kontenera, należy zmienić metodę inicjowania.

Ważne

W przypadku korzystania z usługi Mowa z kontenerami upewnij się, że używasz uwierzytelniania hosta. Jeśli skonfigurujesz klucz i region, żądania będą kierowane do publicznej usługi rozpoznawania mowy. Wyniki z usługi Mowa mogą nie być oczekiwane. Żądania od odłączonych kontenerów zakończą się niepowodzeniem.

Zamiast używać tej konfiguracji inicjowania chmury platformy Azure:

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

Użyj tej konfiguracji z hostem kontenera:

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

Zamiast używać tej konfiguracji inicjowania chmury platformy Azure:

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

Użyj tej konfiguracji z hostem kontenera:

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

Zamiast używać tej konfiguracji inicjowania chmury platformy Azure:

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

Użyj tej konfiguracji z hostem kontenera:

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

Zamiast używać tej konfiguracji inicjowania chmury platformy Azure:

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

Użyj tej konfiguracji z hostem kontenera:

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

Zamiast używać tej konfiguracji inicjowania chmury platformy Azure:

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

Użyj tej konfiguracji z hostem kontenera:

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

Zamiast używać tej konfiguracji inicjowania chmury platformy Azure:

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

Użyj tej konfiguracji z hostem kontenera:

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

Zamiast używać tej konfiguracji inicjowania chmury platformy Azure:

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

Użyj tej konfiguracji z hostem kontenera:

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

Zamiast używać tej konfiguracji inicjowania chmury platformy Azure:

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

Użyj tej konfiguracji z punktem końcowym kontenera:

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

Jeśli używasz interfejsu wiersza polecenia usługi Mowa w kontenerze, dołącz --host http://localhost:5000/ opcję . Należy również określić --key none , aby upewnić się, że interfejs wiersza polecenia nie próbuje użyć klucza mowy do uwierzytelniania. Aby uzyskać informacje o sposobie konfigurowania interfejsu wiersza polecenia usługi Mowa, zobacz Rozpoczynanie pracy z interfejsem wiersza polecenia usługi Azure AI Speech.

Spróbuj zidentyfikować język przy użyciu uwierzytelniania hosta zamiast klucza i regionu. Po uruchomieniu identyfikatora języka w kontenerze użyj SourceLanguageRecognizer obiektu zamiast SpeechRecognizer lub TranslationRecognizer.

Następne kroki