Kontejnery v odpojených (offline) prostředích
Funkce Document Intelligence nepodporuje kontejnery pro v4.0. 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:
- REST API
2022-08-31 (GA)
- REST API
2023-07-31 (GA)
- Cílení na klientské knihovny
REST API 2022-08-31 (GA)
- Cílení na klientské knihovny
REST API 2023-07-31 (GA)
✔️ Podporované verze dokumentace ke kontejnerům kontejnerů najdete v odpojených prostředích nebo kontejnerech Document Intelligence v3.1 v odpojených prostředích .
Tento obsah se vztahuje na: v3.0 (GA) 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 za účelem fakturace odesílají informace o využití do cloudu. 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řečtených nebo předem připravených úrovní závazku.
Kontejner | Minimum | Doporučeno | Plán závazku |
---|---|---|---|
Read |
8 jádra, 10 GB paměti |
8 jádra, 24 GB paměti |
OCR (Číst) |
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:
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.