Instalace a spouštění kontejnerů služby Speech pomocí Dockeru

Pomocí kontejnerů můžete použít podmnožinu funkcí služby Speech ve vlastním prostředí. V tomto článku se dozvíte, jak stáhnout, nainstalovat a spustit kontejner služby Speech.

Poznámka:

Ceny odpojených kontejnerů a úrovně závazku se liší od standardních kontejnerů. Další informace najdete v tématu Ceny služby Speech.

Požadavky

Před použitím kontejnerů služby Speech musíte splnit následující požadavky. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet. Potřebujete:

  • Docker nainstalovaný na hostitelském počítači. Docker musí být nakonfigurovaný tak, aby se kontejnery mohly připojit a odesílat fakturační data do Azure.
    • Ve Windows musí být Docker také nakonfigurovaný tak, aby podporoval kontejnery Linuxu.
    • Měli byste mít základní znalosti o konceptech Dockeru.
  • Prostředek služby Speech s cenovou úrovní Free (F0) nebo Standard (S).

Argumenty fakturace

Kontejnery služby Speech nejsou licencované ke spouštění bez připojení k Azure pro měření. Kontejner musíte nakonfigurovat tak, aby vždy komunikovali fakturační údaje se službou měření.

Jsou vyžadovány tři primární parametry pro všechny kontejnery Azure AI. Licenční podmínky pro software společnosti Microsoft musí být k dispozici s hodnotou přijetí. Vyžaduje se také identifikátor URI koncového bodu a klíč rozhraní API.

Dotazy na kontejner se účtují na cenové úrovni prostředku Azure, který se používá pro tento ApiKey parametr.

Příkaz docker run spustí kontejner, pokud jsou k dispozici všechny tři z následujících možností s platnými hodnotami:

Možnost Popis
ApiKey Klíč rozhraní API prostředku služby Speech, který se používá ke sledování fakturačních údajů.
Hodnota ApiKey se používá ke spuštění kontejneru a je k dispozici na stránce Klíče webu Azure Portal odpovídajícího prostředku služby Speech. Přejděte na stránku Klíče a vyberte ikonu Kopírovat do schránky.
Billing Koncový bod prostředku služby Speech, který se používá ke sledování fakturačních údajů.
Koncový bod je k dispozici na stránce Přehled webu Azure Portal odpovídajícího prostředku služby Speech. Přejděte na stránku Přehled, najeďte myší na koncový bod a zobrazí se ikona Kopírovat do schránky. Zkopírujte koncový bod a použijte ho tam, kde je to potřeba.
Eula Označuje, že jste přijali licenci pro kontejner.
Hodnota této možnosti musí být nastavena tak, aby přijímala.

Důležité

Tyto klíče předplatného se používají pro přístup k rozhraní API služeb Azure AI. Nesdílejte klíče. Bezpečně je uložte. Použijte například Azure Key Vault. Doporučujeme tyto klíče pravidelně znovu vygenerovat. K volání rozhraní API je nutný jenom jeden klíč. Při opětovném vygenerování prvního klíče můžete pro pokračování přístupu ke službě použít druhý klíč.

Kontejner potřebuje ke spuštění hodnoty fakturačních argumentů. Tyto hodnoty umožňují kontejneru připojit se ke koncovému bodu fakturace. Kontejner hlásí využití přibližně každých 10 až 15 minut. Pokud se kontejner nepřipojí k Azure v rámci povoleného časového intervalu, kontejner se bude dál spouštět, ale nebude obsluhovat dotazy, dokud se neobnoví koncový bod fakturace. Připojení se pokouší 10krát ve stejném časovém intervalu 10 až 15 minut. Pokud se během 10 pokusů nemůže připojit ke koncovému bodu fakturace, kontejner přestane obsluhovat požadavky. Příklad informací odeslaných Microsoftu pro fakturaci najdete v nejčastějších dotazech ke kontejnerům Azure AI v dokumentaci ke službám Azure AI.

