Sdílet prostřednictvím


Konfigurace kontejnerů OCR Dockeru pro čtení

Prostředí modulu runtime kontejneru OCR pro čtení služby Azure AI Vision můžete nakonfigurovat pomocí docker run argumentů příkazu. Tento kontejner má několik požadovaných nastavení a několik volitelných nastavení. K dispozici je několik příkladů příkazu. Nastavení specifické pro kontejner jsou nastavení fakturace.

Nastavení konfigurace

Kontejner má následující nastavení konfigurace:

Požaduje se Nastavení Purpose
Ano Klíč rozhraní API Sleduje fakturační údaje.
No ApplicationInsights Umožňuje do kontejneru přidávat Aplikace Azure Přehledy podporu telemetrie.
Ano Fakturace Určuje identifikátor URI koncového bodu prostředku služby v Azure.
Ano Eula Označuje, že jste přijali licenci pro kontejner.
No Fluentd Zapisuje protokoly a volitelně data metrik na server Fluentd.
No HTTP Proxy Nakonfiguruje proxy server HTTP pro vytváření odchozích požadavků.
No Protokolování Poskytuje podporu protokolování ASP.NET Core pro váš kontejner.
No Koně Čte a zapisuje data z hostitelského počítače do kontejneru a z kontejneru zpět do hostitelského počítače.

Důležité

Společně ApiKeyse používají hodnoty , Billinga Eula nastavení a musíte zadat platné hodnoty pro všechny tři. Jinak se kontejner nespustí. Další informace o použití těchto nastavení konfigurace k vytvoření instance kontejneru najdete v tématu Fakturace.

Kontejner má také následující nastavení konfigurace specifické pro kontejner:

Požaduje se Nastavení Účel
No ReadEngineConfig:ResultExpirationPeriod Pouze kontejnery v2.0. Doba vypršení platnosti výsledku v hodinách Výchozí hodnota je 48 hodin. Nastavení určuje, kdy má systém vymazat výsledky rozpoznávání. Pokud resultExpirationPeriod=1například systém vymaže výsledek rozpoznávání 1 hodinu po procesu. Pokud resultExpirationPeriod=0systém po načtení výsledku vymaže výsledek rozpoznávání.
No Cache:Redis Pouze kontejnery v2.0. Povolí úložiště Redis pro ukládání výsledků. Mezipaměť se vyžaduje , pokud je za nástrojem pro vyrovnávání zatížení umístěno více kontejnerů OCR pro čtení.
No Fronta:RabbitMQ Pouze kontejnery v2.0. Povolí RabbitMQ pro odesílání úkolů. Nastavení je užitečné, když je několik kontejnerů OCR pro čtení umístěné za nástrojem pro vyrovnávání zatížení.
No Queue:Azure:QueueVisibilityTimeoutInMilliseconds Pouze kontejnery v3.x. Čas, kdy má být zpráva neviditelná, když ji zpracovává jiný pracovník.
No Úložiště::D ocumentStore::MongoDB Pouze kontejnery v2.0. Povolí MongoDB pro trvalé úložiště výsledků.
No Storage:ObjectStore:AzureBlob:Připojení ionString Pouze kontejnery v3.x. Azure Blob Storage připojovací řetězec.
No Úložiště:TimeToLiveInDays Pouze kontejnery v3.x. Doba vypršení platnosti výsledku ve dnech Nastavení určuje, kdy má systém vymazat výsledky rozpoznávání. Výchozí hodnota je 2 dny, což znamená, že jakýkoli výsledek je aktivní po delší dobu, než je zaručeno, že se úspěšně načte. Hodnota je celé číslo a musí být mezi 1 dny a 7 dny.
No StorageTimeToLiveInMinutes v3.2-model-2021-09-30-preview a nové kontejnery. Doba vypršení platnosti výsledku v minutách. Nastavení určuje, kdy má systém vymazat výsledky rozpoznávání. Výchozí hodnota je 2 dny (2880 minut), což znamená, že jakýkoli výsledek zažije déle, než je toto období, není zaručeno, že se úspěšně načte. Hodnota je celé číslo a musí být mezi 60 minut a 7 dny (10080 minut).
No Úkol:MaxRunningTimeSpanInMinutes Pouze kontejnery v3.x. Maximální doba běhu pro jeden požadavek Výchozí hodnota je 60 minut.
No EnableSyncNTPServer Pouze kontejnery v3.x s výjimkou kontejnerů v3.2-model-2021-09-30-preview a novějších kontejnerů. Umožňuje mechanismus synchronizace serveru NTP, který zajišťuje synchronizaci mezi systémovým časem a očekávaným modulem runtime úloh. Mějte na paměti, že to vyžaduje externí síťový provoz. Výchozí hodnota je true.
No NTPServerAddress Pouze kontejnery v3.x s výjimkou kontejnerů v3.2-model-2021-09-30-preview a novějších kontejnerů. Server NTP pro synchronizaci času. Výchozí hodnota je time.windows.com.
No Připojení:Sdílené Pouze kontejnery v3.x. Místní složka pro ukládání výsledků rozpoznávání Výchozí hodnota je /share. Pro spuštění kontejneru bez použití úložiště objektů blob v Azure doporučujeme připojit svazek k této složce, abyste měli dostatek místa pro výsledky rozpoznávání.

