Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento obsah se vztahuje na:v3.0 (GA)
v3.1 (GA)
v4.0 (GA)
Azure AI Document Intelligence je služba Azure AI, která umožňuje vytvářet automatizovaný software pro zpracování dat pomocí technologie strojového učení. Funkce Document Intelligence umožňuje identifikovat a extrahovat text, páry klíč/hodnota, značky výběru, data tabulky a další informace z dokumentů. Výsledky se doručují jako strukturovaná data, která .. /obsahuje relace v původním souboru. Kontejnery zpracovávají pouze data poskytnutá jim a využívají pouze prostředky, ke kterým mají přístup. Kontejnery nemůžou zpracovávat data z jiných oblastí.
V tomto článku se dozvíte, jak stahovat, instalovat a spouštět kontejnery Document Intelligence. Kontejnery umožňují spustit službu Document Intelligence ve vlastním prostředí. Kontejnery jsou skvělé pro splnění určitých požadavků na zabezpečení a zásady správného řízení dat.
Model pro čtení, rozložení je podporován kontejnery Document Intelligence verze 4.0.
Čtení, Rozložení, Dokument ID, Příjemka, a Faktura modely jsou podporovány kontejnery Document Intelligence verze 3.1.
Kontejnery Document Intelligence v3.0 podporují čtení, rozložení, obecný dokument, vizitku a vlastní modely.
Podpora verzí
Podpora kontejnerů je aktuálně dostupná s verzí v3.0: 2022-08-31 (GA)
Document Intelligence pro všechny modely, v3.1 2023-07-31 (GA)
pro čtení, rozložení, dokument ID, potvrzení a modely faktur a v4.0 2024-11-30 (GA)
pro čtení a rozložení:
-
REST API
v3.0: 2022-08-31 (GA)
-
REST API
v3.1: 2023-07-31 (GA)
-
REST API
v4.0: 2024-11-30 (GA)
- Knihovny určené pro klienty
REST API v3.0: 2022-08-31 (GA)
- Knihovny určené pro klienty
REST API v3.1: 2023-07-31 (GA)
- Knihovny určené pro klienty
REST API v4.0: 2024-11-30 (GA)
Požadavky
Abyste mohli začít, potřebujete aktivní účet Azure. Pokud žádné nemáte, můžete si vytvořit bezplatný účet.
K používání kontejnerů Document Intelligence potřebujete také následující:
Požaduje se | Účel |
---|---|
Znalost Dockeru | Měli byste mít základní znalosti konceptů Dockeru, jako jsou registry, úložiště, kontejnery a image kontejnerů, a také znalosti základní docker terminologie a příkazů. |
Nainstalovaný modul Dockeru |
|
Prostředek Document Intelligence | Jednoúčelový prostředek Azure AI Document Intelligence nebo víceslužbový prostředek na webu Azure Portal. Pokud chcete kontejnery používat, musíte mít přidružený klíč a identifikátor URI koncového bodu. Obě hodnoty jsou k dispozici na portálu Azure na stránce Document Intelligence Klíče a koncový bod:
|
Volitelné | Účel |
---|---|
Azure CLI (rozhraní příkazového řádku) | Azure CLI umožňuje používat sadu online příkazů k vytváření a správě prostředků Azure. Je k dispozici pro instalaci v prostředích s Windows, macOS a Linuxem a dá se spouštět v kontejneru Dockeru a v Azure Cloud Shellu. |
Požadavky na hostitelský počítač
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:
- Služba Azure Kubernetes.
- Azure Container Instances.
- Cluster Kubernetes nasazený do služby Azure Stack. Další informace najdete v tématu Nasazení Kubernetes do služby Azure Stack.
Poznámka:
Kontejner Studio nejde nasadit a spustit ve službě Azure Kubernetes Service. Kontejner Studio se podporuje jenom pro spouštění na místních počítačích.
Požadavky na kontejnery a doporučení
Požadované podpůrné kontejnery
Následující tabulka uvádí jeden nebo více podpůrných kontejnerů pro každý kontejner Document Intelligence, který stáhnete. Další informace najdete v části Fakturace .
Kontejner funkcí | Podpůrné kontejnery |
---|---|
Přečíst | Nepovinné |
Rozložení | Nepovinné |
Vizitka | Přečíst |
Obecný dokument | Rozložení |
Faktura | Rozložení |
Účtenka | Čtení nebo rozložení |
ID dokument | Přečíst |
Vlastní šablona | Rozložení |
Doporučená jádra procesoru a paměť
Poznámka:
Minimální a doporučené hodnoty jsou založené na limitech Dockeru, nikoli na prostředcích hostitelského počítače.
Kontejnery pro analýzu dokumentů
Kontejner | Minimální | Doporučeno |
---|---|---|
Read |
8 jádra, 10 GB paměti |
8 jádra, 24 GB paměti |
Layout |
8 jádra, 16 GB paměti |
8 jádra, 24 GB paměti |
Business Card |
8 jádra, 16 GB paměti |
8 jádra, 24 GB paměti |
General Document |
8 jádra, 12 GB paměti |
8 jádra, 24 GB paměti |
ID Document |
8 jádra, 8 GB paměti |
8 jádra, 24 GB paměti |
Invoice |
8 jádra, 16 GB paměti |
8 jádra, 24 GB paměti |
Receipt |
8 jádra, 11 GB paměti |
8 jádra, 24 GB paměti |
Custom Template |
8 jádra, 16 GB paměti |
8 jádra, 24 GB paměti |
- Každé jádro musí mít alespoň 2,6 gigahertz (GHz) nebo rychlejší.
- Jádro a paměť odpovídají
--cpus
nastavením,--memory
které se používají jako součástdocker compose
příkazu nebodocker run
příkazu.
Návod
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>
Spuštění kontejneru pomocí příkazu docker-compose up
Nahraďte hodnoty {ENDPOINT_URI} a {API_KEY} identifikátorem URI koncového bodu prostředku a klíčem ze stránky prostředku Azure.
Ujistěte se, že je hodnota nastavená
EULA
na přijetí.Hodnota
EULA
aBilling
ApiKey
hodnoty musí být zadány. V opačném případě nelze kontejner spustit.
Důležité
Klíče se používají pro přístup k vašemu prostředku Document Intelligence. Nesdílejte klíče. Ukládejte je bezpečně, například pomocí služby Azure Key Vault. Doporučujeme je také pravidelně obnovovat. K volání rozhraní API je nutný jenom jeden klíč. Během obnovování prvního klíče můžete pro nepřerušený přístup ke službě použít druhý klíč.
Následující ukázka kódu je samostatný docker compose
příklad pro spuštění kontejneru Document Intelligence Layout. Pomocí docker compose
souboru YAML nakonfigurujete služby vaší aplikace. Pak pomocí docker-compose up
příkazu vytvoříte a spustíte všechny služby z vaší konfigurace. Zadejte hodnoty {FORM_RECOGNIZER_ENDPOINT_URI} a {FORM_RECOGNIZER_KEY} pro instanci kontejneru layout.
version: "3.9"
services:
azure-form-recognizer-layout:
container_name: azure-form-recognizer-layout
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-4.0
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
ports:
- "5000:5000"
networks:
- ocrvnet
networks:
ocrvnet:
driver: bridge
Teď můžete službu spustit pomocí příkazu docker compose :
docker-compose up
Spuštění kontejneru pomocí příkazu docker-compose up
Nahraďte hodnoty {ENDPOINT_URI} a {API_KEY} identifikátorem URI koncového bodu prostředku a klíčem ze stránky prostředku Azure.
Ujistěte se, že je hodnota nastavená
EULA
na přijetí.Hodnota
EULA
aBilling
ApiKey
hodnoty musí být zadány. V opačném případě nelze kontejner spustit.
Důležité
Klíče se používají pro přístup k vašemu prostředku Document Intelligence. Nesdílejte klíče. Ukládejte je bezpečně, například pomocí služby Azure Key Vault. Doporučujeme je také pravidelně obnovovat. K volání rozhraní API je nutný jenom jeden klíč. Během obnovování prvního klíče můžete pro nepřerušený přístup ke službě použít druhý klíč.
Následující ukázka kódu je samostatný docker compose
příklad pro spuštění kontejneru Document Intelligence Layout. Pomocí docker compose
souboru YAML nakonfigurujete služby vaší aplikace. Pak pomocí docker-compose up
příkazu vytvoříte a spustíte všechny služby z vaší konfigurace. Zadejte hodnoty {FORM_RECOGNIZER_ENDPOINT_URI} a {FORM_RECOGNIZER_KEY} pro instanci kontejneru layout.
version: "3.9"
services:
azure-form-recognizer-layout:
container_name: azure-form-recognizer-layout
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.1
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
ports:
- "5000:5000"
networks:
- ocrvnet
networks:
ocrvnet:
driver: bridge
Teď můžete službu spustit pomocí příkazu docker compose :
docker-compose up
Vytvoření souboru docker compose
Pojmenujte tento soubor docker-compose.yml
Následující ukázka kódu je samostatný
docker compose
příklad pro společné spouštění kontejnerů šablon Document Intelligence Layout, Studio a Custom Template. Pomocídocker compose
souboru YAML nakonfigurujete služby vaší aplikace. Pak pomocídocker-compose up
příkazu vytvoříte a spustíte všechny služby z vaší konfigurace.
version: '3.3'
services:
nginx:
image: nginx:alpine
container_name: reverseproxy
depends_on:
- layout
- custom-template
volumes:
- ${NGINX_CONF_FILE}:/etc/nginx/nginx.conf
ports:
- "5000:5000"
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: /share
Mounts:Shared: /share
Mounts:Output: /logs
volumes:
- type: bind
source: ${SHARED_MOUNT_PATH}
target: /share
- type: bind
source: ${OUTPUT_MOUNT_PATH}
target: /logs
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: /share
Mounts:Shared: /share
Mounts:Output: /logs
volumes:
- type: bind
source: ${SHARED_MOUNT_PATH}
target: /share
- type: bind
source: ${OUTPUT_MOUNT_PATH}
target: /logs
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)
Vytvoření souboru docker compose
Pojmenujte tento soubor docker-compose.yml
Následující ukázka kódu je samostatný
docker compose
příklad pro společné spouštění kontejnerů šablon Document Intelligence Layout, Studio a Custom Template. Pomocídocker compose
souboru YAML nakonfigurujete služby vaší aplikace. Pak pomocídocker-compose up
příkazu vytvoříte a spustíte všechny služby z vaší konfigurace.
version: '3.3'
services:
nginx:
image: nginx:alpine
container_name: reverseproxy
depends_on:
- layout
- custom-template
volumes:
- ${NGINX_CONF_FILE}:/etc/nginx/nginx.conf
ports:
- "5000:5000"
layout:
container_name: azure-cognitive-service-layout
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.1:latest
environment:
eula: accept
apikey: ${FORM_RECOGNIZER_KEY}
billing: ${FORM_RECOGNIZER_ENDPOINT_URI}
Logging:Console:LogLevel:Default: Information
SharedRootFolder: /share
Mounts:Shared: /share
Mounts:Output: /logs
volumes:
- type: bind
source: ${SHARED_MOUNT_PATH}
target: /share
- type: bind
source: ${OUTPUT_MOUNT_PATH}
target: /logs
expose:
- "5000"
custom-template:
container_name: azure-cognitive-service-custom-template
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/custom-template-3.1: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: /share
Mounts:Shared: /share
Mounts:Output: /logs
volumes:
- type: bind
source: ${SHARED_MOUNT_PATH}
target: /share
- type: bind
source: ${OUTPUT_MOUNT_PATH}
target: /logs
expose:
- "5000"
studio:
container_name: form-recognizer-studio
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/studio:3.1
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)
Kontejner vlastních šablon a kontejner rozložení mohou používat fronty Azure Storage nebo paměťové fronty. Proměnné prostředí Storage:ObjectStore:AzureBlob:ConnectionString
a queue:azure:connectionstring
je potřeba nastavit pouze pokud používáte fronty Azure Storage. Při místním spuštění odstraňte tyto proměnné.
Ujistěte se, že je služba spuštěná.
Abyste zajistili, že služba běží. Tyto příkazy spusťte v prostředí Ubuntu.
$cd <folder containing the docker-compose file>
$source .env
$docker-compose up
Kontejnery vlastních šablon vyžadují několik různých konfigurací a podporují další volitelné konfigurace.
Nastavení | Požaduje se | Popis |
---|---|---|
EULA |
Ano | Příklad přijetí licence: Eula=accept |
Fakturace | Ano | URI koncového bodu pro fakturaci prostředku FR |
Klíč API | Ano | Klíč koncového bodu prostředku FR |
Queue:Azure:ConnectionString | Ne | Azure Queue připojovací řetězec |
Storage:ObjectStore:AzureBlob:ConnectionString | Ne | Azure Blob připojovací řetězec |
HealthCheck:MemoryUpperboundInMB | Ne | Prahová hodnota paměti pro hlášení, že stav života není v pořádku. Výchozí: Stejná jako doporučená paměť |
Doba uložení do vypršení v minutách | Ne |
TTL doba trvání pro odebrání všech dočasných a konečných souborů. Výchozí nastavení: Dva dny, TTL může být nastaven mezi pěti minutami a sedmi dny. |
Úkol: MaxRunningTimeSpanInMinutes | Ne | Maximální doba běhu pro posouzení požadavku jako vypršeného. Výchozí hodnota: 60 minut |
HTTP_PROXY_BYPASS_URLS | Ne | Zadejte adresy URL pro obejití příkladu proxy serveru: HTTP_PROXY_BYPASS_URLS = abc.com, xyz.com |
AzureCognitiveServiceReadHost (účtenka, pouze kontejnery dokladů totožnosti) | Ano | Zadejte identifikátor URI kontejneru pro čtení. Example: AzureCognitiveServiceReadHost=http://onprem-frread:5000 |
AzureCognitiveServiceLayoutHost (pouze dokumenty, pouze kontejnery faktur) | Ano | Určení kontejneru rozložení uri Example:AzureCognitiveServiceLayoutHost=http://onprem-frlayout:5000 |
Trénování modelu pomocí nástroje Document Intelligence Studio
Shromážděte sadu alespoň pěti forem stejného typu. Tato data použijete k trénování modelu a otestování formuláře. Můžete použít ukázkovou datovou sadu (stažení a extrakce sample_data.zip).
Jakmile můžete ověřit, že kontejnery běží, otevřete prohlížeč a přejděte do koncového bodu, ve kterém máte nasazené kontejnery. Pokud je toto nasazení vaším místním počítačem, koncový bod je
[http://localhost:5001](http://localhost:5001)
.Vyberte dlaždici vlastního modelu extrakce.
Create project
Vyberte možnost.Zadejte název projektu a volitelně i popis.
V kroku Konfigurace prostředku zadejte koncový bod vašemu vlastnímu modelu šablony. Pokud jste kontejnery nasadili na místní počítač, použijte tuto adresu URL
[http://localhost:5000](http://localhost:5000)
.Zadejte podsložku pro umístění trénovacích dat ve složce souborů.
Nakonec vytvořte projekt.
Teď byste měli mít vytvořený projekt připravený k označování. Nahrajte tréninková data a začněte označovat. Pokud s popisováním začínáte, podívejte se na sestavení a trénování vlastního modelu.
Trénovat pomocí rozhraní API
Pokud plánujete volat rozhraní API přímo pro trénování modelu, rozhraní API pro trénování modelu podle vlastní šablony vyžaduje soubor ZIP kódovaný pomocí Base64, který obsahuje data vašeho projektu označování. Soubory PDF nebo obrázku můžete vynechat a odeslat pouze soubory JSON.
Jakmile máte svou datovou sadu označenou a soubory *.ocr.json, *.labels.json a fields.json ve formátu ZIP, spusťte příkazy PowerShell pro generování kódovaného řetězce base64.
$bytes = [System.IO.File]::ReadAllBytes("<your_zip_file>.zip")
$b64String = [System.Convert]::ToBase64String($bytes, [System.Base64FormattingOptions]::None)
K odeslání požadavku použijte rozhraní API modelu sestavení.
POST http://localhost:5000/formrecognizer/documentModels:build?api-version=2023-07-31
{
"modelId": "mymodel",
"description": "test model",
"buildMode": "template",
"base64Source": "<Your base64 encoded string>",
"tags": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}
Ověřte, že je služba spuštěná.
Existuje několik způsobů, jak ověřit, že je kontejner spuštěný:
Kontejner poskytuje domovskou stránku
\
jako vizuální ověření, že kontejner běží.Můžete otevřít oblíbený webový prohlížeč a přejít na externí IP adresu a vystavený port kontejneru. Pomocí uvedených adres URL požadavků ověřte, že kontejner běží. Uvedené ukázkové adresy URL požadavků jsou
http://localhost:5000
, ale váš konkrétní kontejner se může lišit. Mějte na paměti, že přecházíte na externí IP adresu vašeho kontejneru a na vystavený port.Adresa URL požadavku Účel http:// localhost:5000/ Kontejner poskytuje domovskou stránku. http:// localhost:5000/ready Požadováno pomocí GET, tento požadavek poskytuje 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 životaschopnosti Kubernetes. http:// localhost:5000/status Požadavek pomocí příkazu GET ověřuje, zda je api-key použitý ke spuštění kontejneru platný, aniž by vyvolával dotaz na koncový bod. Tento požadavek je možné použít pro sondy připravenosti a životaschopnosti Kubernetes. http:// localhost:5000/swagger Kontejner poskytuje kompletní dokumentaci ke koncovým bodům a nabízí funkci Vyzkoušejte si to. 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í ukázkový příkaz CURL, který předvede požadované hlavičky HTTP a základní formát.
Zastavení kontejnerů
Pokud chcete kontejnery zastavit, použijte následující příkaz:
docker-compose down
Fakturace
Kontejnery Document Intelligence odesílají fakturační údaje do Azure pomocí prostředku Document Intelligence na vašem účtu Azure.
Dotazy na kontejner se účtují na cenové úrovni prostředku Azure používaného pro rozhraní API Key
. Fakturace se vypočítá pro každou instanci kontejneru, která se používá ke zpracování dokumentů a obrázků.
Pokud se zobrazí následující chyba: Kontejner není v platném stavu. Ověření předplatného selhalo se stavem OutOfQuota, klíč rozhraní API je mimo kvótu. Je to indikátor, že vaše kontejnery nekomunikují s koncovým bodem pro fakturaci.
Připojení k Azure
Kontejner potřebuje ke spuštění hodnoty argumentů pro fakturaci. 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 v povoleném časovém intervalu nepřipojí k Azure, 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 Azure AI.
Spory ohledně fakturace
Příkaz docker-compose up spustí kontejner, když jsou k dispozici všechny tři z následujících možností s platnými hodnotami:
Možnost | Popis |
---|---|
ApiKey |
Klíč prostředku Azure AI Foundry, který se používá ke sledování fakturačních údajů. Hodnota této možnosti musí být nastavena na klíč pro zřízený prostředek zadaný v Billing . |
Billing |
Koncový bod prostředku Azure AI Foundry, který se používá ke sledování fakturačních údajů. Hodnota této možnosti musí být nastavena na identifikátor URI koncového bodu přidělené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í
A je to! V tomto článku jste se seznámili s koncepty a pracovními postupy pro stahování, instalaci a spouštění kontejnerů Document Intelligence. Souhrnně:
- Document Intelligence poskytuje sedm linuxových kontejnerů pro Docker.
- Image kontejnerů se stáhnou z mcr.
- Image kontejnerů se spouštějí v Dockeru.
- Při vytváření instance kontejneru je nutné zadat fakturační údaje.
Důležité
Kontejnery Azure AI nejsou licencované 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í fakturační údaje se službou měření. Kontejnery Azure AI neodesílají zákaznická data (například obrázek nebo text analyzovaný) do Microsoftu.