Další informace o těchto možnostech najdete v tématu Konfigurace kontejnerů.

Požadavky na kontejnery a doporučení

Následující tabulka popisuje minimální a doporučené přidělení prostředků pro každý kontejner služby Speech:

Kontejner Minimum Doporučeno Speech Model
Převod řeči na text 4 jádra, 4 GB paměti 8 jader, 8 GB paměti +4 až 8 GB paměti
Vlastní řeč na text 4 jádra, 4 GB paměti 8 jader, 8 GB paměti +4 až 8 GB paměti
Identifikace jazyka řeči 1 jádro, 1 GB paměti 1 jádro, 1 GB paměti Není k dispozici
Neurální převod textu na řeč 6 jader, 12 GB paměti 8 jader, 16 GB paměti Není k dispozici

Každé jádro musí mít alespoň 2,6 gigahertz (GHz) nebo rychlejší.

Jádro a paměť odpovídají hodnotám --cpus a --memory nastavením, které se používají jako součást docker run příkazu.

Poznámka:

Minimální a doporučené přidělení jsou založené na limitech Dockeru, nikoli na prostředcích hostitelského počítače. Například převod řeči na textové kontejnery paměti mapuje části velkého jazykového modelu. Doporučujeme, aby se celý soubor vešel do paměti. Pokud chcete načíst řečové modely (viz předchozí tabulka), musíte přidat další 4 až 8 GB. První spuštění některého kontejneru může také trvat déle, protože modely se stránkují do paměti.

Požadavky na hostitelský počítač a doporučení

Hostitel je počítač založený na platformě x64, na kterém běží kontejner Dockeru. Může to být počítač v místním prostředí nebo hostitelská služba Dockeru v Azure, například:

Poznámka:

Kontejnery podporují komprimovaný zvukový vstup do sady Speech SDK pomocí GStreameru. Pokud chcete nainstalovat GStreamer do kontejneru, postupujte podle pokynů pro Linux pro GStreamer v použití komprimovaného zvukového vstupu kodeku se sadou Speech SDK.

Podpora rozšíření Advanced Vector

Hostitel je počítač, na kterém běží kontejner Dockeru. Hostitel musí podporovat rozšířená vektorová rozšíření (AVX2). Podporu AVX2 můžete zkontrolovat na hostitelích s Linuxem pomocí následujícího příkazu:

grep -q avx2 /proc/cpuinfo && echo AVX2 supported || echo No AVX2 support detected

Upozorňující

K podpoře AVX2 se vyžaduje hostitelský počítač. Kontejner nebude správně fungovat bez podpory AVX2.

Spuštění kontejneru

Ke spuštění kontejneru použijte příkaz docker run. Po spuštění se kontejner bude dál spouštět, dokud kontejner nezastavíte.

Poznamenejte si následující osvědčené postupy s příkazem docker run :

  • Znak pokračování řádku: Příkazy Dockeru v následujících částech používají zpětné lomítko, \jako znak pokračování řádku. Nahraďte nebo odeberte tento znak na základě požadavků vašeho hostitelského operačního systému.
  • Pořadí argumentů: Neměňte pořadí argumentů, pokud neznáte kontejnery Dockeru.

K výpisu stažených imagí kontejnerů můžete použít příkaz docker images . Následující příkaz vypíše ID, úložiště a značku každé stažené image kontejneru, která je formátovaná jako tabulka:

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

Tady je příklad výsledku:

IMAGE ID         REPOSITORY                TAG
<image-id>       <repository-path/name>    <tag-name>

Ověření, že je kontejner spuštěný

Existuje několik způsobů, jak ověřit, že je kontejner spuštěný. Vyhledejte externí IP adresu a vystavený port kontejneru a otevřete svůj oblíbený webový prohlížeč. Pomocí různých adres URL požadavků, které následují, ověřte, že kontejner běží.

Tady jsou uvedené http://localhost:5000ukázkové adresy URL požadavků, ale váš konkrétní kontejner se může lišit. Ujistěte se, že spoléháte na externí IP adresu kontejneru a vystavený port.