Nastavení konfigurace ApiKey

Toto ApiKey nastavení určuje klíč prostředku Vision použitý ke sledování fakturačních údajů pro kontejner. Musíte zadat hodnotu pro ApiKey a hodnota musí být platným klíčem pro prostředek Vision zadaný pro Billing nastavení konfigurace.

Toto nastavení najdete na následujícím místě:

  • Azure Portal: Správa prostředků služeb Azure AI v části Klíče

Nastavení aplikace Přehledy

Nastavení ApplicationInsights umožňuje přidat do kontejneru podporu telemetrie Aplikace Azure Přehledy. Application Přehledy poskytuje podrobné monitorování kontejneru. Kontejner můžete snadno monitorovat z hlediska dostupnosti, výkonu a využití. Můžete také rychle identifikovat a diagnostikovat chyby v kontejneru.

Následující tabulka popisuje nastavení konfigurace podporovaná ApplicationInsights v části.

Požaduje se Name Datový typ Popis
No InstrumentationKey String Instrumentační klíč instance aplikace Přehledy, do které se odesílají telemetrická data kontejneru. Další informace najdete v tématu Přehledy aplikace pro ASP.NET Core.

Příklad:
InstrumentationKey=123456789

Nastavení konfigurace fakturace

Nastavení Billing určuje identifikátor URI koncového bodu prostředku služeb Azure AI v Azure, který se používá k měření fakturačních údajů pro kontejner. Musíte zadat hodnotu tohoto nastavení konfigurace a hodnota musí být platným identifikátorem URI koncového bodu pro prostředek služeb Azure AI v Azure. Kontejner hlásí využití přibližně každých 10 až 15 minut.

Toto nastavení najdete na následujícím místě:

  • Azure Portal: Přehled služeb Azure AI s popiskem Endpoint

Nezapomeňte přidat vision/<version> směrování do identifikátoru URI koncového bodu, jak je znázorněno v následující tabulce.

Požaduje se Name Datový typ Popis
Ano Billing String Identifikátor URI koncového bodu fakturace

Příklad:
Billing=https://westcentralus.api.cognitive.microsoft.com/vision/v3.2

Nastavení Eula

Nastavení Eula značí, že jste přijali licenci pro kontejner. Je nutné zadat hodnotu pro toto nastavení konfigurace a hodnota musí být nastavena na accept.

Požaduje se Name Datový typ Popis
Ano Eula String Přijetí licence

Příklad:
Eula=accept

Kontejnery služeb Azure AI jsou licencované podle vaší smlouvy , která se řídí používáním Azure. Pokud nemáte stávající smlouvu, která se řídí používáním Azure, souhlasíte s tím, že vaše smlouva, která se řídí používáním Azure, je Smlouva o předplatném Microsoft Online, která zahrnuje podmínky online služeb. U verzí Preview souhlasíte také s dodatečnými podmínkami použití pro verze Preview Microsoft Azure. Použitím kontejneru souhlasíte s těmito podmínkami.

Nastavení fluentd

Fluentd je opensourcový kolektor dat pro jednotné protokolování. Nastavení Fluentd spravuje připojení kontejneru k serveru Fluentd . Kontejner obsahuje zprostředkovatele protokolování Fluentd, který kontejneru umožňuje zapisovat protokoly a volitelně data metrik na server Fluentd.

Následující tabulka popisuje nastavení konfigurace podporovaná Fluentd v části.

Name Datový typ Popis
Host String IP adresa nebo název hostitele DNS serveru Fluentd.
Port Celé číslo Port serveru Fluentd.
Výchozí hodnota je 24224.
HeartbeatMs Celé číslo Interval prezenčního signálu v milisekundách. Pokud se před vypršením tohoto intervalu neposílal žádný provoz událostí, odešle se na server Fluentd prezenčních signálů. Výchozí hodnota je 60000 milisekund (1 minuta).
SendBufferSize Celé číslo Prostor vyrovnávací paměti sítě v bajtech přidělený pro operace odesílání. Výchozí hodnota je 32768 bajtů (32 kilobajtů).
TlsConnectionEstablishmentTimeoutMs Celé číslo Časový limit v milisekundách pro navázání připojení SSL/TLS k serveru Fluentd. Výchozí hodnota je 1 0000 milisekund (10 sekund).
Pokud UseTLS je nastavená hodnota false, tato hodnota se ignoruje.
UseTLS Logická hodnota Určuje, jestli má kontejner pro komunikaci se serverem Fluentd používat protokol SSL/TLS. Výchozí hodnota je false.

Nastavení přihlašovacích údajů proxy serveru HTTP

Pokud potřebujete nakonfigurovat proxy server HTTP pro vytváření odchozích požadavků, použijte tyto dva argumenty:

