Udostępnij za pośrednictwem


Konfigurowanie kontenerów analizy dokumentów

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:

✔️ Aby uzyskać obsługiwaną dokumentację kontenerów, zobacz Konfigurowanie kontenerów analizy dokumentów w wersji 3.0.

Ta zawartość dotyczy: Znacznik wersja 3.0 (ogólna dostępność) Znacznik w wersji 3.1 (ogólna dostępność)

Dzięki kontenerom analizy dokumentów można utworzyć architekturę aplikacji zoptymalizowaną pod kątem korzystania zarówno z niezawodnych możliwości chmury, jak i lokalizacji brzegowej. Kontenery zapewniają minimalistyczne, izolowane środowisko, które można łatwo wdrożyć lokalnie i w chmurze. W tym artykule pokazano, jak skonfigurować środowisko uruchomieniowe kontenera analizy dokumentów przy użyciu docker compose argumentów poleceń. Funkcje analizy dokumentów są obsługiwane przez siedem kontenerów funkcji analizy dokumentów — odczyt, układ, wizytówka, dokument identyfikatora, paragon, faktura, niestandardowy. Te kontenery mają zarówno wymagane, jak i opcjonalne ustawienia. Aby zapoznać się z kilkoma przykładami, zobacz sekcję Przykładowy plik docker-compose.yml.

Ustawienia konfiguracji

Każdy kontener ma następujące ustawienia konfiguracji:

Wymagania Ustawienie Purpose
Tak Klawisz Śledzi informacje o rozliczeniach.
Tak Rozliczenia Określa identyfikator URI punktu końcowego zasobu usługi na platformie Azure. Aby uzyskać więcej informacji, zobacz Rozliczenia. Aby uzyskać więcej informacji i pełną listę regionalnych punktów końcowych, zobacz Niestandardowe nazwy poddomeny dla usług Azure AI.
Tak Eula Wskazuje, że zaakceptowano licencję dla kontenera.
Nie. ApplicationInsights Umożliwia dodawanie obsługi klienta usługi aplikacja systemu Azure Insights dla kontenera.
Nie. Biegle Zapisuje dziennik i, opcjonalnie, dane metryk na serwerze Fluentd.
Nie. HTTP Proxy Konfiguruje serwer proxy HTTP do tworzenia żądań wychodzących.
Nie. Rejestrowanie Zapewnia obsługę rejestrowania ASP.NET Core dla kontenera.

Ważne

Ustawienia Key, Billingi Eula są używane razem. Musisz podać prawidłowe wartości dla wszystkich trzech ustawień; w przeciwnym razie kontenery nie zostaną uruchomione. Aby uzyskać więcej informacji na temat używania tych ustawień konfiguracji do tworzenia wystąpienia kontenera, zobacz Rozliczenia.

Ustawienie konfiguracji klucza i rozliczeń

Ustawienie Key określa klucz zasobu platformy Azure używany do śledzenia informacji rozliczeniowych dla kontenera. Wartość klucza musi być prawidłowym kluczem zasobu określonego Billing w sekcji "Ustawienie konfiguracji rozliczeń".

Ustawienie Billing określa identyfikator URI punktu końcowego zasobu na platformie Azure, który jest używany do pomiaru informacji rozliczeniowych dla kontenera. Wartość tego ustawienia konfiguracji musi być prawidłowym identyfikatorem URI punktu końcowego dla zasobu na platformie Azure. Kontener raportuje użycie co około 10 do 15 minut.

Te ustawienia można znaleźć w witrynie Azure Portal na stronie Klucze i punkt końcowy .

Zrzut ekranu przedstawiający stronę kluczy i punktu końcowego witryny Azure Portal.

EULA ustawienie

Ustawienie Eula wskazuje, że zaakceptowano licencję dla kontenera. Musisz określić wartość dla tego ustawienia konfiguracji, a wartość musi być ustawiona na acceptwartość .

Wymagania Nazwisko Typ danych opis
Tak Eula String Akceptacja licencji

Przykład:
Eula=accept

Kontenery usług AI platformy Azure są licencjonowane zgodnie z umową regulującą korzystanie z platformy Azure. Jeśli nie masz istniejącej umowy dotyczącej korzystania z platformy Azure, zgadzasz się, że Umowa rządząca korzystaniem z platformy Azure jest umową subskrypcji online firmy Microsoft, która obejmuje postanowienia dotyczące usług online. W przypadku wersji zapoznawczych zgadzasz się również na dodatkowe warunki użytkowania dla wersji zapoznawczych platformy Microsoft Azure. Korzystając z kontenera, akceptujesz te warunki.

