Použití místních kontejnerů Dockeru pro sumarizaci

Kontejnery umožňují hostovat rozhraní API pro sumarizaci ve vlastní infrastruktuře. Pokud máte požadavky na zabezpečení nebo zásady správného řízení dat, které se nedají splnit voláním funkce Sumarizace vzdáleně, můžou být kontejnery dobrou volbou.

Požadavky

  • Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet.
  • 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 jazyka s cenovou úrovní Free (F0) nebo Standard (S). Pro odpojené kontejnery se vyžaduje úroveň DC0.

Shromáždění požadovaných parametrů

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.

Identifikátor URI koncového bodu

Tato {ENDPOINT_URI} hodnota je k dispozici na stránce Přehled webu Azure Portal odpovídajícího prostředku služeb Azure AI. 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.

Snímek obrazovky znázorňující shromažďování identifikátoru URI koncového bodu pro pozdější použití

Klávesy

Hodnota {API_KEY} 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žeb Azure AI. Přejděte na stránku Klíče a vyberte ikonu Kopírovat do schránky.

Snímek obrazovky znázorňující získání jednoho ze dvou klíčů pro pozdější použití

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íč.

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:

Následující tabulka popisuje minimální a doporučené specifikace pro dovednosti kontejnerů souhrnu. Uvedené kombinace procesoru a paměti jsou pro vstup tokenu 4000 (spotřeba konverzací je určená pro všechny aspekty stejného požadavku).

Typ kontejneru Doporučený počet jader procesoru Doporučená paměť Notes
Kontejner procesoru sumarizace 16 48 GB
Shrnutí kontejneru GPU 2 24 GB Vyžaduje nvidia GPU, který podporuje Cuda 11.8 s 16GB VRAM.

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

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

Image kontejneru Souhrn najdete v syndikátu registru kontejneru mcr.microsoft.com . Nachází se v úložišti azure-cognitive-services/textanalytics/ a má název summarization. Plně kvalifikovaný název image kontejneru je: mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization

Pokud chcete použít nejnovější verzi kontejneru, můžete použít latest značku. Úplný seznam značek najdete také v MCR.

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

docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu

pro kontejnery procesoru,

docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:gpu

pro kontejnery GPU.

Tip

K výpisu stažených imagí kontejnerů můžete použít příkaz docker images . Následující příkaz například 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}}"

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

Stažení modelů kontejnerů sumarizace

Předpokladem pro spuštění kontejneru sumarizace je nejprve stažení modelů. Můžete to provést spuštěním jednoho z následujících příkazů pomocí image kontejneru procesoru jako příklad:

docker run -v {HOST_MODELS_PATH}:/models mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu downloadModels=ExtractiveSummarization billing={ENDPOINT_URI} apikey={API_KEY}
docker run -v {HOST_MODELS_PATH}:/models mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu downloadModels=AbstractiveSummarization billing={ENDPOINT_URI} apikey={API_KEY}
docker run -v {HOST_MODELS_PATH}:/models mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu downloadModels=ConversationSummarization billing={ENDPOINT_URI} apikey={API_KEY}

Nedoporučuje se stahovat modely pro všechny dovednosti uvnitř stejného HOST_MODELS_PATH, protože kontejner načte všechny modely uvnitř HOST_MODELS_PATH. Tím by se použilo velké množství paměti. Doporučuje se stáhnout pouze model pro dovednost, kterou potřebujete.HOST_MODELS_PATH

Pokud chcete zajistit kompatibilitu mezi modely a kontejnerem, znovu stáhněte využité modely pokaždé, když vytvoříte kontejner pomocí nové verze image. Při použití odpojeného kontejneru by se licence po stažení modelů měla stáhnout znovu.

Spuštění kontejneru pomocí docker run

Jakmile je kontejner Souhrn na hostitelském počítači, spusťte kontejnery pomocí následujícího docker run příkazu. Kontejner se bude dál spouštět, dokud ho nezastavíte. Nahraďte následující zástupné symboly vlastními hodnotami:

Zástupný symbol Hodnota Formát nebo příklad
{HOST_MODELS_PATH} Připojení svazku hostitelského počítače, který Docker používá k zachování modelu. Příkladem je c:\SummarizationModel, kde je jednotka c:\ umístěná na hostitelském počítači.
{ENDPOINT_URI} Koncový bod pro přístup k rozhraní API pro sumarizaci Najdete ho na stránce Klíč a koncový bod vašeho prostředku na webu Azure Portal. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API_KEY} Klíč pro váš prostředek jazyka. Najdete ho na stránce Klíč a koncový bod vašeho prostředku na webu Azure Portal. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
docker run -p 5000:5000 -v {HOST_MODELS_PATH}:/models mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu eula=accept rai_terms=accept billing={ENDPOINT_URI} apikey={API_KEY}

