Share via


Containrar i frånkopplade miljöer (offline)

Stöd för containrar är för närvarande tillgängligt med document intelligence-versionen 2022-08-31 (GA) för alla modeller och 2023-07-31 (GA) endast för skrivskyddad och layout:

✔️ Se Dokumentinformation v3.0-containrar i frånkopplade miljöer för dokumentation om containrar som stöds.

Det här innehållet gäller för:checkmarkv3.0 (GA)checkmarkv3.1 (GA)

Vad är frånkopplade containrar?

Azure AI-containrar ger dig flexibiliteten att köra vissa Dokumentinformationstjänster lokalt i containrar. Anslut containrar körs lokalt i din miljö och skickar användningsinformation till molnet för fakturering. Frånkopplade containrar är avsedda för scenarier där det inte behövs någon anslutning till molnet för att containrarna ska kunna köras.

Med Azure AI Document Intelligence-containrar kan du använda API:er för dokumentinformation med fördelarna med containerisering. Frånkopplade containrar erbjuds via priser på åtagandenivå som erbjuds till ett rabatterat pris jämfört med betala per användning-priser. Med priser på åtagandenivå kan du åta dig att använda document intelligence-funktioner mot en fast avgift, till en förutsägbar total kostnad, baserat på arbetsbelastningens behov.

Kom igång

Innan du försöker köra en Docker-container i en offlinemiljö kontrollerar du att du är bekant med följande krav för att ladda ned och använda containern:

  • Värddatorkrav och rekommendationer.
  • Docker-kommandot pull för att ladda ned containern.
  • Så här verifierar du att en container körs.
  • Så här skickar du frågor till containerns slutpunkt när den körs.

Begär åtkomst för att använda containrar i frånkopplade miljöer

Innan du kan använda dokumentinformationscontainrar i frånkopplade miljöer måste du först fylla i och skicka ett formulär för begäran och köpa en åtagandeplan.

Skapa en ny resurs i Azure-portalen

Börja med att etablera en ny resurs i portalen.

  • Se till att du väljer Commitment tier disconnected containers DC0 alternativet för prisnivå

  • Välj lämplig prisnivå från minst en av de anpassade, lästa eller fördefinierade åtagandenivåerna

    Screenshot of disconnected tier configuration in the Azure portal.

Behållare Lägsta Rekommenderas Åtagandeplan
Read 8 kärnor, 10 GB minne 8 kärnor, 24 GB minne OCR (läs)
Layout 8 kärnor, 16 GB minne 8 kärnor, 24 GB minne Inbyggda
Business Card 8 kärnor, 16 GB minne 8 kärnor, 24 GB minne Inbyggda
General Document 8 kärnor, 12 GB minne 8 kärnor, 24 GB minne Inbyggda
ID Document 8 kärnor, 8 GB minne 8 kärnor, 24 GB minne Inbyggda
Invoice 8 kärnor, 16 GB minne 8 kärnor, 24 GB minne Inbyggda
Receipt 8 kärnor, 11 GB minne 8 kärnor, 24 GB minne Inbyggda
Custom Template 8 kärnor, 16 GB minne 8 kärnor, 24 GB minne Anpassat API

Samla in obligatoriska parametrar

Det finns tre obligatoriska parametrar för alla Azure AI-tjänsters containrar:

  • Licensavtalet för slutanvändare (EULA) måste finnas med värdet accept.
  • Slutpunkts-URL:en för din resurs från Azure-portalen.
  • API-nyckeln för din resurs från Azure-portalen.

Både slutpunkts-URL:en och API-nyckeln behövs när du först kör containern för att konfigurera den för frånkopplad användning. Du hittar nyckeln och slutpunkten på sidan Nyckel och slutpunkt för din resurs i Azure-portalen:

Screenshot of Azure portal keys and endpoint page.

Viktigt!

Du använder bara din nyckel och slutpunkt för att konfigurera containern så att den körs i en frånkopplad miljö. När du har konfigurerat containern behöver du inte nyckel- och slutpunktsvärdena för att skicka API-begäranden. Lagra dem på ett säkert sätt, till exempel med hjälp av Azure Key Vault. Endast en nyckel krävs för den här processen.

Ladda ned en Docker-container med docker pull

Ladda ned Docker-containern som är godkänd för att köras i en frånkopplad miljö. Till exempel:

Docker pull-kommando Värde Format
● ● ● docker pull [image]

docker pull [image]latest
Den senaste containeravbildningen. ● ● ● mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.0:latest

mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice-3.0:latest

Exempel på Docker-pull-kommando

docker pull mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice:latest

Konfigurera att containern ska köras i en frånkopplad miljö

Frånkopplade containeravbildningar är samma som anslutna containrar. Den viktigaste skillnaden är att de frånkopplade containrarna kräver en licensfil. Den här licensfilen laddas ned genom att containern startas i ett anslutet läge med parametern downloadLicense inställd på true.

Nu när containern har laddats ned måste du köra docker run kommandot med följande parameter:

  • DownloadLicense=True. Den här parametern laddar ned en licensfil som gör att Docker-containern kan köras när den inte är ansluten till Internet. Den innehåller också ett förfallodatum, varefter licensfilen är ogiltig för att köra containern. Du kan bara använda licensfilen i motsvarande godkända container.

Viktigt!

Kommandot docker run genererar en mall som du kan använda för att köra containern. Mallen innehåller parametrar som du behöver för de nedladdade modellerna och konfigurationsfilen. Se till att du sparar mallen.

