Installera och köra Azure AI Translator-container

Viktigt!

  • Om du vill använda Translator-containern måste du skicka en onlinebegäran och få den godkänd. Mer information finns iBegära containeråtkomst.
  • Azure AI Translator-containern har stöd för begränsade funktioner jämfört med molnerbjudandena.

Med containrar kan du vara värd för Azure AI Translator API i din egen infrastruktur. Containeravbildningen innehåller alla bibliotek, verktyg och beroenden som behövs för att köra ett program konsekvent i alla privata, offentliga eller personliga datormiljöer. Om kraven för säkerhets- eller datastyrning inte kan uppfyllas genom att anropa Azure AI Translator API via fjärranslutning är containrar ett bra alternativ.

I den här artikeln lär du dig hur du installerar och kör Translator-containern online med Docker API. Azure AI Translator-containern stöder följande åtgärder:

  • Textöversättning. Översätt den kontextuella innebörden av ord eller fraser från språk som stöds source till språk som stöds target i realtid. Mer information finns iContainer: translate text.

  • 🆕 Texttranskribering. Konvertera text från ett språkskript eller skriva system till ett annat språkskript eller skriva system i realtid. Mer information finns iContainer: translitterera text.

  • 🆕 Dokumentöversättning (förhandsversion). Översätt dokument synkront samtidigt som struktur och format bevaras i realtid. Mer information finns iContainer:translate documents (Container:translate documents).

Förutsättningar

För att komma igång behöver du följande resurser, åtkomstgodkännande och verktyg:

Azure-resurser
  • En aktiv Azure-prenumeration. Om du inte har ett konto kan du skapa ett kostnadsfritt 12-månaderskonto.

  • En godkänd åtkomstbegäran till antingen en Translator-ansluten container eller en Translator-frånkopplad container.

  • En Azure AI Translator-resurs (inte en Azure AI-tjänstresurs med flera tjänster) som skapats under det godkända prenumerations-ID:t. Du behöver API-nyckeln och slutpunkts-URI:n som är associerad med resursen. Båda värdena krävs för att starta containern och finns på resursöversiktssidan i Azure-portalen.

    • För Translator-anslutna containrar väljer du S1 prisnivån.

    • För Translator-frånkopplade containrar väljer du Commitment tier disconnected containers som prisnivå. Du ser bara alternativet att köpa en åtagandenivå om din frånkopplade begäran om containeråtkomst godkänns.

      En skärmbild som visar hur du skapar resurser på Azure-portalen.

Docker-verktyg

Du bör ha en grundläggande förståelse för Docker-begrepp som register, lagringsplatser, containrar och containeravbildningar samt kunskaper om grundläggande dockerterminologi och kommandon. En introduktion till grunderna för Docker och containrar finns i Docker-översikt.

Dricks

Överväg att lägga till Docker Desktop i din databehandlingsmiljö. Docker Desktop är ett grafiskt användargränssnitt (GUI) som gör att du kan skapa, köra och dela containerbaserade program direkt från skrivbordet.

DockerDesktop innehåller Docker Engine, Docker CLI-klienten, Docker Compose och tillhandahåller paket som konfigurerar Docker för önskat operativsystem:

Verktyg beskrivning Villkor
Docker-motor Docker Engine är kärnkomponenten i Docker-containeriseringsplattformen. Den måste vara installerad på en värddator så att du kan skapa, köra och hantera dina containrar. Krävs för alla åtgärder.
Docker Compose Verktyget Docker Compose används för att definiera och köra program med flera containrar. Krävs för stödcontainrar.
Docker CLI Med docker-kommandoradsgränssnittet kan du interagera med Docker Engine och hantera Docker-containrar direkt från den lokala datorn. Rekommenderat
Krav för värddator

Värden är en x64-baserad dator som kör Docker-containern. Det kan vara en dator lokalt eller någon av dessa Docker-värdtjänster i Azure:

Operativsystem Systemkrav
Windows • Windows 10 eller Windows 11 installerat
• 64-bitars processor
• Minst 4 GB RAM-minne
• Funktioner för Windows Hyper-V och Container samt maskinvaruvirtualisering på BIOS-nivå
• Mer information finns iInstallera Docker Desktop i Windows
Mac • Datormodell 2010 eller senare
• OS 10.13 eller senare
• Minst 4 GB RAM-minne
• Mer information finns iInstallera Docker Desktop på Mac
Linux • 64-bitars version av Ubuntu (senaste LTS-version (långsiktig support) eller aktuell icke-LTS-version), Debian 12, Fedora 38 eller Fedora 39
• CPU-stöd för virtualisering
• Minst 4 GB RAM-minne
• Mer information finns iInstallera Docker Desktop på Linux

