Taaldetectie: Docker-containers on-premises gebruiken

Met containers kunt u de Taaldetectie-API hosten in uw eigen infrastructuur. Als u beveiligings- of gegevensbeheervereisten hebt waaraan niet kan worden voldaan door taaldetectie op afstand aan te roepen, kunnen containers een goede optie zijn.

Vereisten

  • Als u nog geen abonnement op Azure hebt, maakt u een gratis account aan.
  • Docker geïnstalleerd op een hostcomputer. Docker moet zodanig worden geconfigureerd dat de containers verbinding kunnen maken met en factureringsgegevens naar Azure kunnen verzenden.
    • In Windows moet Docker ook worden geconfigureerd voor ondersteuning van Linux-containers.
    • U moet basiskennis hebben van Docker-concepten.
  • Een Taalresource met de prijscategorie gratis (F0) of Standard (S).

Vereiste parameters verzamelen

Er zijn drie primaire parameters vereist voor alle Azure AI-containers. De licentievoorwaarden voor Microsoft-software moeten aanwezig zijn met de waarde accepteren. Er zijn ook een eindpunt-URI en API-sleutel nodig.

Eindpunt-URI

De {ENDPOINT_URI} waarde is beschikbaar op de pagina Azure Portal Overzicht van de bijbehorende Azure AI-servicesresource. Ga naar de pagina Overzicht , beweeg de muisaanwijzer over het eindpunt en het pictogram Kopiëren naar klembord wordt weergegeven. Kopieer en gebruik het eindpunt waar nodig.

Schermopname van het verzamelen van de eindpunt-URI voor later gebruik.

Sleutels

De {API_KEY} waarde wordt gebruikt om de container te starten en is beschikbaar op de pagina Sleutels van de Azure Portal van de bijbehorende Azure AI-servicesresource. Ga naar de pagina Sleutels en selecteer het pictogram Kopiëren naar klembord .

Schermopname van het ophalen van een van de twee sleutels voor later gebruik.

Belangrijk

Deze abonnementssleutels worden gebruikt voor toegang tot uw API voor Azure AI-services. Deel uw sleutels niet. Bewaar ze veilig. Gebruik bijvoorbeeld Azure Key Vault. We raden u ook aan deze sleutels regelmatig opnieuw te genereren. Er is slechts één sleutel nodig om een API-aanroep te maken. Wanneer u de eerste sleutel opnieuw genereert, kunt u de tweede sleutel gebruiken voor continue toegang tot de service.

Vereisten en aanbevelingen voor hostcomputers

De host is een x64-computer waarop de Docker-container wordt uitgevoerd. Dit kan een computer op uw locatie zijn of een Docker-hostingservice in Azure, zoals:

In de volgende tabel worden de minimale en aanbevolen specificaties voor de taaldetectiecontainer beschreven. Elke CPU-kern moet ten minste 2,6 gigahertz (GHz) of sneller zijn. De toegestane transacties per seconde (TPS) worden ook vermeld.

Minimale hostspecificaties Aanbevolen hostspecificaties Minimale TPS Maximum TPS
Taaldetectie 1 kerngeheugen, 2 GB geheugen 1 kerngeheugen, 4 GB geheugen 15 30

DE CPU-kern en het geheugen komen overeen met de --cpus instellingen en --memory , die worden gebruikt als onderdeel van de docker run opdracht.

De containerinstallatiekopieën ophalen met docker pull

De containerinstallatiekopieën van Language Detection vindt u in het mcr.microsoft.com containerregistersyndicaat. Het bevindt zich in de opslagplaats en heeft de azure-cognitive-services/textanalytics/ naam language. De volledig gekwalificeerde naam van de containerinstallatiekopieën is, mcr.microsoft.com/azure-cognitive-services/textanalytics/language

Als u de nieuwste versie van de container wilt gebruiken, kunt u de latest tag gebruiken. U kunt ook een volledige lijst met tags vinden op de MCR.

Gebruik de docker pull opdracht om een containerinstallatiekopieën te downloaden uit Microsoft Container Registry.

docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/language:latest

Tip

