Kontenery w środowiskach odłączonych (offline)
Obsługa kontenerów jest obecnie dostępna w wersji 2022-08-31 (GA)
analizy dokumentów dla wszystkich modeli oraz 2023-07-31 (GA)
modeli odczytu, układu, faktury, paragonu i dokumentu identyfikatora:
- INTERFEJS API REST
2022-08-31 (GA)
- INTERFEJS API REST
2023-07-31 (GA)
- Określanie elementów docelowych bibliotek klienckich
REST API 2022-08-31 (GA)
- Określanie elementów docelowych bibliotek klienckich
REST API 2023-07-31 (GA)
✔️ Aby uzyskać informacje na temat obsługiwanych kontenerów kontenerów, zobacz Document Intelligence v3.0 containers in disconnected environments (Kontenery analizy dokumentów w wersji 3.0 w środowiskach bez połączenia).
Ta zawartość dotyczy: wersja 3.0 (ogólna dostępność) w wersji 3.1 (ogólna dostępność)
Co to są odłączone kontenery?
Kontenery usługi Azure AI umożliwiają uruchamianie niektórych usług analizy dokumentów lokalnie w kontenerach. Połączone kontenery działają lokalnie w środowisku i wysyłają informacje o użyciu do chmury na potrzeby rozliczeń. Odłączone kontenery są przeznaczone dla scenariuszy, w których do uruchomienia kontenerów nie jest wymagana łączność z chmurą.
Kontenery usługi Azure AI Document Intelligence umożliwiają korzystanie z interfejsów API analizy dokumentów z korzyściami konteneryzacji. Odłączone kontenery są oferowane za pośrednictwem cen warstwy zobowiązania oferowanych w obniżonej cenie w porównaniu z ceną płatności zgodnie z rzeczywistym użyciem. W przypadku cen warstwy zobowiązania można zobowiązać się do korzystania z funkcji analizy dokumentów dla stałej opłaty przy przewidywalnym całkowitym koszcie na podstawie potrzeb obciążenia.
Rozpocznij
Przed podjęciem próby uruchomienia kontenera platformy Docker w środowisku offline upewnij się, że znasz następujące wymagania, aby pomyślnie pobrać kontener i korzystać z niego:
- Wymagania i zalecenia dotyczące komputera hosta.
- Polecenie platformy Docker
pull
umożliwiające pobranie kontenera. - Jak sprawdzić, czy kontener jest uruchomiony.
- Jak wysyłać zapytania do punktu końcowego kontenera po jego uruchomieniu.
Żądanie dostępu do używania kontenerów w środowiskach bez połączenia
Aby można było używać kontenerów analizy dokumentów w środowiskach bez połączenia, należy najpierw wypełnić formularz żądania i zakupić plan zobowiązania.
Tworzenie nowego zasobu w witrynie Azure Portal
Rozpocznij od aprowizowania nowego zasobu w portalu.
Upewnij się, że wybrano
Commitment tier disconnected containers DC0
opcję Warstwa cenowaWybierz odpowiednią warstwę cenową z co najmniej jednej warstwy niestandardowej, odczytu lub wstępnie utworzonej warstwy zobowiązania
Kontener | Minimum | Zalecane | Plan zobowiązania |
---|---|---|---|
Read |
8 rdzenie, pamięć 10 GB |
8 rdzenie, pamięć 24 GB |
OCR (Odczyt) |
Layout |
8 rdzenie, 16 GB pamięci |
8 rdzenie, pamięć 24 GB |
Wstępnie utworzona |
Business Card |
8 rdzenie, 16 GB pamięci |
8 rdzenie, pamięć 24 GB |
Wstępnie utworzona |
General Document |
8 rdzenie, pamięć 12 GB |
8 rdzenie, pamięć 24 GB |
Wstępnie utworzona |
ID Document |
8 rdzenie, 8 GB pamięci |
8 rdzenie, pamięć 24 GB |
Wstępnie utworzona |
Invoice |
8 rdzenie, 16 GB pamięci |
8 rdzenie, pamięć 24 GB |
Wstępnie utworzona |
Receipt |
8 rdzenie, 11 GB pamięci |
8 rdzenie, pamięć 24 GB |
Wstępnie utworzona |
Custom Template |
8 rdzenie, 16 GB pamięci |
8 rdzenie, pamięć 24 GB |
Niestandardowe dane w formacie API |
Zbieranie wymaganych parametrów
Istnieją trzy wymagane parametry dla wszystkich kontenerów usług Azure AI:
- Umowa licencyjna użytkownika końcowego (EULA) musi być obecna z wartością akceptacji.
- Adres URL punktu końcowego zasobu z witryny Azure Portal.
- Klucz interfejsu API zasobu z witryny Azure Portal.
Zarówno adres URL punktu końcowego, jak i klucz interfejsu API są potrzebne podczas pierwszego uruchomienia kontenera w celu skonfigurowania go pod kątem rozłączonego użycia. Klucz i punkt końcowy można znaleźć na stronie Klucz i punkt końcowy zasobu w witrynie Azure Portal:
Ważne
Klucz i punkt końcowy będą używane tylko do konfigurowania kontenera do uruchamiania w środowisku odłączonym. Po skonfigurowaniu kontenera nie będzie potrzebny klucz i wartości punktu końcowego do wysyłania żądań interfejsu API. Przechowuj je bezpiecznie, na przykład przy użyciu usługi Azure Key Vault. Ten proces wymaga tylko jednego klucza.
Pobieranie kontenera platformy Docker za pomocą polecenia docker pull
Pobierz kontener platformy Docker zatwierdzony do uruchamiania w środowisku bez połączenia. Na przykład:
Polecenie ściągania platformy Docker | Wartość | Formatuj |
---|---|---|
● ● ● docker pull [image] docker pull [image]latest |
Najnowszy obraz kontenera. | ● ● ● mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.0:latest mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice-3.0:latest |
Przykładowe polecenie ściągania platformy Docker
docker pull mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice:latest
Konfigurowanie kontenera do uruchomienia w środowisku odłączonym
Odłączone obrazy kontenerów są takie same jak połączone kontenery. Kluczową różnicą jest to, że odłączone kontenery wymagają pliku licencji. Ten plik licencji jest pobierany przez uruchomienie kontenera w trybie połączonym z parametrem downloadLicense ustawionym na wartość true.
Teraz, po pobraniu kontenera, musisz wykonać docker run
polecenie z następującym parametrem:
DownloadLicense=True
. Ten parametr pobiera plik licencji, który umożliwia uruchamianie kontenera platformy Docker, gdy nie jest połączony z Internetem. Zawiera również datę wygaśnięcia, po której plik licencji jest nieprawidłowy do uruchomienia kontenera. Plik licencji można używać tylko w odpowiednim zatwierdzonym kontenerze.
Ważne
Polecenie docker run
wygeneruje szablon, którego można użyć do uruchomienia kontenera. Szablon zawiera parametry potrzebne do pobrania modeli i pliku konfiguracji. Pamiętaj, aby zapisać ten szablon.
W poniższym przykładzie pokazano formatowanie polecenia docker run
do użycia z wartościami zastępczymi. Zastąp te wartości zastępcze własnymi wartościami.
Symbol zastępczy | Wartość | Formatowanie lub przykład |
---|---|---|
{IMAGE} |
Obraz kontenera, którego chcesz użyć. | mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice |
{LICENSE_MOUNT} |
Ścieżka, w której jest pobierana licencja, i instalowana. | /host/license:/path/to/license/directory |
{ENDPOINT_URI} |
Punkt końcowy do uwierzytelniania żądania obsługi. Możesz go znaleźć na stronie Klucz i punkt końcowy zasobu w witrynie Azure Portal. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{API_KEY} |
Klucz zasobu analizy dokumentów. Możesz go znaleźć na stronie Klucz i punkt końcowy zasobu w witrynie Azure Portal. | {string} |
{CONTAINER_LICENSE_DIRECTORY} |
Lokalizacja folderu licencji w lokalnym systemie plików kontenera. | /path/to/license/directory |
Przykładowe docker run
polecenie
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}
W poniższym poleceniu zastąp symbole zastępcze ścieżki folderu, punktu końcowego rozliczeń i klucza interfejsu API, aby pobrać plik licencji dla kontenera układu.
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 skonfigurowaniu kontenera użyj następnej sekcji, aby uruchomić kontener w środowisku z licencją oraz odpowiednie alokacje pamięci i procesora CPU.
Modele kontenerów i konfiguracja analizy dokumentów
Po skonfigurowaniu kontenera wartości pobranych modeli analizy dokumentów i konfiguracji kontenera zostaną wygenerowane i wyświetlone w danych wyjściowych kontenera.
Uruchamianie kontenera w środowisku odłączonym
Po pobraniu pliku licencji można uruchomić kontener w środowisku rozłączonym z licencją, odpowiednią pamięcią i odpowiednimi alokacjami procesora CPU. W poniższym przykładzie pokazano formatowanie docker run
polecenia z wartościami zastępczymi. Zastąp te wartości symboli zastępczych własnymi wartościami.
Za każdym razem, gdy kontener jest uruchamiany, plik licencji musi być zainstalowany w kontenerze, a lokalizacja folderu licencji w lokalnym systemie plików kontenera musi być określona za pomocą Mounts:License=
polecenia . Ponadto należy określić instalację danych wyjściowych, aby można było zapisywać rekordy użycia rozliczeń.
Symbol zastępczy | Wartość | Formatowanie lub przykład |
---|---|---|
{IMAGE} |
Obraz kontenera, którego chcesz użyć. | mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice |
{MEMORY_SIZE} |
Odpowiedni rozmiar pamięci do przydzielenia dla kontenera. | 4g |
{NUMBER_CPUS} |
Odpowiednia liczba procesorów CPU do przydzielenia dla kontenera. | 4 |
{LICENSE_MOUNT} |
Ścieżka, w której znajduje się i jest instalowana licencja. | /host/license:/path/to/license/directory |
{OUTPUT_PATH} |
Ścieżka wyjściowa rejestrowania rekordów użycia. | /host/output:/path/to/output/directory |
{CONTAINER_LICENSE_DIRECTORY} |
Lokalizacja folderu licencji w lokalnym systemie plików kontenera. | /path/to/license/directory |
{CONTAINER_OUTPUT_DIRECTORY} |
Lokalizacja folderu wyjściowego w lokalnym systemie plików kontenera. | /path/to/output/directory |
Przykładowe docker run
polecenie
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}
Uruchamianie odłączonego kontenera jest podobne do uruchamiania połączonego kontenera. Odłączone kontenery wymagają dodanego parametru licencji. Oto przykładowy plik docker-compose.yml do uruchamiania niestandardowego kontenera w trybie rozłączenia. Dodaj zmienną środowiskową CUSTOM_LICENSE_MOUNT_PATH z wartością ustawioną na folder zawierający pobrany plik licencji, a OUTPUT_MOUNT_PATH
zmienna środowiskowa z wartością ustawioną na folder zawierający dzienniki użycia.
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)
Inne parametry i polecenia
Poniżej przedstawiono kilka dodatkowych parametrów i poleceń, które należy uruchomić kontener.
Rekordy użycia
W przypadku obsługi kontenerów platformy Docker w środowisku odłączonym kontener będzie zapisywać rekordy użycia na woluminie, w którym są zbierane w czasie. Możesz również wywołać punkt końcowy interfejsu API REST, aby wygenerować raport dotyczący użycia usługi.
Argumenty dotyczące przechowywania dzienników
Po uruchomieniu w środowisku odłączonym instalacja wyjściowa musi być dostępna dla kontenera w celu przechowywania dzienników użycia. Na przykład należy uwzględnić -v /host/output:{OUTPUT_PATH}
element i Mounts:Output={OUTPUT_PATH}
w poniższym przykładzie zastąpić {OUTPUT_PATH}
ścieżką, w której są przechowywane dzienniki:
docker run -v /host/output:{OUTPUT_PATH} ... <image> ... Mounts:Output={OUTPUT_PATH}
Pobieranie rekordów przy użyciu punktów końcowych kontenera
Kontener udostępnia dwa punkty końcowe do zwracania rekordów dotyczących jego użycia.
Pobieranie wszystkich rekordów
Następujący punkt końcowy zawiera raport podsumowujący wszystkie dane użycia zebrane w zainstalowanym katalogu rekordów rozliczeniowych.
https://<service>/records/usage-logs/
Przykładowy punkt końcowy HTTPS
http://localhost:5000/records/usage-logs
Punkt końcowy dziennika użycia zwraca odpowiedź JSON podobną do poniższego przykładu:
{
"apiType": "string",
"serviceName": "string",
"meters": [
{
"name": "string",
"quantity": 256345435
}
]
}
Pobieranie rekordów dla określonego miesiąca
Następujący punkt końcowy zawiera raport podsumowujący użycie w danym miesiącu i roku.
https://<service>/records/usage-logs/{MONTH}/{YEAR}
Ten punkt końcowy dziennika użycia zwraca odpowiedź JSON podobną do poniższego przykładu:
{
"apiType": "string",
"serviceName": "string",
"meters": [
{
"name": "string",
"quantity": 56097
}
]
}
Rozwiązywanie problemów
Uruchom kontener z włączoną instalacją danych wyjściowych i rejestrowaniem. Te ustawienia umożliwiają kontenerowi generowanie plików dziennika, które są przydatne do rozwiązywania problemów występujących podczas uruchamiania lub uruchamiania kontenera.
Napiwek
Aby uzyskać więcej informacji na temat rozwiązywania problemów i wskazówek, zobacz Temat Odłączone kontenery — często zadawane pytania.