Lees-OCR Docker-containers configureren
U kunt de runtime-omgeving van de Azure AI Vision Read OCR-container configureren met behulp van de docker run
opdrachtargumenten. Deze container heeft verschillende vereiste instellingen, samen met enkele optionele instellingen. Er zijn verschillende voorbeelden van de opdracht beschikbaar. De containerspecifieke instellingen zijn de factureringsinstellingen.
Configuratie-instellingen
De container heeft de volgende configuratie-instellingen:
Vereist | Instelling | Purpose |
---|---|---|
Ja | ApiKey | Houdt factureringsgegevens bij. |
Nee | ApplicationInsights | Hiermee kunt u ondersteuning voor Azure-toepassing Insights-telemetrie toevoegen aan uw container. |
Ja | Facturering | Hiermee geeft u de eindpunt-URI van de serviceresource in Azure op. |
Ja | Overeenkomst | Geeft aan dat u de licentie voor de container hebt geaccepteerd. |
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. |
Nee | Mounts | Leest en schrijft gegevens van de hostcomputer naar de container en van de container terug naar de hostcomputer. |
Belangrijk
De ApiKey
, Billing
en Eula
de instellingen worden samen gebruikt en u moet geldige waarden opgeven voor alle drie. Anders wordt de container niet gestart. Zie Facturering voor meer informatie over het gebruik van deze configuratie-instellingen om een container te instantiëren.
De container heeft ook de volgende containerspecifieke configuratie-instellingen:
Vereist | Instelling | Doel |
---|---|---|
Nee | ReadEngineConfig:ResultExpirationPeriod | Alleen v2.0-containers. Verloopperiode van resultaat in uren. De standaardwaarde is 48 uur. De instelling geeft aan wanneer het systeem herkenningsresultaten moet wissen. Als resultExpirationPeriod=1 het systeem bijvoorbeeld het herkenningsresultaat 1 uur na het proces wist. Als resultExpirationPeriod=0 , het systeem wist het herkenningsresultaat nadat het resultaat is opgehaald. |
Nee | Cache:Redis | Alleen v2.0-containers. Hiermee schakelt u Redis-opslag in voor het opslaan van resultaten. Een cache is vereist als meerdere LEES-OCR-containers achter een load balancer worden geplaatst. |
Nee | Wachtrij:RabbitMQ | Alleen v2.0-containers. Hiermee schakelt RabbitMQ in voor verzendingstaken. De instelling is handig wanneer meerdere lees-OCR-containers achter een load balancer worden geplaatst. |
Nee | Queue:Azure:QueueVisibilityTimeoutInMilliseconds | Alleen v3.x-containers. De tijd voordat een bericht onzichtbaar is wanneer een andere werknemer het verwerkt. |
Nee | Storage::D ocumentStore::MongoDB | Alleen v2.0-containers. Hiermee schakelt u MongoDB in voor permanente opslag van resultaten. |
Nee | Opslag:ObjectStore:AzureBlob:ConnectionString | Alleen v3.x-containers. Azure Blob Storage-verbindingsreeks. |
Nee | Opslag: TimeToLiveInDays | Alleen v3.x-containers. Verloopperiode van resultaat in dagen. De instelling geeft aan wanneer het systeem herkenningsresultaten moet wissen. De standaardwaarde is 2 dagen, wat betekent dat een resultaat langer duurt dan die periode niet gegarandeerd kan worden opgehaald. De waarde is een geheel getal en moet tussen 1 dag en 7 dagen zijn. |
Nee | StorageTimeToLiveInMinutes | v3.2-model-2021-09-30-preview en nieuwe containers. Verloopperiode van resultaat in minuten. De instelling geeft aan wanneer het systeem herkenningsresultaten moet wissen. De standaardwaarde is 2 dagen (2880 minuten), wat betekent dat een resultaat langer duurt dan die periode niet gegarandeerd kan worden opgehaald. De waarde is een geheel getal en moet tussen 60 minuten en 7 dagen (10080 minuten) zijn. |
Nee | Taak:MaxRunningTimeSpanInMinutes | Alleen v3.x-containers. Maximale uitvoeringstijd voor één aanvraag. De standaardwaarde is 60 minuten. |
Nee | EnableSyncNTPServer | Alleen v3.x-containers, met uitzondering van v3.2-model-2021-09-30-preview en nieuwere containers. Hiermee schakelt u het NTP-serversynchronisatiemechanisme in, dat zorgt voor synchronisatie tussen de systeemtijd en de verwachte taakruntime. Houd er rekening mee dat hiervoor extern netwerkverkeer is vereist. De standaardwaarde is true . |
Nee | NTPServerAddress | Alleen v3.x-containers, met uitzondering van v3.2-model-2021-09-30-preview en nieuwere containers. NTP-server voor de tijdsynchronisatie. De standaardwaarde is time.windows.com . |
Nee | Koppelingen:Gedeeld | Alleen v3.x-containers. Lokale map voor het opslaan van het herkenningsresultaat. De standaardwaarde is /share . Voor het uitvoeren van een container zonder Azure Blob Storage raden we u aan om een volume aan deze map te koppelen om ervoor te zorgen dat u voldoende ruimte hebt voor de herkenningsresultaten. |
ApiKey-configuratie-instelling
De ApiKey
instelling geeft de Vision-resourcesleutel op die wordt gebruikt om factureringsgegevens voor de container bij te houden. U moet een waarde opgeven voor de ApiKey en de waarde moet een geldige sleutel zijn voor de Vision-resource die is opgegeven voor de Billing
configuratie-instelling.
Deze instelling vindt u op de volgende plaats:
- Azure Portal: Resourcebeheer van Azure AI-services onder Sleutels
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 |
Configuratie-instelling voor facturering
De Billing
instelling geeft de eindpunt-URI op van de Azure AI-servicesresource in Azure die wordt gebruikt om factureringsgegevens voor de container te meten. U moet een waarde opgeven voor deze configuratie-instelling en de waarde moet een geldige eindpunt-URI zijn voor een Azure AI-servicesresource in Azure. De container rapporteert ongeveer om de 10 tot 15 minuten het gebruik.
Deze instelling vindt u op de volgende plaats:
- Azure Portal: Overzicht van Azure AI-services , gelabeld
Endpoint
Vergeet niet om de vision/<version>
routering toe te voegen aan de eindpunt-URI, zoals wordt weergegeven in de volgende tabel.
Vereist | Naam | Gegevenstype | Beschrijving |
---|---|---|---|
Ja | Billing |
String | URI voor factureringseindpunt Voorbeeld: Billing=https://westcentralus.api.cognitive.microsoft.com/vision/v3.2 |
Eula-instelling
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.
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.
Instellingen koppelen
Gebruik bindingskoppelingen om gegevens naar en van de container te lezen en te schrijven. U kunt een invoerkoppeling of uitvoerkoppeling opgeven door de --mount
optie op te geven in de opdracht docker-run .
De Azure AI Vision-containers gebruiken geen invoer- of uitvoerkoppelingen om trainingsgegevens of servicegegevens op te slaan.
De exacte syntaxis van de locatie van de hostkoppeling varieert afhankelijk van het hostbesturingssysteem. Bovendien is de koppelingslocatie van de hostcomputer mogelijk niet toegankelijk vanwege een conflict tussen machtigingen die worden gebruikt door het Docker-serviceaccount en de machtigingen voor de hostkoppelingslocatie.
Optioneel | Naam | Gegevenstype | Beschrijving |
---|---|---|---|
Niet toegestaan | Input |
String | Azure AI Vision-containers gebruiken dit niet. |
Optioneel | Output |
String | Het doel van de uitvoerkoppeling. De standaardwaarde is /output . Dit is de locatie van de logboeken. Dit omvat containerlogboeken. Voorbeeld: --mount type=bind,src=c:\output,target=/output |
Voorbeeld van docker-uitvoeropdrachten
In de volgende voorbeelden worden de configuratie-instellingen gebruikt om te laten zien hoe u opdrachten schrijft en gebruikt docker run
. Zodra de container wordt uitgevoerd, blijft de container actief totdat u deze stopt .
- Regelvervolgteken: De Docker-opdrachten in de volgende secties gebruiken de back-slash,
\
als een regelvervolgteken. Vervang of verwijder deze op basis van de vereisten van uw hostbesturingssysteem. - Argumentvolgorde: wijzig de volgorde van de argumenten niet, tenzij u bekend bent met Docker-containers.
Vervang {argument_name} door uw eigen waarden:
Tijdelijke aanduiding | Weergegeven als | Opmaak of voorbeeld |
---|---|---|
{API_KEY} | De eindpuntsleutel van de Vision-resource op de pagina resourcesleutels. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{ENDPOINT_URI} | De waarde van het factureringseindpunt is beschikbaar op de overzichtspagina van de resource. | Zie vereiste parameters verzamelen voor expliciete voorbeelden. |
Notitie
Nieuwe resources die zijn gemaakt na 1 juli 2019, hebben aangepaste subdomeinnamen. Zie Aangepaste subdomeinnamen voor Azure AI-services voor meer informatie en een volledige lijst met regionale eindpunten.
Belangrijk
De Eula
, Billing
en ApiKey
opties moeten worden opgegeven om de container uit te voeren. Anders wordt de container niet gestart. Zie Facturering voor meer informatie.
De ApiKey-waarde is de sleutel op de pagina Vision-resourcesleutels.
Voorbeelden van Container Docker
De volgende Docker-voorbeelden zijn voor de Read OCR-container.
Basisvoorbeeld
docker run --rm -it -p 5000:5000 --memory 16g --cpus 8 \
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30 \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Voorbeeld van logboekregistratie
docker run --rm -it -p 5000:5000 --memory 16g --cpus 8 \
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30 \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Logging:Console:LogLevel:Default=Information
Volgende stappen
- Lees hoe u containers installeert en uitvoert.