U kunt de opdracht docker-installatiekopieën gebruiken om de gedownloade containerinstallatiekopieën weer te geven. De volgende opdracht bevat bijvoorbeeld de id, opslagplaats en tag van elke gedownloade containerinstallatiekopieën, opgemaakt als een tabel:

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

IMAGE ID         REPOSITORY                TAG
<image-id>       <repository-path/name>    <tag-name>

De container uitvoeren met docker run

Zodra de container zich op de hostcomputer bevindt, gebruikt u de opdracht docker run om de containers uit te voeren. De container blijft actief totdat u deze stopt.

Belangrijk

  • De docker-opdrachten in de volgende secties gebruiken de back-slash, \, als een regel vervolgteken. Vervang of verwijder deze op basis van de vereisten van uw hostbesturingssysteem.
  • De Eulaopties , Billingen ApiKey moeten worden opgegeven om de container uit te voeren. Anders wordt de container niet gestart. Zie Facturering voor meer informatie.

Voer de volgende docker run opdracht uit om de taaldetectiecontainer uit te voeren. Vervang de onderstaande tijdelijke aanduidingen door uw eigen waarden:

Tijdelijke aanduiding Waarde Opmaak of voorbeeld
{API_KEY} De sleutel voor uw taalresource. U vindt deze op de pagina Sleutel en eindpunt van uw resource, op de Azure Portal. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{ENDPOINT_URI} Het eindpunt voor toegang tot de taaldetectie-API. U vindt deze op de pagina Sleutel en eindpunt van uw resource, op de Azure Portal. https://<your-custom-subdomain>.cognitiveservices.azure.com
docker run --rm -it -p 5000:5000 --memory 4g --cpus 1 \
mcr.microsoft.com/azure-cognitive-services/textanalytics/language \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Met deze opdracht gebeurt het volgende:

  • Voert een Language Detection-container uit vanuit de containerinstallatiekopieën
  • Wijst één CPU-kern en 4 gigabyte (GB) geheugen toe
  • TCP-poort 5000 beschikbaar maken en wijst een pseudo-TTY toe voor de container
  • De container wordt automatisch verwijderd nadat deze is afgesloten. De containerinstallatiekopie is nog steeds beschikbaar op de hostcomputer.

Meerdere containers uitvoeren op dezelfde host

Als u van plan bent om meerdere containers met zichtbare poorten uit te voeren, moet u ervoor zorgen dat u elke container uitvoert met een andere zichtbare poort. Voer bijvoorbeeld de eerste container uit op poort 5000 en de tweede container op poort 5001.

U kunt deze container en een andere Azure AI Services-container samen laten uitvoeren op de HOST. U kunt ook meerdere containers van dezelfde Azure AI-servicescontainer uitvoeren.

Een query uitvoeren op het voorspellingseindpunt van de container

De container bevat op REST gebaseerde eindpunt-API's voor queryvoorspelling.

Gebruik de host, http://localhost:5000, voor container-API's.

Controleren of een container wordt uitgevoerd

Er zijn verschillende manieren om te controleren of de container wordt uitgevoerd. Zoek het externe IP-adres en de weergegeven poort van de betreffende container en open uw favoriete webbrowser. Gebruik de verschillende aanvraag-URL's die volgen om te controleren of de container wordt uitgevoerd. De hier vermelde voorbeeldaanvraag-URL's zijn http://localhost:5000, maar uw specifieke container kan variëren. Zorg ervoor dat u vertrouwt op het externe IP-adres en de weergegeven poort van uw container.

Aanvraag-URL Doel
http://localhost:5000/ De container bevat een startpagina.
http://localhost:5000/ready Deze URL wordt aangevraagd met GET en biedt een verificatie dat de container gereed is om een query op het model te accepteren. Deze aanvraag kan worden gebruikt voor Kubernetes-liveness- en gereedheidstests.
http://localhost:5000/status Deze URL wordt ook aangevraagd met GET en controleert of de API-sleutel die wordt gebruikt om de container te starten, geldig is zonder dat er een eindpuntquery wordt veroorzaakt. Deze aanvraag kan worden gebruikt voor Kubernetes-liveness- en gereedheidstests.
http://localhost:5000/swagger De container bevat een volledige set met documentatie voor de eindpunten en een functie Uitproberen. Met deze functie kunt u uw instellingen invoeren in een html-webformulier en de query maken zonder dat u code hoeft te schrijven. Nadat de query is geretourneerd, wordt een voorbeeld van een CURL-opdracht gegeven om de vereiste HTTP-headers en hoofdtekstindeling te demonstreren.

