Docker-containers on-premises taaldetectie gebruiken

Met containers kunt u de Taaldetectie-API hosten in uw eigen infrastructuur. Als u beveiligings- of gegevensbeheervereisten hebt die niet kunnen worden vervuld door taaldetectie op afstand aan te roepen, is het mogelijk dat 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 zo worden geconfigureerd dat de containers verbinding kunnen maken met en factureringsgegevens kunnen verzenden naar Azure.
    • Op Windows moet Docker ook worden geconfigureerd ter ondersteuning van Linux-containers.
    • U moet een basiskennis hebben van Docker-concepten.
  • Een taalresource met de gratis prijscategorie (F0) of Standard (S).

Vereiste parameters verzamelen

Er zijn drie primaire parameters vereist voor alle Cognitive Services-containers. De licentievoorwaarden voor Microsoft-software moeten aanwezig zijn met een waarde voor accepteren. Er is 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 Cognitive Services-resource. Ga naar de pagina Overzicht , beweeg de muisaanwijzer over het eindpunt en verschijnt een pictogram Kopiëren naar klembord . Kopieer en gebruik waar nodig het eindpunt.

Screenshot that shows gathering the endpoint URI for later use.

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 Cognitive Services-resource. Ga naar de pagina Sleutels en selecteer het pictogram Kopiëren naar klembord .

Screenshot that shows getting one of the two keys for later use.

Belangrijk

Deze abonnementssleutels worden gebruikt voor toegang tot uw Cognitive Services-API. Deel uw sleutels niet. Sla ze veilig op. Gebruik bijvoorbeeld Azure Key Vault. U wordt ook aangeraden 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. Het kan een computer op uw locatie of een Docker-hostingservice in Azure zijn, 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 aantal TPS's
Taaldetectie 1 kerngeheugen, 2 GB geheugen 1 kerngeheugen, 4 GB geheugen 15 30

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

De containerinstallatiekopieën ophalen met docker pull

Gebruik de docker pull opdracht om een containerinstallatiekopieën te downloaden van de 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 docker-opdracht uitvoeren om de containers uit te voeren. De container blijft actief totdat u de container stopt.

Belangrijk

  • De docker-opdrachten in de volgende secties gebruiken de back-slash, \als regelvervolgteken. Vervang of verwijder dit op basis van de vereisten van uw hostbesturingssysteem.
  • BillingDe Eula, en ApiKey opties 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 taaldetectiecontainer uit vanuit de containerinstallatiekopieën
  • Wijst één CPU-kern en 4 gigabyte (GB) geheugen toe
  • Maakt TCP-poort 5000 beschikbaar en wijst een pseudo-TTY toe voor de container
  • Verwijdert de container automatisch nadat deze is afgesloten. De containerinstallatiekopie is nog steeds beschikbaar op de hostcomputer.

Meerdere containers op dezelfde host uitvoeren

Als u van plan bent om meerdere containers met blootgestelde poorten uit te voeren, moet u ervoor zorgen dat u elke container uitvoert met een andere weergegeven 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 Cognitive Services-container laten uitvoeren op de HOST. U kunt ook meerdere containers van dezelfde Cognitive Services-container 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 afhankelijk bent van het externe IP-adres van uw container en de weergegeven poort.

Aanvraag-URL Doel
http://localhost:5000/ De container bevat een startpagina.
http://localhost:5000/ready Aangevraagd met GET biedt deze URL een verificatie dat de container klaar is om een query voor het model te accepteren. Deze aanvraag kan worden gebruikt voor Kubernetes-liveness- en gereedheidstests.
http://localhost:5000/status Ook aangevraagd met GET, controleert deze URL of de API-sleutel die wordt gebruikt om de container te starten geldig is zonder een eindpuntquery te veroorzaken. 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-formulier op internet en de query maken zonder dat u code hoeft te schrijven. Nadat de query is geretourneerd, wordt een voorbeeld van een CURL-opdracht opgegeven om de HTTP-headers en de indeling van de hoofdtekst te demonstreren die vereist zijn.

Container's home page

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 waarvoor uitvoerkoppeling en logboekregistratie is ingeschakeld, genereert de container logboekbestanden die handig zijn om problemen op te lossen die optreden tijdens het starten of uitvoeren van de container.

Tip

Zie Cognitive Services-containers met veelgestelde vragen (FAQ) voor meer informatie over het oplossen van problemen en richtlijnen.

Billing

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

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

Azure Cognitive Services-containers hebben geen licentie om te worden uitgevoerd zonder verbinding te maken met het meter- of factureringseindpunt. U moet de containers inschakelen om te allen tijde factureringsgegevens met het factureringseindpunt te communiceren. Cognitive Services-containers verzenden geen klantgegevens, zoals de afbeelding of tekst die wordt geanalyseerd, naar Microsoft.

Verbinding maken met Azure

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

Factureringsargumenten

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

Optie Beschrijving
ApiKey De API-sleutel van de Cognitive Services-resource die wordt gebruikt om factureringsgegevens bij te houden.
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 Cognitive Services-resource die wordt gebruikt om factureringsgegevens bij te houden.
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 werkstroom geleerd voor het downloaden, installeren en uitvoeren van taaldetectiecontainers. Samenvatting:

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

Belangrijk

Deze container is niet gelicentieerd om te worden uitgevoerd zonder verbinding te maken met Azure voor meting. Klanten moeten de containers in staat stellen om te allen tijde factureringsgegevens met de meterservice te communiceren. Cognitive Services-containers verzenden geen klantgegevens (bijvoorbeeld tekst die wordt geanalyseerd) naar Microsoft.

Volgende stappen