Nebo pokud používáte kontejner GPU, použijte tento příkaz.

docker run -p 5000:5000 --gpus all -v {HOST_MODELS_PATH}:/models mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:gpu eula=accept rai_terms=accept billing={ENDPOINT_URI} apikey={API_KEY}

Pokud je na počítači více než jeden GPU, nahraďte --gpus all ho .--gpus device={DEVICE_ID}

Důležité

  • Příkazy Dockeru v následujících částech používají zpětné lomítko , \jako znak pokračování řádku. Tento postup nahraďte nebo odeberte na základě požadavků vašeho hostitelského operačního systému.
  • Billingrai_terms Aby se kontejner spustil, musí být zadány Eulaa ApiKey možnosti. V opačném případě se kontejner nespustí. Další informace najdete v tématu Fakturace.

Tento příkaz:

  • Spustí kontejner souhrnu z image kontejneru.
  • Přidělí jedno jádro procesoru a 4 gigabajty (GB) paměti.
  • Zpřístupní port TCP 5000 a přidělí pro kontejner pseudo-TTY.
  • Po ukončení kontejneru se automaticky odebere. Image kontejneru je stále dostupná na hostitelském počítači.

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 služeb Azure AI můžete mít spuštěný společně na hostiteli. Můžete mít také několik kontejnerů stejného kontejneru služeb Azure AI spuštěných.

Zadání dotazu do prediktivního koncového bodu kontejneru

Kontejner poskytuje rozhraní API prediktivního koncového bodu pro dotazy založené na REST.

Pro rozhraní API kontejneru použijte hostitele http://localhost:5000.

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.

Domovská stránka kontejneru

Spuštění kontejneru odpojeného od internetu

Pokud chcete tento kontejner používat odpojený od internetu, musíte nejprve požádat o přístup vyplněním aplikace a zakoupením plánu závazku. Další informace najdete v tématu Použití kontejnerů Dockeru v odpojených prostředích .

Pokud jste schválili spuštění kontejneru odpojeného od internetu, použijte následující příklad, který ukazuje formátování docker run příkazu, který použijete, se zástupnými hodnotami. Nahraďte tyto zástupné hodnoty vlastními hodnotami.

Parametr DownloadLicense=True v docker run příkazu stáhne licenční soubor, který umožní spuštění kontejneru Dockeru, 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 s licencí můžete použít pouze s příslušným kontejnerem, pro který jste byli schváleni. Nemůžete například použít licenční soubor pro kontejner převodu řeči na text s kontejnerem služeb Language.

Stažení modelů odpojených kontejnerů souhrnu

Předpokladem pro spuštění kontejneru sumarizace je nejprve stažení modelů. Můžete to provést spuštěním jednoho z následujících příkazů pomocí image kontejneru procesoru jako příklad:

docker run -v {HOST_MODELS_PATH}:/models mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu downloadModels=ExtractiveSummarization billing={ENDPOINT_URI} apikey={API_KEY}
docker run -v {HOST_MODELS_PATH}:/models mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu downloadModels=AbstractiveSummarization billing={ENDPOINT_URI} apikey={API_KEY}
docker run -v {HOST_MODELS_PATH}:/models mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu downloadModels=ConversationSummarization billing={ENDPOINT_URI} apikey={API_KEY}

Nedoporučuje se stahovat modely pro všechny dovednosti uvnitř stejného HOST_MODELS_PATH, protože kontejner načte všechny modely uvnitř HOST_MODELS_PATH. Tím by se použilo velké množství paměti. Doporučuje se stáhnout pouze model pro dovednost, kterou potřebujete.HOST_MODELS_PATH

Pokud chcete zajistit kompatibilitu mezi modely a kontejnerem, znovu stáhněte využité modely pokaždé, když vytvoříte kontejner pomocí nové verze image. Při použití odpojeného kontejneru by se licence po stažení modelů měla stáhnout znovu.

Spuštění odpojeného kontejneru pomocí docker run

