Vlastní převod řeči na textové kontejnery pomocí Dockeru
Článek
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.
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.
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.
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:
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.
Získejte ID modelu, které se má použít jako argument ModelId parametru docker run příkazu.
Dostupné informace o základním modelu můžete získat pomocí možnosti BaseModelLocale={LOCALE}. Tato možnost poskytuje seznam dostupných základních modelů na tomto národním prostředí v rámci vašeho fakturačního účtu.
Pokud chcete získat ID základního docker run modelu, použijte příkaz. Příklad:
Tento příkaz zkontroluje image kontejneru a vrátí dostupné základní modely cílového národního prostředí.
Poznámka
I když příkaz použijete docker run , kontejner není spuštěný pro službu.
Výstup obsahuje seznam základních modelů s národním prostředím informací, ID modelu a datem vytvoření. Příklad:
Checking available base model for en-us
2020/10/30 21:54:20 [Info] Searching available base models for en-us
2020/10/30 21:54:21 [Info] [Base model] Locale: en-us, CreatedDate: 2016-11-04T08:23:42Z, Id: a3d8aab9-6f36-44cd-9904-b37389ce2bfa
2020/10/30 21:54:21 [Info] [Base model] Locale: en-us, CreatedDate: 2016-11-04T12:01:02Z, Id: cc7826ac-5355-471d-9bc6-a54673d06e45
2020/10/30 21:54:21 [Info] [Base model] Locale: en-us, CreatedDate: 2017-08-17T12:00:00Z, Id: a1f8db59-40ff-4f0e-b011-37629c3a1a53
2020/10/30 21:54:21 [Info] [Base model] Locale: en-us, CreatedDate: 2018-04-16T11:55:00Z, Id: c7a69da3-27de-4a4b-ab75-b6716f6321e5
2020/10/30 21:54:21 [Info] [Base model] Locale: en-us, CreatedDate: 2018-09-21T15:18:43Z, Id: da494a53-0dad-4158-b15f-8f9daca7a412
2020/10/30 21:54:21 [Info] [Base model] Locale: en-us, CreatedDate: 2018-10-19T11:28:54Z, Id: 84ec130b-d047-44bf-a46d-58c1ac292ca7
2020/10/30 21:54:21 [Info] [Base model] Locale: en-us, CreatedDate: 2018-11-26T07:59:09Z, Id: ee5c100f-152f-4ae5-9e9d-014af3c01c56
2020/10/30 21:54:21 [Info] [Base model] Locale: en-us, CreatedDate: 2018-11-26T09:21:55Z, Id: d04959a6-71da-4913-9997-836793e3c115
2020/10/30 21:54:21 [Info] [Base model] Locale: en-us, CreatedDate: 2019-01-11T10:04:19Z, Id: 488e5f23-8bc5-46f8-9ad8-ea9a49a8efda
2020/10/30 21:54:21 [Info] [Base model] Locale: en-us, CreatedDate: 2019-02-18T14:37:57Z, Id: 0207b3e6-92a8-4363-8c0e-361114cdd719
2020/10/30 21:54:21 [Info] [Base model] Locale: en-us, CreatedDate: 2019-03-03T17:34:10Z, Id: 198d9b79-2950-4609-b6ec-f52254074a05
2020/10/30 21:54:21 [Fatal] Please run this tool again and assign --modelId '<one above base model id>'. If no model id listed above, it means currently there is no available base model for en-us
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 :
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í).
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:
Pokud chcete spustit odpojené kontejnery (nepřipojené k internetu), musíte odeslat tento formulář žádosti a počkat na schválení. Další informace o použití a zakoupení plánu závazku k používání kontejnerů v odpojených prostředích najdete v tématu Použití kontejnerů v odpojených prostředích v dokumentaci ke službám Azure AI.
Pokud jste schváleni ke spuštění kontejneru odpojeného od internetu, následující příklad ukazuje formátování docker run příkazu, který se má použít, se zástupnými hodnotami. Nahraďte tyto zástupné hodnoty vlastními hodnotami.
K přípravě a konfiguraci odpojeného vlastního převodu řeči na textový kontejner potřebujete dva samostatné prostředky řeči:
Běžný prostředek Azure AI Speech, který je buď nakonfigurovaný tak, aby používal cenovou úroveň S0 – Standard, nebo cenový plán úrovně Pro převod řeči na text (vlastní). Používá se k trénování, stahování a konfiguraci vlastních modelů řeči pro použití v kontejneru.
Prostředek Azure AI Speech, který je nakonfigurovaný tak, aby používal cenový plán DC0 Commitment (Odpojeno). Slouží ke stažení odpojeného licenčního souboru kontejneru potřebného ke spuštění kontejneru v odpojeném režimu.
Podle těchto kroků stáhněte a spusťte kontejner v odpojených prostředích.
Stáhněte model pro odpojený kontejner. V tomto kroku použijte běžný prostředek Azure AI Speech, který je buď nakonfigurovaný tak, aby používal cenovou úroveň S0 – Standard, nebo cenový plán úrovně Speech to Text (Vlastní).
Stáhněte odpojenou licenci kontejneru. V tomto kroku použijte prostředek Azure AI Speech, který je nakonfigurovaný tak, aby používal cenový plán DC0 Závazek (odpojeno).
Spusťte odpojený kontejner pro službu. V tomto kroku použijte prostředek Azure AI Speech, který je nakonfigurovaný tak, aby používal cenový plán DC0 Závazek (odpojeno).
Stažení modelu pro odpojený kontejner
V tomto kroku použijte běžný prostředek Azure AI Speech, který je buď nakonfigurovaný tak, aby používal cenovou úroveň S0 – Standard, nebo cenový plán úrovně Speech to Text (Vlastní).
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:
Dále si stáhnete odpojený licenční soubor. Parametr DownloadLicense=True v docker run příkazu stáhne licenční soubor, který kontejneru Dockeru umožní spustit, když není připojený k internetu. Obsahuje také datum vypršení platnosti, po kterém bude soubor licence neplatný pro spuštění kontejneru.
Soubor licence můžete použít pouze s příslušným kontejnerem a modelem, pro který jste byli schváleni. Například pro kontejner s kontejnerem neural-text-to-speech nemůžete použít licenční souborspeech-to-text.
Po stažení souboru licence můžete kontejner spustit v odpojeném prostředí. Následující příklad ukazuje formátování používaného docker run příkazu se zástupnými hodnotami. Nahraďte tyto zástupné hodnoty vlastními hodnotami.
Všude, kde je kontejner spuštěný, musí být soubor licence připojen ke kontejneru a umístění složky s licencí v místním systému souborů kontejneru musí být zadáno pomocí Mounts:License=. Musí být zadán také výstupní připojení, aby bylo možné zapsat záznamy o využití fakturace.
Kontejner s vlastním převodem řeči na text poskytuje výchozí adresář pro zápis licenčního souboru a fakturačního protokolu za běhu. Výchozí adresáře jsou /license a /output.
Když tyto adresáře připojíte ke kontejneru pomocí docker run -v příkazu, před spuštěním kontejneru se ujistěte, že je adresář místního počítače nastavený na user:group nonroot:nonroot vlastnictví.
Níže je ukázkový příkaz pro nastavení vlastnictví souboru nebo adresáře.
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:
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.
Vytvořte a nakonfigurujte plnohodnotné vývojové prostředí založené na kontejnerech s rozšířením Visual Studio Code Dev Containers. Můžete otevřít libovolnou složku nebo úložiště v kontejneru a využívat všechny funkce sady Visual Studio Code, jako je IntelliSense (dokončování), navigace v kódu a ladění.
Nainstalujte a spusťte službu Speech do textových kontejnerů pomocí Dockeru, abyste mohli provádět rozpoznávání řeči, přepis, generování a další funkce místně.
Služba Speech poskytuje každému kontejneru společnou konfigurační architekturu, abyste mohli pro kontejnery snadno konfigurovat a spravovat úložiště, protokolování a nastavení zabezpečení.
Pomocí Kubernetes a Helmu definujeme řeč na text a text na image kontejnerů řeči, vytvoříme balíček Kubernetes. Tento balíček se nasadí do místního clusteru Kubernetes.