Sdílet prostřednictvím


Kontejnery v odpojených (offline) prostředích

Podpora kontejnerů je aktuálně dostupná ve verzi 2022-08-31 (GA) Document Intelligence pro všechny modely a 2023-07-31 (GA) pro modely dokumentů čtení, rozložení, faktury, potvrzení a ID:

✔️ Dokumentaci k podporovaným kontejnerům kontejnerů najdete v tématu Document Intelligence v3.0 v odpojených prostředích .

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

Co jsou odpojené kontejnery?

Kontejnery Azure AI poskytují flexibilitu při místním spouštění některých služeb Document Intelligence v kontejnerech. Připojení kontejnery běží místně ve vašem prostředí a odesílají informace o využití do cloudu za účelem fakturace. Odpojené kontejnery jsou určené pro scénáře, kdy ke spuštění kontejnerů není potřeba připojení ke cloudu.

Kontejnery Azure AI Document Intelligence umožňují používat rozhraní API document intelligence s výhodami kontejnerizace. Odpojené kontejnery se nabízejí prostřednictvím cen úrovně závazku nabízených se zvýhodněnou sazbou oproti cenám průběžných plateb. Díky cenovým úrovním závazku se můžete v závislosti na potřebách vaší úlohy zavázat k používání funkcí Document Intelligence s pevným poplatkem s předvídatelnými celkovými náklady.

Začínáme

Než se pokusíte spustit kontejner Dockeru v offline prostředí, ujistěte se, že znáte následující požadavky pro úspěšné stažení a použití kontejneru:

  • Požadavky na hostitelský počítač a doporučení
  • Příkaz Dockeru pull ke stažení kontejneru.
  • Jak ověřit, že je kontejner spuštěný.
  • Jak odesílat dotazy do koncového bodu kontejneru, jakmile je spuštěný.

Vyžádání přístupu k používání kontejnerů v odpojených prostředích

Než budete moct používat kontejnery Document Intelligence v odpojených prostředích, musíte nejdřív vyplnit a odeslat formulář žádosti a koupit plán závazku.

Vytvoření nového prostředku na webu Azure Portal

Začněte zřízením nového prostředku na portálu.

  • Ujistěte se, že jste vybrali Commitment tier disconnected containers DC0 možnost cenová úroveň.

  • Vyberte odpovídající cenovou úroveň z alespoň jedné z vlastních, předem připravených úrovní závazku nebo čtení.

    Snímek obrazovky s odpojenou konfigurací vrstvy na webu Azure Portal

Kontejner Minimum Doporučeno Plán závazku
Read 8 jádra, 10 GB paměti 8 jádra, 24 GB paměti OCR (čtení)
Layout 8 jádra, 16 GB paměti 8 jádra, 24 GB paměti Předpřipravený
Business Card 8 jádra, 16 GB paměti 8 jádra, 24 GB paměti Předpřipravený
General Document 8 jádra, 12 GB paměti 8 jádra, 24 GB paměti Předpřipravený
ID Document 8 jádra, 8 GB paměti 8 jádra, 24 GB paměti Předpřipravený
Invoice 8 jádra, 16 GB paměti 8 jádra, 24 GB paměti Předpřipravený
Receipt 8 jádra, 11 GB paměti 8 jádra, 24 GB paměti Předpřipravený
Custom Template 8 jádra, 16 GB paměti 8 jádra, 24 GB paměti Vlastní API

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

Pro všechny kontejnery služeb Azure AI existují tři požadované parametry:

  • Licenční smlouva s koncovým uživatelem (EULA) musí být k dispozici s hodnotou přijetí.
  • Adresa URL koncového bodu vašeho prostředku z webu Azure Portal.
  • Klíč rozhraní API pro váš prostředek z webu Azure Portal.

Adresa URL koncového bodu i klíč rozhraní API jsou potřeba při prvním spuštění kontejneru, abyste ho nakonfigurovali pro odpojené použití. Klíč a koncový bod najdete na stránce Klíč a koncový bod vašeho prostředku na webu Azure Portal:

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

Důležité

Ke konfiguraci kontejneru, který se má spustit v odpojeném prostředí, použijete pouze klíč a koncový bod. Po nakonfigurování kontejneru nebudete k odesílání požadavků rozhraní API potřebovat hodnoty klíče a koncového bodu. Ukládejte je bezpečně, například pomocí služby Azure Key Vault. Pro tento proces je nezbytný pouze jeden klíč.

Stažení kontejneru Dockeru pomocí docker pull

Stáhněte si kontejner Dockeru, který je schválený ke spuštění v odpojeném prostředí. Příklad:

Příkaz docker pull Hodnota Formát
● ● ● docker pull [image]

docker pull [image]latest
Nejnovější image kontejneru. ● ● ● mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.0:latest

mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice-3.0:latest

Příklad příkazu Docker pull

docker pull mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice:latest

Konfigurace kontejneru, který se má spustit v odpojeném prostředí

Odpojené image kontejnerů jsou stejné jako připojené kontejnery. Hlavní rozdíl spočívá v tom, že odpojené kontejnery vyžadují licenční soubor. Tento soubor licence se stáhne spuštěním kontejneru v připojeném režimu s parametrem downloadLicense nastaveným na hodnotu true.

Teď, když je kontejner stažený, musíte spustit docker run příkaz s následujícím parametrem:

  • DownloadLicense=True. Tento parametr stáhne licenční soubor, který umožňuje spuštění kontejneru Dockeru, když není připojený k internetu. Obsahuje také datum vypršení platnosti, po kterém je soubor licence neplatný pro spuštění kontejneru. Soubor licence můžete použít pouze v odpovídajícím schváleném kontejneru.

Důležité

Příkaz docker run vygeneruje šablonu, kterou můžete použít ke spuštění kontejneru. Šablona obsahuje parametry, které budete potřebovat pro stažené modely a konfigurační soubor. Nezapomeňte uložit tuto šablonu.

Následující příklad ukazuje formátování příkazu docker run , které se má použít se zástupnými hodnotami. Nahraďte tyto zástupné hodnoty vlastními hodnotami.