Ustawienie applicationInsights

Ustawienie ApplicationInsights umożliwia dodanie obsługi telemetrii usługi aplikacja systemu Azure Insights do kontenera. Usługa Application Insights zapewnia szczegółowe monitorowanie kontenera. Kontener można łatwo monitorować pod kątem dostępności, wydajności i użycia. Możesz również szybko identyfikować i diagnozować błędy w kontenerze.

W poniższej tabeli opisano ustawienia konfiguracji obsługiwane w ApplicationInsights sekcji .

Wymagania Nazwisko Typ danych opis
Nie. InstrumentationKey String Klucz instrumentacji wystąpienia usługi Application Insights, do którego są wysyłane dane telemetryczne dla kontenera. Aby uzyskać więcej informacji, zobacz Application Insights for ASP.NET Core.

Przykład:
InstrumentationKey=123456789

Ustawienia fluentd

Fluentd to moduł zbierający dane typu open source do ujednoliconego rejestrowania. Ustawienia Fluentd zarządzają połączeniem kontenera z serwerem Fluentd . Kontener zawiera dostawcę rejestrowania Fluentd, który umożliwia kontenerowi zapisywanie dzienników i opcjonalnie danych metryk na serwerze Fluentd.

W poniższej tabeli opisano ustawienia konfiguracji obsługiwane w Fluentd sekcji .

Nazwisko Typ danych opis
Host String Adres IP lub nazwa hosta DNS serwera Fluentd.
Port Integer Port serwera Fluentd.
Wartość domyślna to 24224.
HeartbeatMs Integer Interwał pulsu w milisekundach. Jeśli żaden ruch zdarzeń nie został wysłany przed wygaśnięciem tego interwału, puls jest wysyłany do serwera Fluentd. Wartość domyślna to 60000 milisekund (1 minuta).
SendBufferSize Integer Miejsce buforu sieci w bajtach przydzielone do operacji wysyłania. Wartość domyślna to 32768 bajtów (32 kilobajty).
TlsConnectionEstablishmentTimeoutMs Integer Limit czasu ( w milisekundach) w celu nawiązania połączenia SSL/TLS z serwerem Fluentd. Wartość domyślna to 10000 milisekund (10 sekund).
Jeśli UseTLS ustawiono wartość false, ta wartość jest ignorowana.
UseTLS Wartość logiczna Wskazuje, czy kontener powinien używać protokołu SSL/TLS do komunikacji z serwerem Fluentd. Wartość domyślna to false.

Ustawienia poświadczeń serwera proxy HTTP

Jeśli musisz skonfigurować serwer proxy HTTP do tworzenia żądań wychodzących, użyj następujących dwóch argumentów:

Nazwisko Typ danych opis
HTTP_PROXY string Serwer proxy do użycia, na przykład http://proxy:8888
<proxy-url>
HTTP_PROXY_CREDS string Wszelkie poświadczenia wymagane do uwierzytelnienia na serwerze proxy, na przykład username:password. Ta wartość musi być w małych literach.
<proxy-user> string Użytkownik serwera proxy.
<proxy-password> string Hasło skojarzone z <proxy-user> serwerem proxy.
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
HTTP_PROXY=<proxy-url> \
HTTP_PROXY_CREDS=<proxy-user>:<proxy-password> \

Ustawienia rejestrowania

Ustawienia Logging zarządzają obsługą rejestrowania ASP.NET Core dla kontenera. Możesz użyć tych samych ustawień konfiguracji i wartości dla kontenera, który jest używany dla aplikacji ASP.NET Core.

Następujący dostawcy rejestrowania są obsługiwani przez kontener:

Dostawca Purpose
Konsola Dostawca rejestrowania ASP.NET Core Console . Obsługiwane są wszystkie ustawienia konfiguracji ASP.NET Core i wartości domyślne dla tego dostawcy rejestrowania.
Debug Dostawca rejestrowania ASP.NET Core Debug . Obsługiwane są wszystkie ustawienia konfiguracji ASP.NET Core i wartości domyślne dla tego dostawcy rejestrowania.
Disk Dostawca rejestrowania JSON. Ten dostawca rejestrowania zapisuje dane dziennika w instalacji wyjściowej.

To polecenie kontenera przechowuje informacje rejestrowania w formacie JSON do instalacji wyjściowej:

docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Disk:Format=json \
Mounts:Output=/output

To polecenie kontenera wyświetla informacje debugowania z prefiksem dbug, gdy kontener jest uruchomiony:

docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Console:LogLevel:Default=Debug

Rejestrowanie dysku

Dostawca rejestrowania Disk obsługuje następujące ustawienia konfiguracji:

Nazwisko Typ danych opis
Format String Format danych wyjściowych dla plików dziennika.
Uwaga: ta wartość musi być ustawiona na wartość , aby json włączyć dostawcę rejestrowania. Jeśli ta wartość jest określona bez określania również instalacji wyjściowej podczas tworzenia wystąpienia kontenera, wystąpi błąd.
MaxFileSize Integer Maksymalny rozmiar w megabajtach (MB) pliku dziennika. Gdy rozmiar bieżącego pliku dziennika spełnia lub przekracza tę wartość, nowy plik dziennika jest uruchamiany przez dostawcę rejestrowania. Jeśli określono -1, rozmiar pliku dziennika jest ograniczony tylko przez maksymalny rozmiar pliku, jeśli istnieje, dla instalacji wyjściowej. Domyślna wartość wynosi 1.

Aby uzyskać więcej informacji na temat konfigurowania obsługi rejestrowania ASP.NET Core, zobacz Konfiguracja pliku ustawień.

Ustawienia woluminu

Używanie woluminów do odczytywania i zapisywania danych w kontenerze i z niego. Woluminy są preferowane do utrwalania danych generowanych i używanych przez kontenery platformy Docker. Możesz określić instalację wejściową lub instalację wyjściową, włączając volumes opcję i określając type (powiązać), source (ścieżkę do folderu) i target (parametr ścieżki pliku).

Kontener analizy dokumentów wymaga woluminu wejściowego i woluminu wyjściowego. Wolumin wejściowy może być tylko do odczytu (ro) i jest wymagany do uzyskania dostępu do danych używanych do trenowania i oceniania. Wolumin wyjściowy musi być zapisywalny i służy do przechowywania modeli i danych tymczasowych.

Dokładna składnia lokalizacji woluminu hosta różni się w zależności od systemu operacyjnego hosta. Ponadto lokalizacja woluminu komputera hosta może być niedostępna z powodu konfliktu między uprawnieniami konta usługi Platformy Docker a uprawnieniami lokalizacji instalacji hosta.

Przykładowy plik docker-compose.yml

Metoda docker compose jest tworzona na podstawie trzech kroków:

  1. Utwórz plik Dockerfile.
  2. Zdefiniuj usługi w docker-compose.yml , aby mogły być uruchamiane razem w izolowanym środowisku.
  3. Uruchom polecenie docker-compose up , aby uruchomić i uruchomić usługi.

Przykład pojedynczego kontenera

W tym przykładzie wprowadź wartości {FORM_RECOGNIZER_ENDPOINT_URI} i {FORM_RECOGNIZER_KEY} dla wystąpienia kontenera układu.

Kontener układu

version: "3.9"
services:
  azure-cognitive-service-layout:
    container_name: azure-cognitive-service-layout
    image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout
    environment:
      - EULA=accept
      - billing={FORM_RECOGNIZER_ENDPOINT_URI}
      - key={FORM_RECOGNIZER_KEY}

    ports:
      - "5000"
    networks:
      - ocrvnet
networks:
  ocrvnet:
    driver: bridge

Przykład wielu kontenerów

Kontenery paragonów i odczytu OCR

W tym przykładzie wprowadź wartości {FORM_RECOGNIZER_ENDPOINT_URI} i {FORM_RECOGNIZER_KEY} dla kontenera paragonów oraz wartości {COMPUTER_VISION_ENDPOINT_URI} i {COMPUTER_VISION_KEY} dla kontenera odczytu usługi Azure AI Vision.

version: "3"
services:
  azure-cognitive-service-receipt:
    container_name: azure-cognitive-service-receipt
    image: cognitiveservicespreview.azurecr.io/microsoft/cognitive-services-form-recognizer-receipt:2.1
    environment:
      - EULA=accept
      - billing={FORM_RECOGNIZER_ENDPOINT_URI}
      - key={FORM_RECOGNIZER_KEY}
      - AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
    ports:
      - "5000:5050"
    networks:
      - ocrvnet
  azure-cognitive-service-read:
    container_name: azure-cognitive-service-read
    image: mcr.microsoft.com/azure-cognitive-services/vision/read:3.2
    environment:
      - EULA=accept
      - billing={COMPUTER_VISION_ENDPOINT_URI}
      - key={COMPUTER_VISION_KEY}
    networks:
      - ocrvnet

networks:
  ocrvnet:
    driver: bridge

Następne kroki