Zástupný symbol Hodnota Formát nebo příklad
{IMAGE} Image kontejneru, kterou chcete použít. mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu
{LICENSE_MOUNT} Cesta, kam se licence stáhne, a připojí se. /host/license:/path/to/license/directory
{HOST_MODELS_PATH} Cesta, kam byly modely staženy, a připojeny. /host/models:/models
{ENDPOINT_URI} Koncový bod pro ověření vaší žádosti o služby. Najdete ho na stránce Klíč a koncový bod vašeho prostředku na webu Azure Portal. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API_KEY} Klíč prostředku Analýza textu. Najdete ho na stránce Klíč a koncový bod vašeho prostředku na webu Azure Portal. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{CONTAINER_LICENSE_DIRECTORY} Umístění složky s licencí v místním systému souborů kontejneru. /path/to/license/directory
docker run --rm -it -p 5000:5000 \ 
-v {LICENSE_MOUNT} \
-v {HOST_MODELS_PATH} \
{IMAGE} \
eula=accept \
rai_terms=accept \
billing={ENDPOINT_URI} \
apikey={API_KEY} \
DownloadLicense=True \
Mounts:License={CONTAINER_LICENSE_DIRECTORY} 

Po stažení souboru licence můžete kontejner spustit v odpojeném prostředí. Následující příklad ukazuje formátování docker run příkazu, který použijete, 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.

Zástupný symbol Hodnota Formát nebo příklad
{IMAGE} Image kontejneru, kterou chcete použít. mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu
{MEMORY_SIZE} Odpovídající velikost paměti, která se má přidělit pro váš kontejner. 4g
{NUMBER_CPUS} Odpovídající počet procesorů pro přidělení kontejneru. 4
{LICENSE_MOUNT} Cesta, kde bude licence umístěna a připojena. /host/license:/path/to/license/directory
{HOST_MODELS_PATH} Cesta, kam byly modely staženy, a připojeny. /host/models:/models
{OUTPUT_PATH} Výstupní cesta pro protokolování záznamů o využití. /host/output:/path/to/output/directory
{CONTAINER_LICENSE_DIRECTORY} Umístění složky s licencí v místním systému souborů kontejneru. /path/to/license/directory
{CONTAINER_OUTPUT_DIRECTORY} Umístění výstupní složky v místním systému souborů kontejneru /path/to/output/directory
docker run --rm -it -p 5000:5000 --memory {MEMORY_SIZE} --cpus {NUMBER_CPUS} \ 
-v {LICENSE_MOUNT} \ 
-v {HOST_MODELS_PATH} \
-v {OUTPUT_PATH} \
{IMAGE} \
eula=accept \
rai_terms=accept \
Mounts:License={CONTAINER_LICENSE_DIRECTORY}
Mounts:Output={CONTAINER_OUTPUT_DIRECTORY}

Zastavení kontejneru

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

Řešení problému

Pokud kontejner spustíte s povoleným připojením a protokolováním výstupu, kontejner vygeneruje soubory protokolu, které jsou užitečné při řešení problémů, ke kterým dochází při spuštění nebo spuštění kontejneru.

Tip

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

Fakturace

Kontejnery sumarizace odesílají fakturační údaje do Azure pomocí prostředku jazyka na vašem účtu Azure.

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

Kontejnery služeb Azure AI nejsou licencované ke spuštění bez připojení ke koncovému bodu měření nebo fakturace. Kontejnery musíte povolit, aby vždy komunikují fakturační údaje s koncovým bodem fakturace. Kontejnery služeb Azure AI neodesílají zákaznická data, jako je obrázek nebo text analyzovaný, do Microsoftu.

Připojení k Azure

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 kontejneru služeb Azure AI.

Argumenty fakturace

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žeb Azure AI, který se používá ke sledování fakturačních údajů.
Hodnota této možnosti musí být nastavena na klíč rozhraní API pro zřízený prostředek, který je zadaný v Billing.
Billing Koncový bod prostředku služeb Azure AI, který se používá ke sledování fakturačních údajů.
Hodnota této možnosti musí být nastavená na identifikátor URI koncového bodu zřízeného prostředku Azure.
Eula Označuje, že jste přijali licenci pro kontejner.
Hodnota této možnosti musí být nastavena tak, aby přijímala.

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

Shrnutí

V tomto článku jste se naučili koncepty a pracovní postupy pro stahování, instalaci a spouštění kontejnerů souhrnů. Souhrnně:

  • Shrnutí poskytuje kontejnery Linuxu pro Docker
  • Image kontejnerů se stáhnou ze služby Microsoft Container Registry (MCR).
  • Image kontejnerů se spouštějí v Dockeru.
  • Při vytváření instance kontejneru je nutné zadat fakturační údaje.

Důležité

Tento kontejner nemá licenci ke spuštění bez připojení k Azure za účelem měření. Zákazníci musí kontejnerům umožnit, aby vždy komunikují s fakturačními údaji se službou měření. Kontejnery Azure AI neodesílají zákaznická data (např. text analyzovaný) do Microsoftu.

Další kroky