Adresa URL požadavku Účel
http://localhost:5000/ Kontejner poskytuje domovskou stránku.
http://localhost:5000/ready Požadovaná pomocí příkazu GET poskytuje tuto adresu URL ověření, že kontejner je připravený přijmout dotaz na model. Tento požadavek je možné použít pro sondy připravenosti a aktivity Kubernetes.
http://localhost:5000/status Tato adresa URL také vyžaduje get, ověří, jestli klíč rozhraní API použitý ke spuštění kontejneru je platný, aniž by způsoboval dotaz koncového bodu. Tento požadavek je možné použít pro sondy připravenosti a aktivity Kubernetes.
http://localhost:5000/swagger V kontejneru je ke koncovým bodům a k funkci Vyzkoušet kompletní dokumentace. Pomocí této funkce můžete zadat nastavení do webového formuláře HTML a vytvořit dotaz, aniž byste museli psát žádný kód. Po vrácení dotazu se zobrazí příklad příkazu CURL, který předvede požadované hlavičky HTTP a základní formát.

Zastavení kontejneru

Pokud chcete kontejner vypnout, vyberte v prostředí příkazového řádku, ve kterém je kontejner spuštěný, ctrl+C.

Spuštění více kontejnerů na stejném hostiteli

Pokud máte v úmyslu spouštět více kontejnerů s vystavenými porty, nezapomeňte jednotlivé kontejnery spouštět s jiným vystaveným portem. Například spusťte první kontejner na portu 5000 a druhý kontejner na portu 5001.

Tento kontejner a jiný kontejner Azure AI můžete mít spuštěný společně na hostiteli. Můžete mít také několik kontejnerů stejného kontejneru Azure AI spuštěných.

Adresy URL hostitele

Poznámka:

Pokud používáte více kontejnerů, použijte jedinečné číslo portu.

Protokol Adresa URL hostitele Kontejnery
WS ws://localhost:5000 Převod řeči na text

Vlastní řeč na text
HTTP http://localhost:5000 Neurální text na řeč

Identifikace jazyka řeči

Další informace o používání protokolů WSS a HTTPS najdete v tématu Zabezpečení kontejnerů v dokumentaci ke službám Azure AI.

Řešení problému

Při spuštění nebo spuštění kontejneru může docházet k problémům. Použijte výstupní připojení a povolte protokolování. To umožňuje kontejneru generovat soubory protokolu, které jsou užitečné při řešení problémů.

Tip

Další informace a pokyny k řešení potíží najdete v nejčastějších dotazech k kontejnerům Azure AI v dokumentaci ke službám Azure AI.

Nastavení protokolování

Kontejnery služby Speech mají podporu protokolování ASP.NET Core. Tady je příklad neural-text-to-speech container spuštění s výchozím protokolováním do konzoly:

docker run --rm -it -p 5000:5000 --memory 12g --cpus 6 \
mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY} \
Logging:Console:LogLevel:Default=Information

Další informace o protokolování najdete v tématu Konfigurace kontejnerů služby Speech a záznamů o využití v dokumentaci ke službám Azure AI.

Kontejner diagnostiky Microsoftu

Pokud máte potíže se spuštěním kontejneru Azure AI, můžete zkusit použít diagnostický kontejner Microsoftu. Pomocí tohoto kontejneru můžete diagnostikovat běžné chyby ve vašem prostředí nasazení, které by mohly zabránit tomu, aby kontejnery Azure AI fungovaly podle očekávání.

Kontejner získáte pomocí následujícího docker pull příkazu:

docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic

Pak kontejner spusťte. Nahraďte {ENDPOINT_URI} koncovým bodem a nahraďte {API_KEY} klíčem k vašemu prostředku:

docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Testy kontejnerů pro síťové připojení ke koncovému bodu fakturace.

Spuštění odpojených kontejnerů

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.

Další kroky