Udostępnij za pośrednictwem


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 dokumentów odczytu, układu, faktury, paragonu i identyfikatora:

✔️ 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: Znacznik wersja 3.0 (ogólna dostępność) Znacznik 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 cenowa

  • Wybierz odpowiednią warstwę cenową z co najmniej jednej niestandardowej, odczytanej lub wstępnie utworzonej warstwy zobowiązania

    Zrzut ekranu przedstawiający konfigurację rozłączonej warstwy w witrynie Azure Portal.

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:

Zrzut ekranu przedstawiający stronę kluczy i punktu końcowego witryny 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.

Następne kroki