I följande exempel visas formateringen för kommandot som docker run ska användas med platshållarvärden. Ersätt dessa platshållarvärden med dina egna värden.

Platshållare Värde Format eller exempel
{IMAGE} Den containeravbildning som du vill använda. mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{LICENSE_MOUNT} Sökvägen där licensen laddas ned och monteras. /host/license:/path/to/license/directory
{ENDPOINT_URI} Slutpunkten för att autentisera din tjänstbegäran. Du hittar den på resursens nyckel- och slutpunktssida i Azure-portalen. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API_KEY} Nyckeln för dokumentinformationsresursen. Du hittar den på resursens nyckel- och slutpunktssida i Azure-portalen. {string}
{CONTAINER_LICENSE_DIRECTORY} Plats för licensmappen i containerns lokala filsystem. /path/to/license/directory

Exempelkommando docker run


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}

I följande kommando ersätter du platshållarna för mappsökvägen, faktureringsslutpunkten och API-nyckeln för att ladda ned en licensfil för layoutcontainern.

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

När containern har konfigurerats använder du nästa avsnitt för att köra containern i din miljö med licensen och lämpliga minnes- och CPU-allokeringar.

Containermodeller och konfiguration för Dokumentinformation

När du har konfigurerat containern genereras värdena för de nedladdade dokumentinformationsmodellerna och containerkonfigurationen och visas i containerutdata.

Kör containern i en frånkopplad miljö

När du har laddat ned licensfilen kan du köra containern i en frånkopplad miljö med din licens, lämpligt minne och lämpliga CPU-allokeringar. I följande exempel visas formatering av docker run kommandot med platshållarvärden. Ersätt dessa platshållarvärden med dina egna värden.

När containern körs måste licensfilen monteras på containern och platsen för licensmappen i containerns lokala filsystem måste anges med Mounts:License=. Dessutom måste en utdatamontering anges så att faktureringsanvändningsposter kan skrivas.

Platshållare Värde Format eller exempel
{IMAGE} Den containeravbildning som du vill använda. mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{MEMORY_SIZE} Lämplig storlek på minne som ska allokeras för containern. 4g
{NUMBER_CPUS} Lämpligt antal processorer som ska allokeras för din container. 4
{LICENSE_MOUNT} Sökvägen där licensen finns och monteras. /host/license:/path/to/license/directory
{OUTPUT_PATH} Utdatasökvägen för loggning av användningsposter. /host/output:/path/to/output/directory
{CONTAINER_LICENSE_DIRECTORY} Plats för licensmappen i containerns lokala filsystem. /path/to/license/directory
{CONTAINER_OUTPUT_DIRECTORY} Plats för utdatamappen i containerns lokala filsystem. /path/to/output/directory

Exempelkommando docker run

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}

Att starta en frånkopplad container liknar att starta en ansluten container. Frånkopplade containrar kräver en tillagd licensparameter. Här är ett exempel docker-compose.yml fil för att starta en anpassad container i frånkopplat läge. Lägg till CUSTOM_LICENSE_MOUNT_PATH miljövariabeln med ett värde inställt på mappen som innehåller den nedladdade licensfilen och OUTPUT_MOUNT_PATH miljövariabeln med ett värde inställt på mappen som innehåller användningsloggarna.

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)

Andra parametrar och kommandon

Här är några fler parametrar och kommandon som du behöver för att köra containern.

Användningsposter

När du använder Docker-containrar i en frånkopplad miljö skriver containern användningsposter till en volym där de samlas in över tid. Du kan också anropa en REST API-slutpunkt för att generera en rapport om tjänstanvändning.

Argument för att lagra loggar

När du kör i en frånkopplad miljö måste en utdatamontering vara tillgänglig för containern för att lagra användningsloggar. Du kan till exempel inkludera -v /host/output:{OUTPUT_PATH} och Mounts:Output={OUTPUT_PATH} i följande exempel ersätta {OUTPUT_PATH} med sökvägen där loggarna lagras:

docker run -v /host/output:{OUTPUT_PATH} ... <image> ... Mounts:Output={OUTPUT_PATH}

Hämta poster med hjälp av containerslutpunkterna

Containern innehåller två slutpunkter för att returnera poster om dess användning.

Hämta alla poster

Följande slutpunkt innehåller en rapport som sammanfattar all användning som samlas in i katalogen för monterade faktureringsposter.

https://<service>/records/usage-logs/

Exempel på HTTPS-slutpunkt

http://localhost:5000/records/usage-logs

Användningsloggens slutpunkt returnerar ett JSON-svar som liknar följande exempel:

{
  "apiType": "string",
  "serviceName": "string",
  "meters": [
    {
      "name": "string",
      "quantity": 256345435
    }
  ]
}

Hämta poster för en viss månad

Följande slutpunkt innehåller en rapport som sammanfattar användningen under en viss månad och ett visst år.

https://<service>/records/usage-logs/{MONTH}/{YEAR}

Den här användningsloggslutpunkten returnerar ett JSON-svar som liknar följande exempel:

{
  "apiType": "string",
  "serviceName": "string",
  "meters": [
    {
      "name": "string",
      "quantity": 56097
    }
  ]
}

Felsökning

Kör containern med en utdatamontering och loggning aktiverad. Med de här inställningarna kan containern generera loggfiler som är användbara för felsökning av problem som uppstår när containern startas eller körs.

Dricks

Mer felsökningsinformation och vägledning finns i Vanliga frågor och svar om frånkopplade containrar.

Nästa steg