Document Intelligence-containers configureren
Ondersteuning voor containers is momenteel beschikbaar met documentinformatieversie 2022-08-31 (GA)
voor alle modellen en 2023-07-31 (GA)
voor documentmodellen lezen, indeling, factuur, ontvangstbewijs en id-document:
- REST API
2022-08-31 (GA)
- REST API
2023-07-31 (GA)
- Clientbibliotheken gericht
REST API 2022-08-31 (GA)
- Clientbibliotheken gericht
REST API 2023-07-31 (GA)
✔️ Zie Document Intelligence v3.0-containers configureren voor ondersteunde containerdocumentatie.
Deze inhoud is van toepassing op: v3.0 (GA) v3.1 (GA)
Met Document Intelligence-containers kunt u een toepassingsarchitectuur bouwen die is geoptimaliseerd om te profiteren van zowel robuuste cloudmogelijkheden als randlocatie. Containers bieden een minimalistische, geïsoleerde omgeving die eenvoudig on-premises en in de cloud kan worden geïmplementeerd. In dit artikel laten we u zien hoe u de runtimeomgeving van de Document Intelligence-container configureert met behulp van de docker compose
opdrachtargumenten. Document Intelligence-functies worden ondersteund door zeven Document Intelligence-functiecontainers: lezen, indeling, visitekaartje, id-document, ontvangstbewijs, factuur, aangepast. Deze containers hebben zowel vereiste als optionele instellingen. Zie de sectie Voorbeeld docker-compose.yml bestand voor enkele voorbeelden.
Configuratie-instellingen
Elke container heeft de volgende configuratie-instellingen:
Vereist | Instelling | Purpose |
---|---|---|
Ja | Code | Houdt factureringsgegevens bij. |
Ja | Facturering | Hiermee geeft u de eindpunt-URI van de serviceresource in Azure op. Zie Facturering voor meer informatie. Zie Aangepaste subdomeinnamen voor Azure AI-services voor meer informatie en een volledige lijst met regionale eindpunten. |
Ja | Overeenkomst | Geeft aan dat u de licentie voor de container hebt geaccepteerd. |
Nee | ApplicationInsights | Hiermee kunt u Azure-toepassing Insights-klantondersteuning toevoegen voor uw container. |
Nee | Fluentd | Hiermee schrijft u logboekgegevens en eventueel metrische gegevens naar een Fluentd-server. |
Nee | HTTP-proxy | Hiermee configureert u een HTTP-proxy voor het maken van uitgaande aanvragen. |
Nee | Logboekregistratie | Biedt ondersteuning voor ASP.NET Core-logboekregistratie voor uw container. |
Belangrijk
De Key
, Billing
en Eula
instellingen worden samen gebruikt. U moet geldige waarden opgeven voor alle drie de instellingen; anders worden uw containers niet gestart. Zie Facturering voor meer informatie over het gebruik van deze configuratie-instellingen om een container te instantiëren.
Configuratie-instelling voor sleutel en facturering
De Key
instelling geeft de Azure-resourcesleutel op die wordt gebruikt om factureringsgegevens voor de container bij te houden. De waarde voor de sleutel moet een geldige sleutel zijn voor de resource die is opgegeven Billing
in de sectie Factureringsconfiguratie-instelling.
De Billing
instelling geeft de eindpunt-URI op van de resource in Azure die wordt gebruikt om factureringsgegevens voor de container te meten. De waarde voor deze configuratie-instelling moet een geldige eindpunt-URI zijn voor een resource in Azure. De container rapporteert ongeveer om de 10 tot 15 minuten het gebruik.
U vindt deze instellingen in Azure Portal op de pagina Sleutels en eindpunt .
EULA
montuur
De Eula
instelling geeft aan dat u de licentie voor de container hebt geaccepteerd. U moet een waarde opgeven voor deze configuratie-instelling en de waarde moet worden ingesteld op accept
.
Vereist | Naam | Gegevenstype | Beschrijving |
---|---|---|---|
Ja | Eula |
String | Licentie-acceptatie Voorbeeld: Eula=accept |
Azure AI-servicescontainers worden in licentie gegeven onder uw overeenkomst voor uw gebruik van Azure. Als u geen bestaande overeenkomst hebt voor uw gebruik van Azure, gaat u ermee akkoord dat uw overeenkomst voor het gebruik van Azure de Microsoft Online-abonnementsovereenkomst is, die de voorwaarden voor onlineservices bevat. Voor previews gaat u ook akkoord met de aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews. Door de container te gebruiken, gaat u akkoord met deze voorwaarden.
ApplicationInsights-instelling
Met de ApplicationInsights
instelling kunt u Azure-toepassing insights-telemetrieondersteuning toevoegen aan uw container. Application Insights biedt uitgebreide bewaking van uw container. U kunt uw container eenvoudig controleren op beschikbaarheid, prestaties en gebruik. U kunt ook snel fouten in uw container identificeren en diagnosticeren.
In de volgende tabel worden de configuratie-instellingen beschreven die worden ondersteund in de ApplicationInsights
sectie.
Vereist | Naam | Gegevenstype | Beschrijving |
---|---|---|---|
Nee | InstrumentationKey |
String | De instrumentatiesleutel van het Application Insights-exemplaar waarnaar telemetriegegevens voor de container worden verzonden. Zie Application Insights voor ASP.NET Core voor meer informatie. Voorbeeld: InstrumentationKey=123456789 |
Fluentd-instellingen
Fluentd is een opensource-gegevensverzamelaar voor geïntegreerde logboekregistratie. De Fluentd
instellingen beheren de verbinding van de container met een Fluentd-server . De container bevat een Fluentd-logboekregistratieprovider, waarmee uw container logboeken kan schrijven en, optioneel, metrische gegevens naar een Fluentd-server.
In de volgende tabel worden de configuratie-instellingen beschreven die worden ondersteund in de Fluentd
sectie.
Naam | Gegevenstype | Beschrijving |
---|---|---|
Host |
String | Het IP-adres of de DNS-hostnaam van de Fluentd-server. |
Port |
Geheel getal | De poort van de Fluentd-server. De standaardwaarde is 24224. |
HeartbeatMs |
Geheel getal | Het heartbeatinterval, in milliseconden. Als er geen gebeurtenisverkeer is verzonden voordat dit interval verloopt, wordt een heartbeat verzonden naar de Fluentd-server. De standaardwaarde is 60000 milliseconden (1 minuut). |
SendBufferSize |
Geheel getal | De netwerkbufferruimte, in bytes, die is toegewezen voor verzendbewerkingen. De standaardwaarde is 32768 bytes (32 kilobytes). |
TlsConnectionEstablishmentTimeoutMs |
Geheel getal | De time-out, in milliseconden, om een SSL/TLS-verbinding tot stand te brengen met de Fluentd-server. De standaardwaarde is 10000 milliseconden (10 seconden). Als UseTLS deze waarde is ingesteld op false, wordt deze waarde genegeerd. |
UseTLS |
Booleaanse waarde | Geeft aan of de container SSL/TLS moet gebruiken voor communicatie met de Fluentd-server. De standaardwaarde is false. |
Instellingen voor HTTP-proxyreferenties
Als u een HTTP-proxy wilt configureren voor het maken van uitgaande aanvragen, gebruikt u deze twee argumenten:
Naam | Gegevenstype | Beschrijving |
---|---|---|
HTTP_PROXY | tekenreeks | De proxy die moet worden gebruikt, bijvoorbeeld http://proxy:8888 <proxy-url> |
HTTP_PROXY_CREDS | tekenreeks | Referenties die nodig zijn voor verificatie bij de proxy, username:password bijvoorbeeld. Deze waarde moet in kleine letters staan. |
<proxy-user> |
tekenreeks | De gebruiker voor de proxy. |
<proxy-password> |
tekenreeks | Het wachtwoord dat is <proxy-user> gekoppeld aan de 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> \
Instellingen voor logboekregistratie
De Logging
instellingen beheren ASP.NET Core-logboekregistratieondersteuning voor uw container. U kunt dezelfde configuratie-instellingen en -waarden gebruiken voor uw container die u gebruikt voor een ASP.NET Core-toepassing.
De volgende providers voor logboekregistratie worden ondersteund door de container:
Provider | Doel |
---|---|
Console | De ASP.NET Core-logboekregistratieprovider Console . Alle ASP.NET Core-configuratie-instellingen en standaardwaarden voor deze logboekregistratieprovider worden ondersteund. |
Fouten opsporen | De ASP.NET Core-logboekregistratieprovider Debug . Alle ASP.NET Core-configuratie-instellingen en standaardwaarden voor deze logboekregistratieprovider worden ondersteund. |
schijf | De JSON-logboekregistratieprovider. Deze logboekprovider schrijft logboekgegevens naar de uitvoerkoppeling. |
Met deze containeropdracht worden logboekgegevens opgeslagen in de JSON-indeling naar de uitvoerkoppeling:
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
Deze containeropdracht bevat informatie over foutopsporing, voorafgegaan door dbug
, terwijl de container wordt uitgevoerd:
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
Schijflogboekregistratie
De Disk
logboekregistratieprovider ondersteunt de volgende configuratie-instellingen:
Naam | Gegevenstype | Beschrijving |
---|---|---|
Format |
String | De uitvoerindeling voor logboekbestanden. Opmerking: deze waarde moet worden ingesteld om json de logboekregistratieprovider in te schakelen. Als deze waarde is opgegeven zonder ook een uitvoerkoppeling op te geven tijdens het instantiëren van een container, treedt er een fout op. |
MaxFileSize |
Geheel getal | De maximale grootte, in megabytes (MB), van een logboekbestand. Wanneer de grootte van het huidige logboekbestand aan deze waarde voldoet of overschrijdt, wordt er een nieuw logboekbestand gestart door de logboekregistratieprovider. Als -1 is opgegeven, wordt de grootte van het logboekbestand alleen beperkt door de maximale bestandsgrootte, indien aanwezig, voor de uitvoerkoppeling. De standaardwaarde is 1. |
Zie Configuratie van instellingenbestand voor meer informatie over het configureren van ASP.NET Core-logboekregistratieondersteuning.
Volume-instellingen
Gebruik volumes om gegevens naar en van de container te lezen en te schrijven. Volumes hebben de voorkeur voor het behouden van gegevens die worden gegenereerd en gebruikt door Docker-containers. U kunt een invoerkoppeling of een uitvoerkoppeling opgeven door de volumes
optie op te geven en type
(binden), source
(pad naar de map) en target
(parameter voor bestandspad) op te geven.
De Document Intelligence-container vereist een invoervolume en een uitvoervolume. Het invoervolume kan alleen-lezen zijn (ro
) en is vereist voor toegang tot de gegevens die worden gebruikt voor training en scoren. Het uitvoervolume moet beschrijfbaar zijn en u gebruikt het om de modellen en tijdelijke gegevens op te slaan.
De exacte syntaxis van de locatie van het hostvolume varieert, afhankelijk van het hostbesturingssysteem. Daarnaast is de volumelocatie van de hostcomputer mogelijk niet toegankelijk vanwege een conflict tussen de machtigingen van het Docker-serviceaccount en de machtigingen voor de hostkoppelingslocatie.
Voorbeeld van docker-compose.yml-bestand
De docker compose-methode is opgebouwd uit drie stappen:
- Maak een Dockerfile.
- Definieer de services in een docker-compose.yml zodat ze samen kunnen worden uitgevoerd in een geïsoleerde omgeving.
- Voer
docker-compose up
deze uit om uw services te starten en uit te voeren.
Voorbeeld van één container
Voer in dit voorbeeld {FORM_RECOGNIZER_ENDPOINT_URI} en {FORM_RECOGNIZER_KEY} waarden in voor de containerinstantie indeling.
Indelingscontainer
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
Voorbeeld van meerdere containers
Leescontainers voor ontvangst en OCR
Voer in dit voorbeeld de waarden {FORM_RECOGNIZER_ENDPOINT_URI} en {FORM_RECOGNIZER_KEY} in voor de ontvangstcontainer en {COMPUTER_VISION_ENDPOINT_URI} en {COMPUTER_VISION_KEY} voor uw Azure AI Vision Read-container.
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