Name Datový typ Popis
HTTP_PROXY string Proxy server, který se má použít, například http://proxy:8888
<proxy-url>
HTTP_PROXY_CREDS string Všechny přihlašovací údaje potřebné k ověření na proxy serveru, username:passwordnapříklad . Tato hodnota musí být malá písmena.
<proxy-user> string Uživatel proxy serveru.
<proxy-password> string Heslo přidružené <proxy-user> k proxy serveru.
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
HTTP_PROXY=<proxy-url> \
HTTP_PROXY_CREDS=<proxy-user>:<proxy-password> \

Nastavení protokolování

Nastavení Logging spravují podporu protokolování ASP.NET Core pro váš kontejner. Pro kontejner, který používáte pro aplikaci ASP.NET Core, můžete použít stejná nastavení a hodnoty konfigurace.

Kontejner podporuje následující zprostředkovatele protokolování:

Poskytovatel Účel
Konzola Zprostředkovatel protokolování ASP.NET Core Console . Podporují se všechna nastavení konfigurace ASP.NET Core a výchozí hodnoty tohoto zprostředkovatele protokolování.
Debug Zprostředkovatel protokolování ASP.NET Core Debug . Podporují se všechna nastavení konfigurace ASP.NET Core a výchozí hodnoty tohoto zprostředkovatele protokolování.
Disk Zprostředkovatel protokolování JSON. Tento zprostředkovatel protokolování zapisuje data protokolu do připojení výstupu.

Tento příkaz kontejneru ukládá informace o protokolování ve formátu JSON do připojení výstupu:

docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Disk:Format=json \
Mounts:Output=/output

Tento příkaz kontejneru zobrazuje informace o ladění s předponou dbug, zatímco kontejner běží:

docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Console:LogLevel:Default=Debug

Protokolování disku

Disk Zprostředkovatel protokolování podporuje následující nastavení konfigurace:

Name Datový typ Popis
Format String Výstupní formát souborů protokolu.
Poznámka: Tato hodnota musí být nastavena na json povolení zprostředkovatele protokolování. Pokud je tato hodnota zadána bez zadání výstupního připojení při vytváření instance kontejneru, dojde k chybě.
MaxFileSize Celé číslo Maximální velikost souboru protokolu v megabajtech (MB). Když velikost aktuálního souboru protokolu splňuje nebo překračuje tuto hodnotu, spustí se nový soubor protokolu poskytovatelem protokolování. Pokud je zadán parametr -1, je velikost souboru protokolu omezena pouze maximální velikostí souboru, pokud existuje, pro připojení výstupu. Výchozí hodnota je 1.

Další informace o konfiguraci podpory protokolování ASP.NET Core najdete v tématu Nastavení konfigurace souboru.

Nastavení připojení

Připojení vazby slouží ke čtení a zápisu dat do a z kontejneru. Vstupní připojení nebo výstupní připojení můžete zadat zadáním --mount možnosti v příkazu docker run .

Kontejnery Azure AI Vision nepoužívají vstupní ani výstupní připojení k ukládání trénovacích dat nebo dat služby.

Přesná syntaxe umístění připojení hostitele se liší v závislosti na hostitelském operačním systému. Umístění připojení hostitelského počítače navíc nemusí být přístupné kvůli konfliktu mezi oprávněními používanými účtem služby Docker a oprávněními k umístění připojení hostitele.

Volitelné Name Datový typ Popis
Nepovoleno Input String Kontejnery Azure AI Vision tuto funkci nepoužívají.
Volitelné Output String Cíl připojení výstupu. Výchozí hodnota je /output. Toto je umístění protokolů. To zahrnuje protokoly kontejnerů.

Příklad:
--mount type=bind,src=c:\output,target=/output

Příklady příkazů pro spuštění Dockeru

Následující příklady používají nastavení konfigurace k ilustraci, jak psát a používat docker run příkazy. Po spuštění bude kontejner dál běžet, dokud ho nezastavíte.

  • 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. Tento postup nahraďte nebo odeberte 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.

Položku {argument_name} nahraďte vlastními hodnotami:

Zástupný symbol Hodnota Formát nebo příklad
{API_KEY} Klíč koncového bodu prostředku Vision na stránce klíčů prostředků. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{ENDPOINT_URI} Hodnota fakturačního koncového bodu je k dispozici na stránce přehledu prostředků. Explicitní příklady najdete v části Shromáždění požadovaných parametrů .

Poznámka:

Nové prostředky vytvořené po 1. červenci 2019 budou používat vlastní názvy subdomén. Další informace a úplný seznam regionálních koncových bodů najdete v tématu Vlastní subdomény pro služby Azure AI.

Důležité

BillingAby 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. Hodnota ApiKey je klíč ze stránky Klíče prostředků zpracování obrazu.

Příklady Kontejneru Dockeru

Následující příklady Dockeru jsou určené pro kontejner Read OCR.

Základní příklad

docker run --rm -it -p 5000:5000 --memory 16g --cpus 8 \
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30 \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Příklad protokolování

docker run --rm -it -p 5000:5000 --memory 16g --cpus 8 \
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30 \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Logging:Console:LogLevel:Default=Information

Další kroky