Zástupný symbol Hodnota Formát nebo příklad
{IMAGE} Image kontejneru, kterou chcete použít. mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{LICENSE_MOUNT} Cesta, kam se licence stáhne, a připojí se. /host/license:/path/to/license/directory
{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íč pro váš prostředek Document Intelligence Najdete ho na stránce Klíč a koncový bod vašeho prostředku na webu Azure Portal. {string}
{CONTAINER_LICENSE_DIRECTORY} Umístění složky s licencí v místním systému souborů kontejneru. /path/to/license/directory

Příklad docker run příkazu


docker run --rm -it -p 5000:5050 \

-v {LICENSE_MOUNT} \

{IMAGE} \

eula=accept \

billing={ENDPOINT_URI} \

apikey={API_KEY} \

DownloadLicense=True \

Mounts:License={CONTAINER_LICENSE_DIRECTORY}

V následujícím příkazu nahraďte zástupné symboly pro cestu ke složce, koncový bod fakturace a klíč rozhraní API pro stažení licenčního souboru pro kontejner rozložení.

docker run -v {folder path}:/license --env Mounts:License=/license --env DownloadLicense=True --env Eula=accept --env Billing={billing endpoint} --env ApiKey={api key} mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.0:latest

Po nakonfigurování kontejneru pomocí další části spusťte kontejner ve vašem prostředí s licencí a odpovídající přidělení paměti a procesoru.

Modely a konfigurace kontejnerů Document Intelligence

Po nakonfigurování kontejneru se hodnoty stažených modelů Document Intelligence a konfigurace kontejneru vygenerují a zobrazí ve výstupu kontejneru.

Spuštění kontejneru v odpojeném prostředí

Po stažení licenčního souboru můžete kontejner spustit v odpojeném prostředí s licencí, příslušnou pamětí a vhodnými přiděleními procesoru. Následující příklad ukazuje formátování docker run příkazu se zástupnými hodnotami. Nahraďte tyto zástupné symboly vlastními hodnotami.

Při každém spuštění kontejneru musí být soubor licence připojen ke kontejneru a umístění složky licence v místním systému souborů kontejneru musí být zadáno pomocí Mounts:License=. Kromě toho je nutné zadat připojení výstupu, 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/form-recognizer/invoice
{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 je licence umístěna a připojena. /host/license:/path/to/license/directory
{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

Příklad docker run příkazu

docker run --rm -it -p 5000:5050 --memory {MEMORY_SIZE} --cpus {NUMBER_CPUS} \

-v {LICENSE_MOUNT} \

-v {OUTPUT_PATH} \

{IMAGE} \

eula=accept \

Mounts:License={CONTAINER_LICENSE_DIRECTORY}

Mounts:Output={CONTAINER_OUTPUT_DIRECTORY}

Spuštění odpojeného kontejneru se podobá spuštění připojeného kontejneru. Odpojené kontejnery vyžadují přidaný parametr licence. Tady je ukázkový soubor docker-compose.yml pro spuštění vlastního kontejneru v odpojeném režimu. Přidejte proměnnou prostředí CUSTOM_LICENSE_MOUNT_PATH s hodnotou nastavenou do složky obsahující stažený soubor licence a OUTPUT_MOUNT_PATH proměnnou prostředí s hodnotou nastavenou na složku, která obsahuje protokoly použití.

version: '3.3'
services:
 nginx:
  image: nginx:alpine
  container_name: reverseproxy
  volumes:
    - ${NGINX_CONF_FILE}:/etc/nginx/nginx.conf
  ports:
    - "5000:5050"
 layout:
  container_name: azure-cognitive-service-layout
  image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.0:latest
  environment:
    eula: accept
    apikey: ${FORM_RECOGNIZER_KEY}
    billing: ${FORM_RECOGNIZER_ENDPOINT_URI}
    Logging:Console:LogLevel:Default: Information
    SharedRootFolder: /shared
    Mounts:Shared: /shared
    Mounts:Output: /logs
    Mounts:License: /license
  volumes:
    - type: bind
      source: ${SHARED_MOUNT_PATH}
      target: /shared
    - type: bind
      source: ${OUTPUT_MOUNT_PATH}
      target: /logs
    - type: bind
      source: ${LAYOUT_LICENSE_MOUNT_PATH}
      target: /license
  expose:
    - "5000"

 custom-template:
  container_name: azure-cognitive-service-custom-template
  image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/custom-template-3.0:latest
  restart: always
  depends_on:
    - layout
  environment:
    AzureCognitiveServiceLayoutHost: http://azure-cognitive-service-layout:5000
    eula: accept
    apikey: ${FORM_RECOGNIZER_KEY}
    billing: ${FORM_RECOGNIZER_ENDPOINT_URI}
    Logging:Console:LogLevel:Default: Information
    SharedRootFolder: /shared
    Mounts:Shared: /shared
    Mounts:Output: /logs
    Mounts:License: /license
  volumes:
    - type: bind
      source: ${SHARED_MOUNT_PATH}
      target: /shared
    - type: bind
      source: ${OUTPUT_MOUNT_PATH}
      target: /logs
    - type: bind
      source: ${CUSTOM_LICENSE_MOUNT_PATH}
      target: /license
  expose:
    - "5000"

 studio:
  container_name: form-recognizer-studio
  image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/studio:3.0
  environment:
    ONPREM_LOCALFILE_BASEPATH: /onprem_folder
    STORAGE_DATABASE_CONNECTION_STRING: /onprem_db/Application.db
  volumes:
    - type: bind
      source: ${FILE_MOUNT_PATH} # path to your local folder
      target: /onprem_folder
    - type: bind
      source: ${DB_MOUNT_PATH} # path to your local folder
      target: /onprem_db
  ports:
    - "5001:5001"
  user: "1000:1000" # echo $(id -u):$(id -g)

Další parametry a příkazy

Tady je několik dalších parametrů a příkazů, které potřebujete ke spuštění kontejneru.

Záznamy o využití

Při provozu kontejnerů Dockeru v odpojeném prostředí zapíše kontejner záznamy o využití na svazek, ve kterém se shromažďují v průběhu času. Můžete také volat koncový bod rozhraní REST API, který vygeneruje sestavu o využití služby.

Argumenty pro ukládání protokolů

Při spuštění v odpojeném prostředí musí být výstupní připojení k dispozici kontejneru, aby se ukládaly protokoly využití. V následujícím příkladu byste například zahrnuli -v /host/output:{OUTPUT_PATH} a Mounts:Output={OUTPUT_PATH} nahradili {OUTPUT_PATH} cestu, do které se ukládají protokoly:

docker run -v /host/output:{OUTPUT_PATH} ... <image> ... Mounts:Output={OUTPUT_PATH}

Získání záznamů pomocí koncových bodů kontejneru

Kontejner poskytuje dva koncové body pro vrácení záznamů o využití.

Získání všech záznamů

Následující koncový bod obsahuje sestavu se souhrnem veškerého využití shromážděného v připojeném adresáři fakturačního záznamu.

https://<service>/records/usage-logs/

Příklad koncového bodu HTTPS

http://localhost:5000/records/usage-logs

Koncový bod protokolu využití vrátí odpověď JSON podobnou následujícímu příkladu:

{
  "apiType": "string",
  "serviceName": "string",
  "meters": [
    {
      "name": "string",
      "quantity": 256345435
    }
  ]
}

Získání záznamů pro určitý měsíc

Následující koncový bod poskytuje sestavu se souhrnem využití za konkrétní měsíc a rok.

https://<service>/records/usage-logs/{MONTH}/{YEAR}

Tento koncový bod protokolů využití vrátí odpověď JSON podobnou následujícímu příkladu:

{
  "apiType": "string",
  "serviceName": "string",
  "meters": [
    {
      "name": "string",
      "quantity": 56097
    }
  ]
}

Řešení problému

Spusťte kontejner s povoleným připojením a protokolováním výstupu. Tato nastavení umožňují kontejneru generovat soubory protokolu, které jsou užitečné pro řešení potíží, 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 tématu Nejčastější dotazy k odpojeným kontejnerům.

Další kroky