Kommentar

De lägsta och rekommenderade specifikationerna baseras på Docker-gränser, inte värddatorresurser.

I följande tabell beskrivs de lägsta och rekommenderade specifikationerna och tillåtna transaktioner per sekund (TPS) för varje container.

Funktion Minsta rekommenderade Kommentar
Textöversättning 4 kärnor, 4 GB minne
Texttranskribering 4 kärnor, 2 GB minne
Dokumentöversättning 4 kärnor, 6 GB minne Antalet dokument som kan bearbetas samtidigt kan beräknas med följande formel: [minimum av (n-2), (m-6)/4)].
n är antalet CPU-kärnor.
m är GB minne.
Exempel: 8 Kärnor, 32 GB minne kan bearbeta sex (6) samtidiga dokument [minst (8-2), (36-6)/4)].
  • Varje kärna måste vara minst 2,6 gigahertz (GHz) eller snabbare.

  • För varje språkpar rekommenderas 2 GB minne.

  • Utöver baslinjekraven 4 GB minne för varje samtidig dokumentbearbetning.

    Dricks

    Du kan använda kommandot docker images för att visa en lista över dina nedladdade containeravbildningar. Följande kommando visar till exempel ID, lagringsplats och tagg för varje nedladdad containeravbildning, formaterad som en tabell:

    docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
    
    IMAGE ID         REPOSITORY                TAG
    <image-id>       <repository-path/name>    <tag-name>
    

Nödvändiga indata

Alla Azure AI-containrar kräver följande indatavärden:

  • Acceptera inställning för EULA. Du måste ha ett licensavtal för slutanvändare (EULA) som har värdet Eula=accept.

  • API-nyckel och slutpunkts-URL. API-nyckeln används för att starta containern. Du kan hämta API-nyckeln och slutpunkts-URL-värdena genom att gå till azure AI Translator-resursens nycklar och slutpunktssida och välja Copy to clipboard ikonen.

  • Om du översätter dokument måste du använda slutpunkten för dokumentöversättning.

Viktigt!

  • Nycklar används för att komma åt din Azure AI-resurs. Dela inte dina nycklar. Lagra dem på ett säkert sätt, till exempel med hjälp av Azure Key Vault.

  • Vi rekommenderar också att du återskapar nycklarna regelbundet. Endast en nyckel krävs för att göra ett API-anrop. När du återskapar den första nyckeln kan du använda den andra nyckeln för fortsatt åtkomst till tjänsten.

Fakturering

  • Frågor till containern faktureras på prisnivån för den Azure-resurs som används för API Key:et .

  • Du debiteras för varje containerinstans som används för att bearbeta dokument och avbildningar.

  • Kommandot docker run laddar ned en avbildning från Microsofts artefaktregister och startar containern när alla tre av följande alternativ har giltiga värden:

Alternativ Description
ApiKey Nyckeln för azure AI-tjänstresursen som används för att spåra faktureringsinformation.
Värdet för det här alternativet måste anges till en nyckel för den etablerade resursen som anges i Billing.
Billing Slutpunkten för azure AI-tjänstresursen som används för att spåra faktureringsinformation.
Värdet för det här alternativet måste anges till slutpunkts-URI:n för en etablerad Azure-resurs.
Eula Anger att du har godkänt licensen för containern.
Värdet för det här alternativet måste vara inställt på att acceptera.

Anslut till Azure

  • Med argumentvärdena för containerfakturering kan containern ansluta till faktureringsslutpunkten och köras.

  • Containern rapporterar användning var 10:e till 15:e minut. Om containern inte ansluter till Azure inom den tillåtna tidsperioden fortsätter containern att köras, men hanterar inte frågor förrän faktureringsslutpunkten har återställts.

  • En anslutning görs 10 gånger med samma tidsintervall på 10 till 15 minuter. Om den inte kan ansluta till faktureringsslutpunkten inom de 10 försöken slutar containern att hantera begäranden. Se vanliga frågor och svar om Azure AI-container för ett exempel på den information som skickas till Microsoft för fakturering.

Containeravbildningar och taggar

Containeravbildningarna för Azure AI-tjänster finns i Microsofts artefaktregister-katalogen. Azure AI Translator-containern finns på lagringsplatsen azure-cognitive-services/translator och heter text-translation. Det fullständigt kvalificerade containeravbildningsnamnet är mcr.microsoft.com/azure-cognitive-services/translator/text-translation:latest.