Startpagina van container

De container uitvoeren die is losgekoppeld van internet

Als u deze container zonder verbinding met internet wilt gebruiken, moet u eerst toegang aanvragen door een toepassing in te vullen en een toezeggingsplan aan te schaffen. Zie Docker-containers gebruiken in niet-verbonden omgevingen voor meer informatie.

Als u bent goedgekeurd voor het uitvoeren van de container die is losgekoppeld van internet, gebruikt u het volgende voorbeeld om de opmaak weer te geven van de docker run opdracht die u gebruikt, met tijdelijke aanduidingen voor waarden. Vervang deze waarden voor tijdelijke aanduidingen door uw eigen waarden.

Met de DownloadLicense=True parameter in uw docker run opdracht wordt een licentiebestand gedownload waarmee uw Docker-container kan worden uitgevoerd wanneer deze niet is verbonden met internet. Het bevat ook een vervaldatum, waarna het licentiebestand ongeldig is om de container uit te voeren. U kunt alleen een licentiebestand gebruiken met de juiste container waarvoor u bent goedgekeurd. U kunt bijvoorbeeld geen licentiebestand gebruiken voor een spraak-naar-tekstcontainer met een Document Intelligence-container.

Tijdelijke aanduiding Waarde Opmaak of voorbeeld
{IMAGE} De containerinstallatiekopieën die u wilt gebruiken. mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{LICENSE_MOUNT} Het pad waar de licentie wordt gedownload en gekoppeld. /host/license:/path/to/license/directory
{ENDPOINT_URI} Het eindpunt voor het verifiëren van uw serviceaanvraag. U vindt deze op de pagina Sleutel en eindpunt van uw resource, op de Azure Portal. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API_KEY} De sleutel voor uw Text Analytics resource. U vindt deze op de pagina Sleutel en eindpunt van uw resource, op de Azure Portal. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{CONTAINER_LICENSE_DIRECTORY} Locatie van de licentiemap in het lokale bestandssysteem van de container. /path/to/license/directory
docker run --rm -it -p 5000:5000 \ 
-v {LICENSE_MOUNT} \
{IMAGE} \
eula=accept \
billing={ENDPOINT_URI} \
apikey={API_KEY} \
DownloadLicense=True \
Mounts:License={CONTAINER_LICENSE_DIRECTORY} 

Zodra het licentiebestand is gedownload, kunt u de container uitvoeren in een niet-verbonden omgeving. In het volgende voorbeeld ziet u de opmaak van de docker run opdracht die u gebruikt, met tijdelijke aanduidingen voor waarden. Vervang deze waarden voor tijdelijke aanduidingen door uw eigen waarden.

Overal waar de container wordt uitgevoerd, moet het licentiebestand worden gekoppeld aan de container en moet de locatie van de licentiemap in het lokale bestandssysteem van de container worden opgegeven met Mounts:License=. Er moet ook een uitvoerkoppeling worden opgegeven, zodat gebruiksrecords voor facturering kunnen worden geschreven.

Tijdelijke aanduiding Waarde Opmaak of voorbeeld
{IMAGE} De containerinstallatiekopieën die u wilt gebruiken. mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{MEMORY_SIZE} De juiste grootte van het geheugen om toe te wijzen voor uw container. 4g
{NUMBER_CPUS} Het juiste aantal CPU's dat voor uw container moet worden toegewezen. 4
{LICENSE_MOUNT} Het pad waar de licentie zich bevindt en wordt gekoppeld. /host/license:/path/to/license/directory
{OUTPUT_PATH} Het uitvoerpad voor het vastleggen van gebruiksrecords. /host/output:/path/to/output/directory
{CONTAINER_LICENSE_DIRECTORY} Locatie van de licentiemap in het lokale bestandssysteem van de container. /path/to/license/directory
{CONTAINER_OUTPUT_DIRECTORY} Locatie van de uitvoermap op het lokale bestandssysteem van de container. /path/to/output/directory
docker run --rm -it -p 5000:5000 --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}

