Vlastní kontejnery převodu řeči na text pomocí Dockeru

Kontejner Custom speech to text přepisuje záznamy řeči nebo dávkové zvukové záznamy v reálném čase s průběžnými výsledky. Můžete použít vlastní model, který jste vytvořili na portálu Custom Speech. V tomto článku se dozvíte, jak stáhnout, nainstalovat a spustit kontejner Vlastní řeč na text.

Další informace o požadavcích, ověření, že je kontejner spuštěný, spuštěných více kontejnerů na stejném hostiteli a spouštění odpojených kontejnerů, najdete v tématu Instalace a spuštění kontejnerů Služby Speech pomocí Dockeru.

Image kontejneru

Obrázek kontejneru Vlastní převod řeči na text pro všechny podporované verze a národní prostředí najdete v syndikátu služby Microsoft Container Registry (MCR). Nachází se v úložišti azure-cognitive-services/speechservices/ a má název custom-speech-to-text.

Snímek obrazovky s dialogovým oknem vyhledávacích konektorů a triggerů

Plně kvalifikovaný název image kontejneru je . mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text Pokud chcete získat nejnovější verzi, buď připojte konkrétní verzi, nebo připojte :latest .

Verze Cesta
Latest (Nejnovější) mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text:latest
3.12.0 mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text:3.12.0-amd64

Všechny značky s výjimkou latestmají následující formát a rozlišují se malá a malá písmena:

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

Poznámka

Kontejnery locale a voice pro vlastní převod řeči na text jsou určeny vlastním modelem přijatým kontejnerem.

Značky jsou také k dispozici ve formátu JSON pro usnadnění. Tělo obsahuje cestu ke kontejneru a seznam značek. Značky nejsou seřazené podle verze, ale "latest" jsou vždy zahrnuty na konci seznamu, jak je znázorněno v tomto fragmentu kódu:

{
  "name": "azure-cognitive-services/speechservices/custom-speech-to-text",
  "tags": [
    "2.10.0-amd64",
    "2.11.0-amd64",
    "2.12.0-amd64",
    "2.12.1-amd64",
    <--redacted for brevity-->
    "latest"
  ]
}

Získání image kontejneru pomocí docker pullu

Potřebujete požadavky včetně požadovaného hardwaru. Projděte si také doporučené přidělení prostředků pro každý kontejner služby Speech.

Pomocí příkazu docker pull stáhněte image kontejneru ze služby Microsoft Container Registry:

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

Poznámka

Kontejnery locale a voice pro vlastní službu Speech jsou určeny vlastním modelem přijatým kontejnerem.

Získání ID modelu

Před spuštěním kontejneru potřebujete znát ID vlastního modelu nebo ID základního modelu. Při spuštění kontejneru zadáte jedno z ID modelu, které se má stáhnout a použít.

Vlastní model musí být vytrénovaný pomocí nástroje Speech Studio. Informace o tom, jak získat ID modelu, najdete v tématu Životní cyklus modelu služby Custom Speech.

Snímek obrazovky se stránkou trénování služby Custom Speech

Získejte ID modelu , které se má použít jako argument ModelId parametru docker run příkazu.

Snímek obrazovky s podrobnostmi o modelu služby Custom Speech

Zobrazení stažení modelu

Před spuštěním kontejneru můžete volitelně získat dostupné informace o modelech zobrazení a zvolit si, že si tyto modely stáhnete do kontejneru převodu řeči na text, abyste získali vysoce vylepšený výstup konečného zobrazení. Stažení modelu zobrazení je k dispozici v kontejneru custom-speech-to-text verze 3.1.0 a novější.

Poznámka

I když použijete docker run příkaz, kontejner se pro službu nespustil.

Můžete dotazovat nebo stáhnout některý nebo všechny tyto typy modelů zobrazení: Rescoring (Rescore), Interpunkční znamén (Punct), resegmentation (Resegment) a wfstitn (Wfstitn). V opačném případě můžete použít FullDisplay možnost (s jinými typy nebo bez) k dotazování nebo stažení všech typů modelů zobrazení.

BaseModelLocale Nastavte dotaz na nejnovější dostupný model zobrazení v cílovém národním prostředí. Pokud zahrnete více typů modelů zobrazení, příkaz vrátí nejnovější dostupné modely zobrazení pro každý typ. Příklad:

docker run --rm -it \
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
Punct Rescore Resegment Wfstitn \   # Specify `FullDisplay` or a space-separated subset of display models
BaseModelLocale={LOCALE} \           
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

DisplayLocale Nastavte, aby se stáhl nejnovější dostupný model zobrazení v cílovém národním prostředí. Při nastavení DisplayLocalemusíte také zadat FullDisplay podmnožinu modelů zobrazení oddělených mezerami. Příkaz stáhne nejnovější dostupný model zobrazení pro každý zadaný typ. Příklad:

docker run --rm -it \
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
Punct Rescore Resegment Wfstitn \   # Specify `FullDisplay` or a space-separated subset of display models
DisplayLocale={LOCALE} \           
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Nastavte jeden parametr ID modelu pro stažení konkrétního modelu zobrazení: Rescoring (RescoreId), Interpunkce (PunctId), Resegmentation (ResegmentId) nebo wfstitn (WfstitnId). Je to podobné, jako byste stáhli základní model prostřednictvím parametru ModelId . Pokud například chcete stáhnout model zobrazení s rescoringem, můžete použít následující příkaz s parametrem RescoreId :

docker run --rm -it \
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
RescoreId={RESCORE_MODEL_ID} \         
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Poznámka

Pokud nastavíte více než jeden dotaz nebo parametr stahování, příkaz nastaví prioritu v tomto pořadí: BaseModelLocale, ID modelu a pak DisplayLocale (platí pouze pro modely zobrazení).

Spuštění kontejneru pomocí příkazu Docker Run

Ke spuštění kontejneru pro službu použijte příkaz docker run .

Následující tabulka představuje různé docker run parametry a jejich odpovídající popisy:

Parametr Popis
{VOLUME_MOUNT} Připojení svazku hostitelského počítače, které Docker používá k zachování vlastního modelu. Příkladem je c:\CustomSpeech umístění c:\ jednotky na hostitelském počítači.
{MODEL_ID} ID vlastní řeči nebo základního modelu. Další informace najdete v tématu Získání ID modelu.
{ENDPOINT_URI} Koncový bod se vyžaduje pro měření a fakturaci. Další informace najdete v tématu Argumenty fakturace.
{API_KEY} Klíč rozhraní API je povinný. Další informace najdete v tématu Argumenty fakturace.

Když spustíte vlastní kontejner řeči na text, nakonfigurujte port, paměť a procesor podle požadavků a doporučení vlastního kontejneru řeči na text.

Tady je příklad docker run příkazu se zástupnými hodnotami. Musíte zadat VOLUME_MOUNThodnoty , MODEL_ID, ENDPOINT_URIa API_KEY :

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

Tento příkaz:

  • Spustí vlastní kontejner řeči na text z image kontejneru.
  • Přidělí 4 jádra procesoru a 8 GB paměti.
  • Načte vlastní řeč do textového modelu z připojení vstupu svazku, například C:\CustomSpeech.
  • Zpřístupní port TCP 5000 a přidělí kontejneru pseudo-TTY.
  • Stáhne model zadanou ModelId (pokud ho nenajdete na připojení svazku).
  • Pokud byl vlastní model dříve stažen, ModelId bude ignorován.
  • Automaticky odebere kontejner po jeho ukončení. Image kontejneru je stále dostupná na hostitelském počítači.

Další informace o docker run použití kontejnerů služby Speech najdete v tématu Instalace a spouštění kontejnerů Služby Speech pomocí Dockeru.

Použití kontejneru

Kontejnery služby Speech poskytují rozhraní API koncových bodů dotazů založená na protokolu websocket, ke kterým se přistupuje prostřednictvím sady Speech SDK a rozhraní příkazového řádku služby Speech. Sada Speech SDK a Speech CLI ve výchozím nastavení používají veřejnou službu Speech. Pokud chcete kontejner použít, musíte změnit metodu inicializace.

Důležité

Pokud používáte službu Speech s kontejnery, nezapomeňte použít ověřování hostitele. Pokud nakonfigurujete klíč a oblast, požadavky budou chodit do veřejné služby Speech. Výsledky ze služby Speech nemusí být to, co očekáváte. Požadavky z odpojených kontejnerů selžou.

Místo použití této konfigurace inicializace v cloudu Azure:

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

Použijte tuto konfiguraci s hostitelem kontejneru:

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

Místo použití této konfigurace inicializace v cloudu Azure:

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

Použijte tuto konfiguraci s hostitelem kontejneru:

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

Místo použití této konfigurace inicializace v cloudu Azure:

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

Použijte tuto konfiguraci s hostitelem kontejneru:

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

Místo použití této konfigurace inicializace v cloudu Azure:

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

Použijte tuto konfiguraci s hostitelem kontejneru:

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

Místo použití této konfigurace inicializace v cloudu Azure:

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

Použijte tuto konfiguraci s hostitelem kontejneru:

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

Místo použití této konfigurace inicializace v cloudu Azure:

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

Použijte tuto konfiguraci s hostitelem kontejneru:

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

Místo použití této konfigurace inicializace v cloudu Azure:

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

Použijte tuto konfiguraci s hostitelem kontejneru:

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

Místo použití této konfigurace inicializace v cloudu Azure:

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

Použijte tuto konfiguraci s koncovým bodem kontejneru:

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

Pokud používáte rozhraní příkazového řádku služby Speech v kontejneru, zahrňte tuto --host wss://localhost:5000/ možnost. Musíte také zadat --key none , abyste zajistili, že se rozhraní příkazového řádku nepokusí k ověřování použít klíč řeči. Informace o konfiguraci rozhraní příkazového řádku služby Speech najdete v tématu Začínáme s Azure AI Speech CLI.

Vyzkoušejte rychlý start převodu řeči na text pomocí ověřování hostitele místo klíče a oblasti.

Další kroky