Använd den senaste taggen om du vill använda den senaste versionen av containern. Du kan visa den fullständiga listan över versionstaggar för Textöversättning för Azure AI-tjänster på MCR.

Använda containrar

Välj en flik för att välja din Azure AI Translator-containermiljö:

Med Azure AI Translator-containrar kan du köra Azure AI Translator-tjänsten on-premise i din egen miljö. Anslut containrar körs lokalt och skickar användningsinformation till molnet för fakturering.

Ladda ned och köra containeravbildning

Kommandot docker run laddar ned en avbildning från Microsofts artefaktregister och startar containern.

Viktigt!

  • Docker-kommandona i följande avsnitt använder snedstrecket, \, som ett radfortsättningstecken. Ersätt eller ta bort detta baserat på värdoperativsystemets krav.
  • Alternativen EULA, Billingoch ApiKey måste anges för att köra containern. Annars startar inte containern.
  • Om du översätter dokument måste du använda slutpunkten för dokumentöversättning.
docker run --rm -it -p 5000:5000 --memory 12g --cpus 4 \
-v /mnt/d/TranslatorContainer:/usr/local/models \
-e apikey={API_KEY} \
-e eula=accept \
-e billing={ENDPOINT_URI} \
-e Languages=en,fr,es,ar,ru  \
mcr.microsoft.com/azure-cognitive-services/translator/text-translation:latest

Kommandot ovan:

  • Skapar en Translator-container som körs från en nedladdad containeravbildning.
  • Allokerar 12 gigabyte (GB) minne och fyra PROCESSORkärna.
  • Exponerar TCP-port 5000 (Transmission Control Protocol) och allokerar en pseudo-TTY för containern. localhost Nu pekar adressen på själva containern, inte på värddatorn.
  • Godkänner slutanvändaravtalet (EULA).
  • Konfigurerar faktureringsslutpunkt.
  • Laddar ned översättningsmodeller för språk som engelska, franska, spanska, arabiska och ryska.
  • Tar automatiskt bort containern när den har avslutats. Containeravbildningen är fortfarande tillgänglig på värddatorn.

Dricks

Ytterligare Docker-kommando:

  • docker ps listor som kör containrar.
  • docker pause {your-container name} pausar en container som körs.
  • docker unpause {your-container-name} pausar en pausad container.
  • docker restart {your-container-name} startar om en container som körs.
  • docker exec gör att du kan köra kommandon för att koppla från eller ange miljövariabler i en container som körs.

Mer information finns idocker CLI-referens.

Köra flera containrar på samma värd

Om du tänker köra flera containrar med exponerade portar ska du köra varje container med en annan exponerad port. Kör till exempel den första containern på port 5000 och den andra containern på port 5001.

Du kan ha den här containern och en annan Azure AI-container som körs på VÄRDEN tillsammans. Du kan också ha flera containrar av samma Azure AI-container som körs.

Fråga Translator-containerslutpunkten

Containern tillhandahåller ett REST-baserat Translator-slutpunkts-API. Här är en exempelbegäran med källspråket (from=en) angivet:

  curl -X POST "http://localhost:5000/translate?api-version=3.0&from=en&to=zh-HANS" -H "Content-Type: application/json" -d "[{'Text':'Hello, what is your name?'}]"

Kommentar

  • Källspråkidentifiering kräver ytterligare en container. Mer information finns iStödcontainrar

  • Om cURL POST-begäran returnerar ett Service is temporarily unavailable svar är containern inte redo. Vänta några minuter och försök sedan igen.

Verifiera att en container körs

Det finns flera sätt att verifiera att containern körs:

  • Containern tillhandahåller en startsida på / som en visuell validering som containern körs på.

  • Du kan öppna din favoritwebbläsare och gå till den externa IP-adressen och den exponerade porten för containern i fråga. Använd följande URL:er för begäran för att verifiera att containern körs. Exempelwebbadresserna för begäran pekar på http://localhost:5000, men din specifika container kan variera. Tänk på att du navigerar till containerns externa IP-adress och exponerade port.

Begärans-URL Syfte
http://localhost:5000/ Containern tillhandahåller en startsida.
http://localhost:5000/ready Begärd med GET. Tillhandahåller en verifiering av att containern är redo att acceptera en fråga mot modellen. Den här begäran kan användas för Kubernetes liveness- och beredskapsavsökningar.
http://localhost:5000/status Begärd med GET. Verifierar om api-nyckeln som används för att starta containern är giltig utan att orsaka en slutpunktsfråga. Den här begäran kan användas för Kubernetes liveness- och beredskapsavsökningar.
http://localhost:5000/swagger Containern tillhandahåller en fullständig uppsättning dokumentation för slutpunkterna samt en Prova-funktion. Med den här funktionen kan du ange inställningarna i ett webbaserat HTML-formulär och göra frågan utan att behöva skriva någon kod. När frågan har returnerats tillhandahålls ett exempel på ETT CURL-kommando för att demonstrera nödvändiga HTTP-huvuden och brödtextformat.