De container stoppen

Als u de container wilt afsluiten, selecteert u Ctrl+C in de opdrachtregelomgeving waarin de container wordt uitgevoerd.

Problemen oplossen

Als u de container uitvoert met een uitvoerkoppeling en logboekregistratie ingeschakeld, genereert de container logboekbestanden die handig zijn voor het oplossen van problemen die optreden tijdens het starten of uitvoeren van de container.

Tip

Zie Veelgestelde vragen (FAQ) over Azure AI-containers voor meer informatie en richtlijnen voor probleemoplossing.

Billing

De taaldetectiecontainers verzenden factureringsgegevens naar Azure met behulp van een taalresource in uw Azure-account.

Query's naar de container worden gefactureerd in de prijscategorie van de Azure-resource die wordt gebruikt voor de ApiKey parameter.

Azure AI-servicescontainers worden niet in licentie gegeven om te worden uitgevoerd zonder dat ze zijn verbonden met het eindpunt voor meting of facturering. U moet de containers te allen tijde inschakelen om factureringsgegevens te communiceren met het factureringseindpunt. Azure AI-servicescontainers verzenden geen klantgegevens, zoals de afbeelding of tekst die wordt geanalyseerd, naar Microsoft.

Verbinding maken met Azure

De container heeft de waarden van het factureringsargument nodig om uit te voeren. Met deze waarden kan de container verbinding maken met het factureringseindpunt. De container rapporteert het gebruik ongeveer elke 10 tot 15 minuten. Als de container geen verbinding maakt met Azure binnen het toegestane tijdvenster, blijft de container actief, maar worden er geen query's uitgevoerd totdat het factureringseindpunt is hersteld. De verbinding wordt tien keer geprobeerd met hetzelfde tijdsinterval van 10 tot 15 minuten. Als er binnen de tien pogingen geen verbinding kan worden gemaakt met het factureringseindpunt, stopt de container met het verwerken van aanvragen. Zie de Veelgestelde vragen over Azure AI-servicescontainers voor een voorbeeld van de informatie die voor facturering naar Microsoft is verzonden.

Factureringsargumenten

Met docker run de opdracht wordt de container gestart wanneer alle drie de volgende opties zijn voorzien van geldige waarden:

Optie Beschrijving
ApiKey De API-sleutel van de Azure AI-servicesresource die wordt gebruikt voor het bijhouden van factureringsgegevens.
De waarde van deze optie moet worden ingesteld op een API-sleutel voor de ingerichte resource die is opgegeven in Billing.
Billing Het eindpunt van de Azure AI-servicesresource die wordt gebruikt voor het bijhouden van factureringsgegevens.
De waarde van deze optie moet worden ingesteld op de eindpunt-URI van een ingerichte Azure-resource.
Eula Geeft aan dat u de licentie voor de container hebt geaccepteerd.
De waarde van deze optie moet worden ingesteld om te accepteren.

Zie Containers configureren voor meer informatie over deze opties.

Samenvatting

In dit artikel hebt u concepten en werkstromen geleerd voor het downloaden, installeren en uitvoeren van taaldetectiecontainers. Samenvatting:

  • Taaldetectie biedt Linux-containers voor Docker
  • Containerinstallatiekopieën worden gedownload van Microsoft Container Registry (MCR).
  • Containerinstallatiekopieën worden uitgevoerd in Docker.
  • U moet factureringsgegevens opgeven bij het instantiëren van een container.

Belangrijk

Deze container heeft geen licentie om te worden uitgevoerd zonder verbinding te maken met Azure voor meting. Klanten moeten de containers te allen tijde inschakelen om factureringsgegevens te communiceren met de meetservice. Azure AI-containers verzenden geen klantgegevens (bijvoorbeeld tekst die wordt geanalyseerd) naar Microsoft.

Volgende stappen