Vlastní převod řeči na textové kontejnery pomocí Dockeru

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

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

Image kontejneru

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

A screenshot of the search connectors and triggers dialog.

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

Verze Cesta
Nejpozdější mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text:latest
4.6.0 mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text:4.6.0-amd64

Všechny značky, s výjimkou latest, jsou v následujícím formátu a rozlišují malá a velká písmena:

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

Poznámka:

voice Kontejner locale vlastní řeči na text určuje vlastní model přijatý 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 pull

Potřebujete požadavky, včetně požadovaného hardwaru. Podívejte se také na 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:

Vlastní locale kontejnery služby Speech a voice pro vlastní kontejnery 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 modelu vlastního modelu nebo ID základního modelu. Při spuštění kontejneru zadáte jedno z ID modelu, které chcete stáhnout a použít.

Vlastní model musí být natrénován pomocí sady Speech Studio. Informace o tom, jak získat ID modelu, najdete v tématu životní cyklus vlastního modelu řeči.

Screenshot that shows the custom speech training page.

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

Screenshot that shows custom speech model details.

Stažení modelu zobrazení

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

Poznámka:

I když příkaz použijete docker run , kontejner není spuštěný pro službu.

Můžete dotazovat nebo stáhnout libovolný nebo všechny tyto typy modelů zobrazení: rescoring (Rescore), interpunkční znaménka (Punct), resegmentation () aResegment wfstitn (Wfstitn). V opačném případě můžete použít FullDisplay možnost (s jinými typy nebo bez něj) 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í, vrátí příkaz 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 na cílovém národním prostředí nejnovější dostupný model zobrazení. Při nastavování 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), Interpunkční znamén (PunctId), resegmentation (ResegmentId) nebo wfstitn (WfstitnId). Podobá se tomu, jak byste si prostřednictvím parametru ModelId stáhli základní model. Pokud chcete například stáhnout model zobrazení rescoringu, 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 parametr dotazu nebo stažení, bude příkaz určovat prioritu v tomto pořadí: BaseModelLocale, ID modelu a pak DisplayLocale (platí pouze pro modely zobrazení).

Spuštění kontejneru pomocí dockeru 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:\CustomSpeechc:\ umístění 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 Fakturační argumenty.
{API_KEY} Vyžaduje se klíč rozhraní API. Další informace najdete v tématu Fakturační argumenty.

Při spuštění vlastní řeči do textového kontejneru nakonfigurujte port, paměť a procesor podle požadavků a doporučení pro vlastní řeč na textový kontejner.

Tady je ukázkový docker run příkaz se zástupnými hodnotami. Je nutné zadat VOLUME_MOUNThodnotu , MODEL_ID, ENDPOINT_URIa API_KEY hodnoty:

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í z image kontejneru kontejneru vlastní řeč na text.
  • 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í pro kontejner pseudo-TTY.
  • Stáhne model vzhledem k ModelId modelu (pokud ho nenajdete na připojení svazku).
  • Pokud byl vlastní model dříve stažen, ModelId bude ignorován.
  • Po ukončení kontejneru se automaticky odebere. Image kontejneru je stále dostupná na hostitelském počítači.

Další informace o kontejnerech služby Speech najdete v docker run 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ých na websocketu, 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 Rozhraní příkazového řádku služby Speech ve výchozím nastavení používají veřejnou službu Speech. Pokud chcete kontejner použít, musíte změnit inicializační metodu.

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 cloudu Azure:

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

Tuto konfiguraci použijte u hostitele kontejneru:

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

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

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

Tuto konfiguraci použijte u hostitele kontejneru:

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

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

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

Tuto konfiguraci použijte u hostitele kontejneru:

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

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

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

Tuto konfiguraci použijte u hostitele kontejneru:

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

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

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

Tuto konfiguraci použijte u hostitele kontejneru:

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

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

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

Tuto konfiguraci použijte u hostitele kontejneru:

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

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

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

Tuto konfiguraci použijte u hostitele kontejneru:

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

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

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

Tuto konfiguraci použijte 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, uveďte tuto --host ws://localhost:5000/ možnost. Musíte také zadat --key none , abyste zajistili, že se rozhraní příkazového řádku nebude pokoušet k ověřování použít klíč služby Speech. Informace o tom, jak nakonfigurovat rozhraní příkazového řádku služby Speech, najdete v tématu Začínáme s Azure AI Speech CLI.

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

Další kroky