Skärmbild av containerns startsida.

Om du har problem med att köra en Azure AI-tjänstcontainer kan du prova att använda Microsofts diagnostikcontainer. Använd den här containern för att diagnostisera vanliga fel i distributionsmiljön som kan förhindra att Azure AI-containrar fungerar som förväntat.

Använd följande docker pull kommando för att hämta containern:

docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic

Kör sedan containern. Ersätt {ENDPOINT_URI} med slutpunkten och ersätt {API_KEY} med nyckeln till resursen:

docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Containertesterna för nätverksanslutning till faktureringsslutpunkten.

Stoppa containern

Om du vill stänga av containern väljer du Ctrl+C i den kommandoradsmiljö där containern körs.

Användningsfall för stödcontainrar

Vissa Translator-frågor kräver stödcontainrar för att slutföra åtgärder. Om du använder Office-dokument och inte kräver källspråkidentifiering krävs endast Translator-containern. Men om källspråksidentifiering krävs eller om du använder skannade PDF-dokument krävs stödcontainrar:

I följande tabell visas de nödvändiga stödcontainrarna för text- och dokumentöversättningsåtgärderna. Translator-containern skickar faktureringsinformation till Azure via Azure AI Translator-resursen på ditt Azure-konto.

Åtgärd Begärandefråga Dokumenttyp Stödcontainrar
• Textöversättning
• Dokumentöversättning
from Angivna. Office-dokument Ingen
• Textöversättning
• Dokumentöversättning
from inte har angetts. Kräver automatisk språkidentifiering för att fastställa källspråket. Office-dokument ✔️ Textanalys:språkcontainer
• Textöversättning
• Dokumentöversättning
from Angivna. Skannade PDF-dokument Vision:read container ✔️
• Textöversättning
• Dokumentöversättning
from inte anges som kräver automatisk språkidentifiering för att fastställa källspråket. Skannade PDF-dokument ✔️ Textanalys:språkcontainer

Vision:read container ✔️

Använda stödcontainrar med docker compose

Docker Compose är ett verktyg som gör att du kan konfigurera program med flera containrar med en enda YAML-fil med namnet compose.yaml. docker compose up Använd kommandot för att starta containerprogrammet och docker compose down kommandot för att stoppa och ta bort containrarna.

Om du har installerat Docker Desktop CLI innehåller det Docker Compose och dess förutsättningar. Om du inte har Docker Desktop kan du läsa översikten Installera Docker Compose.

Skapa ditt program

  1. Använd din föredragna redigerare eller IDE och skapa en ny katalog för din app med namnet container-environment eller ett valfritt namn.

  2. Skapa en ny YAML-fil med namnet compose.yaml. Både .yml- eller .yaml-tilläggen kan användas för compose filen.

  3. Kopiera och klistra in följande YAML-kodexempel i compose.yaml filen. Ersätt {TRANSLATOR_KEY} och {TRANSLATOR_ENDPOINT_URI} med nyckel- och slutpunktsvärdena från Azure Portal Translator-instansen. Om du översätter dokument ska du använda document translation endpoint.

  4. Det översta namnet (azure-ai-translator, azure-ai-language, azure-ai-read) är den parameter som du anger.

  5. container_name är en valfri parameter som anger ett namn för containern när den körs, i stället för att låta docker compose generera ett namn.

    services:
      azure-ai-translator:
        container_name: azure-ai-translator
        image: mcr.microsoft.com/product/azure-cognitive-services/translator/text-translation:latest
        environment:
            - EULA=accept
            - billing={TRANSLATOR_ENDPOINT_URI}
            - apiKey={TRANSLATOR_KEY}
            - AzureAiLanguageHost=http://azure-ai-language:5000
            - AzureAiReadHost=http://azure-ai-read:5000
        ports:
              - "5000:5000"
        azure-ai-language:
          container_name: azure-ai-language
          image:  mcr.microsoft.com/azure-cognitive-services/textanalytics/language:latest
          environment:
              - EULA=accept
              - billing={TRANSLATOR_ENDPOINT_URI}
              - apiKey={TRANSLATOR_KEY}
        azure-ai-read:
          container_name: azure-ai-read
          image:  mcr.microsoft.com/azure-cognitive-services/vision/read:latest
          environment:
              - EULA=accept
              - billing={TRANSLATOR_ENDPOINT_URI}
              - apiKey={TRANSLATOR_KEY}
    
  6. Öppna en terminal navigera till container-environment mappen och starta containrarna med följande docker-compose kommando:

    docker compose up
    
  7. Om du vill stoppa containrarna använder du följande kommando:

    docker compose down
    

    Dricks

    Användbara Docker-kommandon:

    • docker compose pause pausar containrar som körs.
    • docker compose unpause {your-container-name} pausade containrar.
    • docker compose restart startar om alla stoppade och körs containern med alla dess tidigare ändringar intakta. Om du gör ändringar i konfigurationen compose.yaml uppdateras inte dessa ändringar med docker compose restart kommandot . Du måste använda docker compose up kommandot för att återspegla uppdateringar och ändringar i compose.yaml filen.
    • docker compose ps -a visar en lista över alla containrar, inklusive de som stoppas.
    • docker compose exec gör att du kan köra kommandon för att koppla från eller ange miljövariabler i en container som körs.

    Mer information finns idocker CLI-referens.

