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:
- 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ć obsługiwaną dokumentację kontenerów, zobacz Konfigurowanie kontenerów analizy dokumentów w wersji 3.0.
Ta zawartość dotyczy: wersja 3.0 (ogólna dostępność) 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
, Billing
i 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 .
EULA
ustawienie
Ustawienie Eula
wskazuje, że zaakceptowano licencję dla kontenera. Musisz określić wartość dla tego ustawienia konfiguracji, a wartość musi być ustawiona na accept
wartość .
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:
- Utwórz plik Dockerfile.
- Zdefiniuj usługi w docker-compose.yml , aby mogły być uruchamiane razem w izolowanym środowisku.
- 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