Ta zawartość dotyczy: wersja 3.0 (ogólna dostępność) w wersji 3.1 (ogólna dostępność)
Azure AI Document Intelligence to usługa azure AI, która umożliwia tworzenie zautomatyzowanego oprogramowania do przetwarzania danych przy użyciu technologii uczenia maszynowego. Analiza dokumentów umożliwia identyfikowanie i wyodrębnianie tekstu, par klucz/wartość, znaczniki wyboru, dane tabeli i nie tylko z dokumentów. Wyniki są dostarczane jako dane ustrukturyzowane, które .. /zawiera relacje w oryginalnym pliku. Kontenery przetwarzają tylko podane im dane i korzystają wyłącznie z zasobów, do których mają dostęp. Kontenery nie mogą przetwarzać danych z innych regionów.
Z tego artykułu dowiesz się, jak pobierać, instalować i uruchamiać kontenery analizy dokumentów. Kontenery umożliwiają uruchamianie usługi Analizy dokumentów we własnym środowisku. Kontenery doskonale nadają się do określonych wymagań w zakresie zabezpieczeń i zarządzania danymi.
Modele odczytu, układu, identyfikatora dokumentu, paragonu i faktury są obsługiwane przez kontenery analizy dokumentów w wersji 3.1.
Kontenery Read, Layout, General Document, Business Card i Custom są obsługiwane przez kontenery analizy dokumentów w wersji 3.0.
Obsługa wersji
Obsługa kontenerów jest obecnie dostępna w wersji v3.0: 2022-08-31 (GA)
analizy dokumentów dla wszystkich modeli oraz v3.1 2023-07-31 (GA)
modeli odczytu, układu, dokumentu identyfikatora, paragonu i faktury:
Wymagania wstępne
Do rozpoczęcia pracy potrzebne jest aktywne konto platformy Azure. Jeśli nie masz, możesz utworzyć bezpłatne konto.
Do korzystania z kontenerów analizy dokumentów potrzebne są również następujące elementy:
Wymagania |
Purpose |
Znajomość platformy Docker |
Musisz mieć podstawową wiedzę na temat pojęć związanych z platformą Docker, takich jak rejestry, repozytoria, kontenery i obrazy kontenerów, a także znajomość podstawowej docker terminologii i poleceń. |
Zainstalowany aparat platformy Docker |
- Aparat platformy Docker jest zainstalowany na komputerze hosta. Platforma Docker udostępnia pakiety, które konfigurują środowisko platformy Docker w systemach macOS, Windows i Linux. Aby uzyskać podstawowe informacje na temat platformy Docker i kontenerów, zapoznaj się z artykułem Docker overview (Przegląd platformy Docker).
- Platforma Docker musi być skonfigurowana tak, aby umożliwić kontenerom łączenie się z platformą Azure i wysyłanie danych rozliczeniowych do platformy Azure.
- W systemie Windows platforma Docker musi być również skonfigurowana do obsługi kontenerów systemu Linux .
|
Zasób analizy dokumentów |
Usługa Azure AI Document Intelligence lub zasób z wieloma usługami w witrynie Azure Portal. Aby korzystać z kontenerów, musisz mieć skojarzony klucz i identyfikator URI punktu końcowego. Obie wartości są dostępne na stronie Klucze analizy dokumentów i punkt końcowy w witrynie Azure Portal: - {FORM_RECOGNIZER_KEY}: jeden z dwóch dostępnych kluczy zasobów.
- {FORM_RECOGNIZER_ENDPOINT_URI}: punkt końcowy zasobu używanego do śledzenia informacji rozliczeniowych.
|
Opcjonalnie |
Purpose |
Interfejs wiersza polecenia platformy Azure (interfejs wiersza polecenia) |
Interfejs wiersza polecenia platformy Azure umożliwia tworzenie zasobów platformy Azure i zarządzanie nimi za pomocą zestawu poleceń online. Jest ona dostępna do zainstalowania w środowiskach systemu Windows, macOS i Linux oraz może być uruchamiana w kontenerze platformy Docker i usłudze Azure Cloud Shell. |
Wymagania dotyczące komputera hosta
Host to komputer oparty na architekturze x64 z uruchomionym kontenerem platformy Docker. Może to być komputer lokalny lub usługa hostingu platformy Docker na platformie Azure, taka jak:
Uwaga
Należy pamiętać, że nie można wdrożyć i uruchomić kontenera studio w usłudze Azure Kubernetes Service. Kontener studio jest obsługiwany tylko do uruchamiania na komputerze lokalnym.
Wymagania i zalecenia dotyczące kontenerów
Wymagane kontenery pomocnicze
W poniższej tabeli wymieniono co najmniej jeden kontener pomocniczy dla każdego pobranego kontenera analizy dokumentów. Aby uzyskać więcej informacji, zobacz sekcję Rozliczenia .
Kontener funkcji |
Obsługa kontenerów |
Przeczytaj |
Niewymagane |
Układ |
Niewymagane |
Wizytówka |
Przeczytaj |
Dokument ogólny |
Układ |
Faktura |
Układ |
Paragon |
Odczyt lub układ |
Identyfikator dokumentu |
Przeczytaj |
Szablon niestandardowy |
Układ |
Zalecane rdzenie procesora CPU i pamięć
Uwaga
Minimalne i zalecane wartości są oparte na limitach platformy Docker, a nie na zasobach maszyny hosta.
Kontenery analizy dokumentów
Kontener |
Minimum |
Zalecane |
Read |
8 rdzenie, pamięć 10 GB |
8 rdzenie, pamięć 24 GB |
Layout |
8 rdzenie, 16 GB pamięci |
8 rdzenie, pamięć 24 GB |
Business Card |
8 rdzenie, 16 GB pamięci |
8 rdzenie, pamięć 24 GB |
General Document |
8 rdzenie, pamięć 12 GB |
8 rdzenie, pamięć 24 GB |
ID Document |
8 rdzenie, 8 GB pamięci |
8 rdzenie, pamięć 24 GB |
Invoice |
8 rdzenie, 16 GB pamięci |
8 rdzenie, pamięć 24 GB |
Receipt |
8 rdzenie, 11 GB pamięci |
8 rdzenie, pamięć 24 GB |
Custom Template |
8 rdzenie, 16 GB pamięci |
8 rdzenie, pamięć 24 GB |
- Każdy rdzeń musi być co najmniej 2,6 gigahertz (GHz) lub szybszy.
- Rdzeń i pamięć odpowiadają
--cpus
ustawieniu i --memory
, które są używane w ramach docker compose
polecenia lub docker run
.
Napiwek
Możesz użyć polecenia docker images , aby wyświetlić listę pobranych obrazów kontenerów. Na przykład następujące polecenie wyświetla identyfikator, repozytorium i tag każdego pobranego obrazu kontenera sformatowane jako tabela:
docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
IMAGE ID REPOSITORY TAG
<image-id> <repository-path/name> <tag-name>
Uruchamianie kontenera za pomocą polecenia docker-compose up
Zastąp wartości {ENDPOINT_URI} i {API_KEY} identyfikatorem URI punktu końcowego zasobu oraz kluczem ze strony zasobu platformy Azure.
Upewnij się, że wartość jest ustawiona EULA
na akceptowanie.
EULA
Należy określić wartości , Billing
iApiKey
. W przeciwnym razie nie można uruchomić kontenera.
Ważne
Klucze są używane do uzyskiwania dostępu do zasobu analizy dokumentów. Nie udostępniaj swoich kluczy. Przechowuj je bezpiecznie, na przykład przy użyciu usługi Azure Key Vault. Zalecamy również regularne ponowne generowanie tych kluczy. Tylko jeden klucz jest wymagany do wykonania wywołania interfejsu API. Podczas ponownego generowania pierwszego klucza można używać drugiego klucza, aby nadal uzyskiwać dostęp do usługi.
Poniższy przykładowy kod jest przykładem samodzielnego docker compose
uruchamiania kontenera układu analizy dokumentów. Za pomocą docker compose
polecenia użyjesz pliku YAML, aby skonfigurować usługi aplikacji. Następnie za docker-compose up
pomocą polecenia utworzysz i uruchomisz wszystkie usługi z konfiguracji. Wprowadź wartości {FORM_RECOGNIZER_ENDPOINT_URI} i {FORM_RECOGNIZER_KEY} dla wystąpienia kontenera układu.
version: "3.9"
services:
azure-form-recognizer-read:
container_name: azure-form-recognizer-read
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/read-3.1
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
ports:
- "5000:5000"
networks:
- ocrvnet
networks:
ocrvnet:
driver: bridge
Teraz możesz uruchomić usługę za pomocą polecenia docker compose :
docker-compose up
Poniższy przykład kodu jest przykładem samodzielnego docker compose
uruchamiania kontenera dokumentów ogólnych analizy dokumentów. Za pomocą docker compose
polecenia użyjesz pliku YAML, aby skonfigurować usługi aplikacji. Następnie za pomocą docker-compose up
polecenia utworzysz i uruchomisz wszystkie usługi z poziomu konfiguracji. Wprowadź wartości {FORM_RECOGNIZER_ENDPOINT_URI} i {FORM_RECOGNIZER_KEY} dla wystąpień kontenera dokumentu ogólnego i układu.
version: "3.9"
services:
azure-cognitive-service-document:
container_name: azure-cognitive-service-document
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/document-3.0
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
- AzureCognitiveServiceLayoutHost=http://azure-cognitive-service-layout:5000
ports:
- "5000:5050"
azure-cognitive-service-layout:
container_name: azure-cognitive-service-layout
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.0
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
Teraz możesz uruchomić usługę za pomocą polecenia docker compose :
docker-compose up
Biorąc pod uwagę zasoby na maszynie, uruchomienie kontenera Dokument ogólny może zająć trochę czasu.
Poniższy przykładowy kod jest przykładem samodzielnego docker compose
uruchamiania kontenera układu analizy dokumentów. Za pomocą docker compose
polecenia użyjesz pliku YAML, aby skonfigurować usługi aplikacji. Następnie za pomocą docker-compose up
polecenia utworzysz i uruchomisz wszystkie usługi z poziomu konfiguracji. Wprowadź wartości {FORM_RECOGNIZER_ENDPOINT_URI} i {FORM_RECOGNIZER_KEY} dla wystąpienia kontenera układu.
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
Teraz możesz uruchomić usługę za pomocą polecenia docker compose :
docker-compose up
Poniższy przykładowy kod jest przykładem samodzielnego docker compose
uruchamiania kontenera faktury analizy dokumentów. Za pomocą docker compose
polecenia użyjesz pliku YAML, aby skonfigurować usługi aplikacji. Następnie za pomocą docker-compose up
polecenia utworzysz i uruchomisz wszystkie usługi z poziomu konfiguracji. Wprowadź wartości {FORM_RECOGNIZER_ENDPOINT_URI} i {FORM_RECOGNIZER_KEY} dla wystąpień kontenera Faktura i Układ.
Obraz układu ogólnie dostępnego w wersji 3.1 należy użyć jako nadrzędnego obrazu zarówno dla modeli 3.0 GA, jak i 3.1 GA.
version: "3.9"
services:
azure-cognitive-service-invoice:
container_name: azure-cognitive-service-invoice
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice-3.1
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
- AzureCognitiveServiceLayoutHost=http://azure-cognitive-service-layout:5000
ports:
- "5000:5050"
azure-cognitive-service-layout:
container_name: azure-cognitive-service-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}
Teraz możesz uruchomić usługę za pomocą polecenia docker compose :
docker-compose up
Poniższy przykład kodu jest przykładem samodzielnego docker compose
uruchamiania kontenera dokumentów ogólnych analizy dokumentów. Za pomocą docker compose
polecenia użyjesz pliku YAML, aby skonfigurować usługi aplikacji. Następnie za pomocą docker-compose up
polecenia utworzysz i uruchomisz wszystkie usługi z poziomu konfiguracji. Wprowadź wartości {FORM_RECOGNIZER_ENDPOINT_URI} i {FORM_RECOGNIZER_KEY} dla wystąpień kontenera Paragon i Odczyt.
Obraz układu ogólnie dostępnego w wersji 3.1 można użyć jako nadrzędnego obrazu zamiast odczytu obrazu.
version: "3.9"
services:
azure-cognitive-service-receipt:
container_name: azure-cognitive-service-receipt
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/receipt-3.1
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
- AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
ports:
- "5000:5050"
azure-cognitive-service-read:
container_name: azure-cognitive-service-read
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/read-3.1
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
Teraz możesz uruchomić usługę za pomocą polecenia docker compose :
docker-compose up
Poniższy przykład kodu jest przykładem samodzielnego docker compose
uruchamiania kontenera dokumentów ogólnych analizy dokumentów. Za pomocą docker compose
polecenia użyjesz pliku YAML, aby skonfigurować usługi aplikacji. Następnie za pomocą docker-compose up
polecenia utworzysz i uruchomisz wszystkie usługi z poziomu konfiguracji. Wprowadź wartości {FORM_RECOGNIZER_ENDPOINT_URI} i {FORM_RECOGNIZER_KEY} dla wystąpień kontenera identyfikatora i odczytu.
Obraz układu ogólnie dostępnego w wersji 3.1 można użyć jako nadrzędnego obrazu zamiast odczytu obrazu.
version: "3.9"
services:
azure-cognitive-service-id-document:
container_name: azure-cognitive-service-id-document
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/id-document-3.1
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
- AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
ports:
- "5000:5050"
azure-cognitive-service-read:
container_name: azure-cognitive-service-read
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/read-3.1
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
Teraz możesz uruchomić usługę za pomocą polecenia docker compose :
docker-compose up
version: "3.9"
services:
azure-cognitive-service-invoice:
container_name: azure-cognitive-service-businesscard
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/businesscard-3.0
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
- AzureCognitiveServiceLayoutHost=http://azure-cognitive-service-layout:5000
ports:
- "5000:5050"
azure-cognitive-service-layout:
container_name: azure-cognitive-service-layout
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.0
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
Oprócz wymagań wstępnych należy wykonać następujące czynności, aby przetworzyć dokument niestandardowy:
Utwórz folder i zapisz następujące pliki
- Nadaj temu folderowi nazwę.
- Odwołujemy się do ścieżki pliku dla tego folderu jako {FILE_MOUNT_PATH}.
- Skopiuj ścieżkę pliku w dogodnej lokalizacji, musisz dodać ją do pliku env . Jako przykład, jeśli folder jest nazywany plikami znajdującymi się w tym samym folderze co
docker-compose
plik, wpis pliku env jest następujący: FILE_MOUNT_PATH="./files"
Tworzenie folderu do przechowywania dzienników zapisanych przez usługę Document Intelligence na komputerze lokalnym
- Nadaj temu folderowi nazwę danych wyjściowych.
- Odwołujemy się do ścieżki pliku dla tego folderu jako {OUTPUT_MOUNT_PATH}.
- Skopiuj ścieżkę pliku w dogodnej lokalizacji, musisz dodać ją do pliku env . Jeśli na przykład folder jest nazywany danymi wyjściowymi, znajdującym się w tym samym folderze co
docker-compose
plik, wpis pliku env jest następujący: OUTPUT_MOUNT_PATH="./output"
Tworzenie folderu do przechowywania wewnętrznego przetwarzania udostępnionego między kontenerami
- Nadaj temu folderowi nazwę udostępnioną.
- Odwołujemy się do ścieżki pliku dla tego folderu jako {SHARED_MOUNT_PATH}.
- Skopiuj ścieżkę pliku w dogodnej lokalizacji, musisz dodać ją do pliku env . Jako przykład, jeśli folder jest nazywany udostępniony, znajdujący się w tym samym folderze co
docker-compose
plik, wpis pliku env jest SHARED_MOUNT_PATH="./share"
- Nadaj tej bazie danych folderów nazwę.
- Odwołujemy się do ścieżki pliku dla tego folderu jako {DB_MOUNT_PATH}.
- Skopiuj ścieżkę pliku w dogodnej lokalizacji, musisz dodać ją do pliku env . Na przykład, jeśli folder jest nazywany db, znajdujący się w tym samym folderze co
docker-compose
plik, wpis pliku env jest DB_MOUNT_PATH="./db"
Tworzenie pliku środowiska
Nadaj temu plikowi nazwę env.
Zadeklaruj następujące zmienne środowiskowe:
SHARED_MOUNT_PATH="./share"
OUTPUT_MOUNT_PATH="./output"
FILE_MOUNT_PATH="./files"
DB_MOUNT_PATH="./db"
FORM_RECOGNIZER_ENDPOINT_URI="YourFormRecognizerEndpoint"
FORM_RECOGNIZER_KEY="YourFormRecognizerKey"
NGINX_CONF_FILE="./nginx.conf"
Tworzenie pliku nginx
Nadaj temu plikowi nazwę nginx.conf.
Wprowadź następującą konfigurację:
worker_processes 1;
events { worker_connections 1024; }
http {
sendfile on;
client_max_body_size 90M;
upstream docker-custom {
server azure-cognitive-service-custom-template:5000;
}
upstream docker-layout {
server azure-cognitive-service-layout:5000;
}
server {
listen 5000;
location = / {
proxy_set_header Host $host:$server_port;
proxy_set_header Referer $scheme://$host:$server_port;
proxy_pass http://docker-custom/;
}
location /status {
proxy_pass http://docker-custom/status;
}
location /test {
return 200 $scheme://$host:$server_port;
}
location /ready {
proxy_pass http://docker-custom/ready;
}
location /swagger {
proxy_pass http://docker-custom/swagger;
}
location /formrecognizer/documentModels/prebuilt-layout {
proxy_set_header Host $host:$server_port;
proxy_set_header Referer $scheme://$host:$server_port;
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Headers' 'cache-control,content-type,ocp-apim-subscription-key,x-ms-useragent' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
add_header 'Access-Control-Expose-Headers' '*' always;
if ($request_method = 'OPTIONS') {
return 200;
}
proxy_pass http://docker-layout/formrecognizer/documentModels/prebuilt-layout;
}
location /formrecognizer/documentModels {
proxy_set_header Host $host:$server_port;
proxy_set_header Referer $scheme://$host:$server_port;
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Headers' 'cache-control,content-type,ocp-apim-subscription-key,x-ms-useragent' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE' always;
add_header 'Access-Control-Expose-Headers' '*' always;
if ($request_method = 'OPTIONS') {
return 200;
}
proxy_pass http://docker-custom/formrecognizer/documentModels;
}
location /formrecognizer/operations {
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Headers' 'cache-control,content-type,ocp-apim-subscription-key,x-ms-useragent' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE, PATCH' always;
add_header 'Access-Control-Expose-Headers' '*' always;
if ($request_method = OPTIONS ) {
return 200;
}
proxy_pass http://docker-custom/formrecognizer/operations;
}
}
}
Tworzenie pliku docker compose
Nadaj temu plikowi nazwę docker-compose.yml
Poniższy przykładowy kod jest przykładem samodzielnego docker compose
uruchamiania razem kontenerów układu analizy dokumentów, programu Studio i szablonu niestandardowego. Za pomocą docker compose
polecenia użyjesz pliku YAML, aby skonfigurować usługi aplikacji. Następnie za pomocą docker-compose up
polecenia utworzysz i uruchomisz wszystkie usługi z poziomu konfiguracji.
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: /shared
Mounts:Shared: /shared
Mounts:Output: /logs
volumes:
- type: bind
source: ${SHARED_MOUNT_PATH}
target: /shared
- 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: /shared
Mounts:Shared: /shared
Mounts:Output: /logs
volumes:
- type: bind
source: ${SHARED_MOUNT_PATH}
target: /shared
- 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)
Kontener szablonu niestandardowego i kontener układu mogą używać kolejek usługi Azure Storage lub w kolejkach pamięci. Storage:ObjectStore:AzureBlob:ConnectionString
Zmienne środowiskowe i queue:azure:connectionstring
muszą być ustawiane tylko w przypadku korzystania z kolejek usługi Azure Storage. W przypadku uruchamiania lokalnego usuń te zmienne.
Upewnij się, że usługa jest uruchomiona
Aby upewnić się, że usługa jest uruchomiona. Uruchom te polecenia w powłoce systemu Ubuntu.
$cd <folder containing the docker-compose file>
$source .env
$docker-compose up
Kontenery szablonów niestandardowych wymagają kilku różnych konfiguracji i obsługują inne opcjonalne konfiguracje.
Ustawienie |
Wymagania |
opis |
EULA |
Tak |
Przykład akceptacji licencji: Eula=accept |
Rozliczenia |
Tak |
Identyfikator URI punktu końcowego rozliczeń zasobu usługi FR |
ApiKey |
Tak |
Klucz punktu końcowego zasobu usługi FR |
Queue:Azure:ConnectionString |
Nie. |
Parametry połączenia kolejki platformy Azure |
Storage:ObjectStore:AzureBlob:ConnectionString |
Nie. |
Parametry połączenia obiektów blob platformy Azure |
HealthCheck:MemoryUpperboundInMB |
Nie. |
Próg pamięci dla raportowania złej kondycji dla utrzymania. Wartość domyślna: taka sama jak zalecana pamięć |
StorageTimeToLiveInMinutes |
Nie. |
TTL czas trwania usuwania wszystkich plików pośrednich i końcowych. Ustawienie domyślne: Dwa dni TTL można ustawić od pięciu minut do siedmiu dni |
Zadanie:MaxRunningTimeSpanInMinutes |
Nie. |
Maksymalny czas wykonywania dla traktowania żądania jako limitu czasu. Ustawienie domyślne: 60 minut |
HTTP_PROXY_BYPASS_URLS |
Nie. |
Określ adresy URL dla pomijania serwera proxy Przykład: HTTP_PROXY_BYPASS_URLS = abc.com, xyz.com |
AzureCognitiveServiceReadHost (paragon, tylko kontenery IdDocument) |
Tak |
Określ identyfikator URI kontenera odczytu— przykład: AzureCognitiveServiceReadHost=http://onprem-frread:5000 |
AzureCognitiveServiceLayoutHost (tylko dokument, kontenery faktur) |
Tak |
Określ identyfikator URI kontenera układu: AzureCognitiveServiceLayoutHost=http://onprem-frlayout:5000 |
Trenowanie modelu za pomocą programu Document Intelligence Studio
Zbierz zestaw co najmniej pięciu formularzy tego samego typu. Te dane służą do trenowania modelu i testowania formularza. Możesz użyć przykładowego zestawu danych (pobierz i wyodrębnij sample_data.zip).
Po potwierdzeniu, że kontenery są uruchomione, otwórz przeglądarkę i przejdź do punktu końcowego, w którym wdrożono kontenery. Jeśli to wdrożenie jest maszyną lokalną, punkt końcowy to [http://localhost:5001](http://localhost:5001)
.
Wybierz kafelek niestandardowego modelu wyodrębniania.
Create project
Wybierz opcję.
Podaj nazwę projektu i opcjonalnie opis
W kroku "Skonfiguruj zasób" podaj punkt końcowy dla niestandardowego modelu szablonu. Jeśli kontenery zostały wdrożone na komputerze lokalnym, użyj tego adresu URL [http://localhost:5000](http://localhost:5000)
.
Podaj podfolder miejsca, w którym znajdują się dane szkoleniowe w folderze plików.
Na koniec utwórz projekt
Teraz powinien zostać utworzony projekt gotowy do etykietowania. Przekaż dane szkoleniowe i rozpocznij etykietowanie. Jeśli dopiero zaczynasz etykietowanie, zobacz Tworzenie i trenowanie modelu niestandardowego.
Trenowanie przy użyciu interfejsu API
Jeśli planujesz wywołać interfejsy API bezpośrednio w celu wytrenowania modelu, niestandardowy interfejs API trenowania modelu szablonu wymaga zakodowanego w formacie base64 pliku zip, który jest zawartością projektu etykietowania. Możesz pominąć pliki PDF lub obrazy i przesłać tylko pliki JSON.
Gdy zestaw danych jest oznaczony etykietą i *.ocr.json, *.labels.json i pliki fields.json dodane do pliku zip, użyj poleceń programu PowerShell, aby wygenerować ciąg zakodowany w formacie base64.
$bytes = [System.IO.File]::ReadAllBytes("<your_zip_file>.zip")
$b64String = [System.Convert]::ToBase64String($bytes, [System.Base64FormattingOptions]::None)
Użyj interfejsu API modelu kompilacji, aby opublikować żądanie.
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"
}
}
Sprawdź, czy usługa jest uruchomiona
Istnieje kilka sposobów sprawdzania, czy kontener jest uruchomiony:
Kontener udostępnia stronę główną w \
postaci wizualnej weryfikacji uruchomionej kontenera.
Możesz otworzyć ulubioną przeglądarkę internetową i przejść do zewnętrznego adresu IP i uwidocznić port danego kontenera. Użyj wymienionych adresów URL żądań, aby zweryfikować, czy kontener jest uruchomiony. Wymienione przykładowe adresy URL żądań to http://localhost:5000
, ale określony kontener może się różnić. Pamiętaj, że przechodzisz do zewnętrznego adresu IP kontenera i uwidaczniasz port.
Adres URL żądania |
Purpose |
http:// localhost:5000/ |
Kontener zawiera stronę główną. |
http:// localhost:5000/ready |
Żądanie get zapewnia weryfikację, że kontener jest gotowy do akceptowania zapytania względem modelu. To żądanie może służyć do sond gotowości i gotowości platformy Kubernetes. |
http:// localhost:5000/status |
Zażądano polecenia GET. To żądanie sprawdza, czy klucz api-key używany do uruchamiania kontenera jest prawidłowy bez powodowania zapytania punktu końcowego. To żądanie może służyć do sond gotowości i gotowości platformy Kubernetes. |
http:// localhost:5000/swagger |
Kontener zawiera pełen zestaw dokumentacji dla punktów końcowych oraz funkcję Wypróbuj. Dzięki tej funkcji możesz wprowadzić ustawienia w formularzu HTML opartym na sieci Web i utworzyć zapytanie bez konieczności pisania kodu. Po powrocie zapytania zostanie udostępnione przykładowe polecenie CURL, aby zademonstrować wymagane nagłówki HTTP i format treści. |
|
|
Zatrzymywanie kontenerów
Aby zatrzymać kontenery, użyj następującego polecenia:
docker-compose down
Rozliczenia
Kontenery analizy dokumentów wysyłają informacje rozliczeniowe na platformę Azure przy użyciu zasobu analizy dokumentów na koncie platformy Azure.
Zapytania do kontenera są rozliczane w warstwie cenowej zasobu platformy Azure używanego dla interfejsu API Key
. Rozliczenia są obliczane dla każdego wystąpienia kontenera używanego do przetwarzania dokumentów i obrazów.
Jeśli wystąpi następujący błąd: Kontener nie jest w prawidłowym stanie. Sprawdzanie poprawności subskrypcji nie powiodło się, a stan "OutOfQuota" interfejsu API jest poza limitem przydziału. Jest to wskaźnik, że kontenery nie są komunikacją z punktem końcowym rozliczeń.
Łączenie się z platformą Azure
Do uruchomienia kontenera potrzebne są wartości argumentów rozliczeniowych. Te wartości umożliwiają kontenerowi łączenie się z punktem końcowym rozliczeń. Kontener raportuje użycie co około 10 do 15 minut. Jeśli kontener nie łączy się z platformą Azure w dozwolonym przedziale czasu, kontener będzie nadal działać, ale nie obsługuje zapytań, dopóki punkt końcowy rozliczeń nie zostanie przywrócony. Próba nawiązania połączenia jest podejmowana 10 razy w tym samym przedziale czasu od 10 do 15 minut. Jeśli nie może nawiązać połączenia z punktem końcowym rozliczeń w ciągu 10 prób, kontener przestanie obsługiwać żądania. Zobacz Często zadawane pytania dotyczące kontenera usługi Azure AI, aby uzyskać przykład informacji wysyłanych do firmy Microsoft na potrzeby rozliczeń.
Argumenty rozliczeniowe
Polecenie docker-compose up uruchamia kontener, gdy wszystkie trzy z następujących opcji są dostarczane z prawidłowymi wartościami:
Opcja |
Opis |
ApiKey |
Klucz zasobu usług Azure AI używany do śledzenia informacji rozliczeniowych. Wartość tej opcji musi być ustawiona na klucz dla zaaprowizowanego zasobu określonego w Billing pliku . |
Billing |
Punkt końcowy zasobu usług AI platformy Azure używany do śledzenia informacji rozliczeniowych. Wartość tej opcji musi być ustawiona na identyfikator URI punktu końcowego aprowizowanego zasobu platformy Azure. |
Eula |
Wskazuje, że zaakceptowano licencję dla kontenera. Wartość tej opcji należy ustawić tak, aby akceptowała. |
Aby uzyskać więcej informacji na temat tych opcji, zobacz Konfigurowanie kontenerów.
Podsumowanie
I już! W tym artykule przedstawiono pojęcia i przepływy pracy dotyczące pobierania, instalowania i uruchamiania kontenerów analizy dokumentów. Podsumowując:
- Analiza dokumentów udostępnia siedem kontenerów systemu Linux dla platformy Docker.
- Obrazy kontenerów są pobierane z mcr.
- Obrazy kontenerów są uruchamiane na platformie Docker.
- Informacje o rozliczeniach należy określić podczas tworzenia wystąpienia kontenera.
Ważne
Kontenery sztucznej inteligencji platformy Azure nie mają licencji na uruchamianie bez nawiązywania połączenia z platformą Azure na potrzeby pomiaru użytkowania. Klienci muszą umożliwić kontenerom komunikowanie informacji rozliczeniowych z usługą pomiarów przez cały czas. Kontenery sztucznej inteligencji platformy Azure nie wysyłają danych klientów (na przykład obrazu lub tekstu analizowanego) do firmy Microsoft.
Następne kroki