Sdílet prostřednictvím


Konfigurace kontejnerů Document Intelligence

Podpora kontejnerů je aktuálně dostupná s verzí 2022-08-31 (GA) Document Intelligence pro všechny modely a 2023-07-31 (GA) pro modely dokumentů read, Layout, Invoice, Receipt a ID Document:

✔️ Viz Konfigurace kontejnerů Document Intelligence v3.0 pro podporovanou dokumentaci ke kontejnerům .

Tento obsah se vztahuje na: Zaškrtnutí v3.0 (GA) Zaškrtnutí v3.1 (GA)

S kontejnery Document Intelligence můžete vytvořit architekturu aplikace optimalizovanou tak, aby využívala robustní cloudové funkce i umístění hraničních zařízení. Kontejnery poskytují minimalistické izolované prostředí, které je možné snadno nasadit místně i v cloudu. V tomto článku vám ukážeme, jak pomocí argumentů příkazů nakonfigurovat prostředí runtime kontejneru docker compose Document Intelligence. Funkce funkce Document Intelligence jsou podporovány sedmi kontejnery funkcí Document Intelligence – Read, Layout, Business Card, ID Document, Receipt, Invoice, Custom. Tyto kontejnery mají požadovaná i volitelná nastavení. Několik příkladů najdete v části Příklad docker-compose.yml souboru .

Nastavení konfigurace

Každý kontejner má následující nastavení konfigurace:

Požaduje se Nastavení Purpose
Ano Klíč Sleduje fakturační údaje.
Ano Fakturace Určuje identifikátor URI koncového bodu prostředku služby v Azure. Další informace najdete v tématu Fakturace. Další informace a úplný seznam regionálních koncových bodů najdete v tématu Vlastní subdomény pro služby Azure AI.
Ano Eula Označuje, že jste přijali licenci pro kontejner.
No ApplicationInsights Umožňuje přidat zákaznickou podporu Aplikace Azure lication Insights pro váš 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.

Důležité

Společně Keyse používají možnosti , Billinga Eula nastavení. Je nutné zadat platné hodnoty pro všechna tři nastavení; jinak se kontejnery nespustí. Další informace o použití těchto nastavení konfigurace k vytvoření instance kontejneru najdete v tématu Fakturace.

Nastavení konfigurace klíče a fakturace

Toto Key nastavení určuje klíč prostředku Azure, který se používá ke sledování fakturačních údajů kontejneru. Hodnota klíče musí být platným klíčem pro prostředek zadaný Billing v části Nastavení konfigurace fakturace.

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

Tato nastavení najdete na webu Azure Portal na stránce Klíče a koncový bod .

Snímek obrazovky s klíči webu Azure Portal a stránkou koncového bodu

EULA nastavení

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í ApplicationInsights

Nastavení ApplicationInsights umožňuje do kontejneru přidat podporu telemetrie Aplikace Azure lication Insights. Application Insights 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 Application Insights, do které se odesílají telemetrická data kontejneru. Další informace najdete v tématu Application Insights pro ASP.NET Core.

Příklad:
InstrumentationKey=123456789

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 Konfigurace souboru nastavení.

Nastavení svazku

Pomocí svazků můžete číst a zapisovat data do a z kontejneru. Svazky jsou upřednostňované pro zachování dat generovaných a používaných kontejnery Dockeru. Vstupní připojení nebo výstupní připojení můžete zadat zahrnutím volumes možnosti a určením type (cesta ke složce), source (cesta ke složce) a target (parametr cesty k souboru).

Kontejner Document Intelligence vyžaduje vstupní svazek a výstupní svazek. Vstupní svazek může být jen pro čtení (ro) a je vyžadován pro přístup k datům, která se používají pro trénování a vyhodnocování. Výstupní svazek musí být zapisovatelný a používáte ho k ukládání modelů a dočasných dat.

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

Příklad souboru docker-compose.yml

Metoda docker compose je sestavená ze tří kroků:

  1. Vytvořte soubor Dockerfile.
  2. Definujte služby v docker-compose.yml , aby je bylo možné spouštět společně v izolovaném prostředí.
  3. Spusťte docker-compose up a spusťte své služby.

Příklad jednoho kontejneru

V tomto příkladu zadejte hodnoty {FORM_RECOGNIZER_ENDPOINT_URI} a {FORM_RECOGNIZER_KEY} pro instanci kontejneru rozložení.

Kontejner rozložení

version: "3.9"
services:
  azure-cognitive-service-layout:
    container_name: azure-cognitive-service-layout
    image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout
    environment:
      - EULA=accept
      - billing={FORM_RECOGNIZER_ENDPOINT_URI}
      - key={FORM_RECOGNIZER_KEY}

    ports:
      - "5000"
    networks:
      - ocrvnet
networks:
  ocrvnet:
    driver: bridge

Příklad více kontejnerů

Kontejnery potvrzení a čtení OCR

V tomto příkladu zadejte hodnoty {FORM_RECOGNIZER_ENDPOINT_URI} a {FORM_RECOGNIZER_KEY} pro kontejner účtenek a hodnoty {COMPUTER_VISION_ENDPOINT_URI} a {COMPUTER_VISION_KEY} pro kontejner Azure AI Vision Read.

version: "3"
services:
  azure-cognitive-service-receipt:
    container_name: azure-cognitive-service-receipt
    image: cognitiveservicespreview.azurecr.io/microsoft/cognitive-services-form-recognizer-receipt:2.1
    environment:
      - EULA=accept
      - billing={FORM_RECOGNIZER_ENDPOINT_URI}
      - key={FORM_RECOGNIZER_KEY}
      - AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
    ports:
      - "5000:5050"
    networks:
      - ocrvnet
  azure-cognitive-service-read:
    container_name: azure-cognitive-service-read
    image: mcr.microsoft.com/azure-cognitive-services/vision/read:3.2
    environment:
      - EULA=accept
      - billing={COMPUTER_VISION_ENDPOINT_URI}
      - key={COMPUTER_VISION_KEY}
    networks:
      - ocrvnet

networks:
  ocrvnet:
    driver: bridge

Další kroky