Translator och stöd för containeravbildningar och taggar

Containeravbildningarna för Azure AI-tjänster finns i Microsofts artefaktregister-katalogen. I följande tabell visas den fullständigt kvalificerade bildplatsen för text- och dokumentöversättning:

Container Bildplats Kommentar
Translator: Text- och dokumentöversättning mcr.microsoft.com/azure-cognitive-services/translator/text-translation:latest Du kan visa den fullständiga listan över versionstaggar för Textöversättning för Azure AI-tjänster på MCR.
Textanalys: språk mcr.microsoft.com/azure-cognitive-services/textanalytics/language:latest Du kan visa den fullständiga listan över Azure AI-tjänster Textanalys Språkversionstaggar på MCR.
Vision: läs mcr.microsoft.com/azure-cognitive-services/vision/read:latest Du kan visa den fullständiga listan över Azure AI-tjänster Visuellt innehåll Läs OCR versionstaggar på MCR.

Andra parametrar och kommandon

Här följer några fler parametrar och kommandon som du kan använda 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:

Exempelkommando docker run

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

Miljövariabelnamn i Kubernetes-distributioner

  • Vissa Azure AI-containrar, till exempel Translator, kräver att användarna skickar miljövariabelnamn som innehåller kolon (:) när de kör containern.

  • Kubernetes accepterar inte kolon i miljövariabelnamn. Du kan lösa problemet genom att ersätta kolon med två understreckstecken (__) när du distribuerar till Kubernetes. Se följande exempel på ett acceptabelt format för miljövariabelnamn:

        env:
        - name: Mounts__License
          value: "/license"
        - name: Mounts__Output
          value: "/output"

Det här exemplet ersätter standardformatet för miljövariabelnamnen Mounts:License och Mounts:Output i kommandot docker run.

Hämta användningsposter 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 för att hämta alla poster

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

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}

Exempel på HTTPS-slutpunkt för att hämta poster för en viss månad och ett visst år

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

Användningsloggarnas slutpunkter returnerar ett JSON-svar som liknar följande exempel:

Anslut container

quantity Är det belopp som du debiteras för användning av anslutna containrar.

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

Frånkopplad container

      {
    "type": "CommerceUsageResponse",
    "meters": [
      {
        "name": "CognitiveServices.TextTranslation.Container.OneDocumentTranslatedCharacters",
        "quantity": 1250000,
        "billedUnit": 1875000
      },
      {
        "name": "CognitiveServices.TextTranslation.Container.TranslatedCharacters",
        "quantity": 1250000,
        "billedUnit": 1250000
      }
    ],
    "apiType": "texttranslation",
    "serviceName": "texttranslation"
   }

Det aggregerade värdet billedUnit för för följande mätare räknas mot de tecken som du har licensierat för din frånkopplade containeranvändning:

  • CognitiveServices.TextTranslation.Container.OneDocumentTranslatedCharacters

  • CognitiveServices.TextTranslation.Container.TranslatedCharacters

Sammanfattning

I den här artikeln har du lärt dig begrepp och arbetsflöden för att ladda ned, installera och köra en Azure AI Translator-container:

  • Azure AI Translator-containern stöder textöversättning, synkron dokumentöversättning och texttranskribering.

  • Containeravbildningar laddas ned från containerregistret och körs i Docker.

  • Faktureringsinformationen måste anges när du instansierar en container.

Nästa steg