Share via


Samenvatting van Docker-containers on-premises gebruiken

Met containers kunt u de samenvattings-API hosten op uw eigen infrastructuur. Als u beveiligings- of gegevensbeheervereisten hebt waaraan niet kan worden voldaan door samenvatting op afstand aan te roepen, is het mogelijk dat containers een goede optie zijn.

Vereisten

  • Als u nog geen Azure-abonnement hebt, maakt u een gratis account.
  • Docker geïnstalleerd op een hostcomputer. Docker moet zo worden geconfigureerd dat de containers verbinding kunnen maken met en factureringsgegevens naar Azure kunnen verzenden.
    • In Windows moet Docker ook worden geconfigureerd ter ondersteuning van Linux-containers.
    • U moet basiskennis hebben van Docker-concepten.
  • Een taalresource met de gratis prijscategorie (F0) of Standard (S). Voor niet-verbonden containers is de DC0-laag vereist.

Vereiste parameters verzamelen

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

Eindpunt-URI

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

Screenshot that shows gathering the endpoint URI for later use.

Toetsen

De {API_KEY} waarde wordt gebruikt om de container te starten en is beschikbaar op de pagina Sleutels van azure Portal van de bijbehorende Azure AI-servicesresource. 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 Azure AI-services-API. Deel je 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. 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 samenvatting van containervaardigheden beschreven. Vermelde COMBINATIES van CPU/geheugen zijn voor een 4000 tokeninvoer (gespreksverbruik is voor alle aspecten in dezelfde aanvraag).

Containertype Aanbevolen aantal CPU-kernen Aanbevolen geheugen Aantekeningen
Samenvatting van CPU-container 16 48 GB
Samenvatting gpu-container 2 24 GB Vereist een Nvidia GPU die Cuda 11.8 ondersteunt met 16 GB VRAM.

DE CPU-kern en het 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

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

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 Het Microsoft Container Registry.

docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu

voor CPU-containers,

docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:gpu

voor GPU-containers.

Fooi

U kunt de opdracht docker-installatiekopieën gebruiken om uw 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 samenvattingscontainermodellen downloaden

Een vereiste voor het uitvoeren van de samenvattingscontainer is het eerst downloaden van de modellen. U kunt dit doen door een van de volgende opdrachten uit te voeren met behulp van een CPU-containerinstallatiekopieën als voorbeeld:

docker run -v {HOST_MODELS_PATH}:/models mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu downloadModels=ExtractiveSummarization billing={ENDPOINT_URI} apikey={API_KEY}
docker run -v {HOST_MODELS_PATH}:/models mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu downloadModels=AbstractiveSummarization billing={ENDPOINT_URI} apikey={API_KEY}
docker run -v {HOST_MODELS_PATH}:/models mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu downloadModels=ConversationSummarization billing={ENDPOINT_URI} apikey={API_KEY}

Het is niet raadzaam om modellen te downloaden voor alle vaardigheden binnen hetzelfde HOST_MODELS_PATH, omdat de container alle modellen in de HOST_MODELS_PATHcontainer laadt. Als u dit doet, wordt een grote hoeveelheid geheugen gebruikt. Het is raadzaam om alleen het model te downloaden voor de vaardigheid die u nodig hebt in een bepaalde HOST_MODELS_PATH.

Als u compatibiliteit tussen modellen en de container wilt garanderen, downloadt u de gebruikte modellen opnieuw wanneer u een container maakt met behulp van een nieuwe versie van de installatiekopieën. Wanneer u een niet-verbonden container gebruikt, moet de licentie opnieuw worden gedownload na het downloaden van de modellen.

De container uitvoeren met docker run

Zodra de samenvattingscontainer zich op de hostcomputer bevindt, gebruikt u de volgende docker run opdracht om de containers uit te voeren. De container blijft actief totdat u de container stopt. Vervang de onderstaande tijdelijke aanduidingen door uw eigen waarden:

Tijdelijke aanduiding Waarde Opmaak of voorbeeld
{HOST_MODELS_PATH} De hostcomputervolumekoppeling, die Docker gebruikt om het model te behouden. Een voorbeeld is c:\SummarizationModel waarbij het station c:\ zich op de hostcomputer bevindt.
{ENDPOINT_URI} Het eindpunt voor toegang tot de samenvattings-API. U vindt deze op de pagina Sleutel en eindpunt van uw resource, in Azure Portal. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API_KEY} De sleutel voor uw taalresource. U vindt deze op de pagina Sleutel en eindpunt van uw resource, in Azure Portal. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
docker run -p 5000:5000 -v {HOST_MODELS_PATH}:/models mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu eula=accept rai_terms=accept billing={ENDPOINT_URI} apikey={API_KEY}

Of als u een GPU-container uitvoert, gebruikt u deze opdracht.

docker run -p 5000:5000 --gpus all -v {HOST_MODELS_PATH}:/models mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:gpu eula=accept rai_terms=accept billing={ENDPOINT_URI} apikey={API_KEY}

Als er meer dan één GPU op de computer is, vervangt u door --gpus all--gpus device={DEVICE_ID}.

Belangrijk

  • 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.
  • De Eula, Billingrai_terms en ApiKey opties moeten worden opgegeven om de container uit te voeren. Anders wordt de container niet gestart. Zie Facturering voor meer informatie.

Met deze opdracht gebeurt het volgende:

  • Voert een samenvattingscontainer 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
  • Hiermee wordt de container automatisch verwijderd 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 AI-servicescontainer 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 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 gereed is voor het accepteren van een query voor het model. 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 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-webformulier en de query maken zonder dat u code hoeft te schrijven. Nadat de query is geretourneerd, wordt er een voorbeeld van een CURL-opdracht gegeven om de HTTP-headers en de hoofdtekstindeling te demonstreren die vereist is.

Container's home page

De container uitvoeren die is losgekoppeld van internet

Als u deze container wilt gebruiken die is losgekoppeld van internet, 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 om de container uit te voeren die is losgekoppeld van internet, ziet u in het volgende voorbeeld de opmaak van de docker run opdracht die u gaat gebruiken, met tijdelijke aanduidingen. Vervang deze tijdelijke aanduidingen door uw eigen waarden.

Met DownloadLicense=True de 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 Language Services-container.

De samenvatting van niet-verbonden containermodellen downloaden

Een vereiste voor het uitvoeren van de samenvattingscontainer is het eerst downloaden van de modellen. U kunt dit doen door een van de volgende opdrachten uit te voeren met behulp van een CPU-containerinstallatiekopieën als voorbeeld:

docker run -v {HOST_MODELS_PATH}:/models mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu downloadModels=ExtractiveSummarization billing={ENDPOINT_URI} apikey={API_KEY}
docker run -v {HOST_MODELS_PATH}:/models mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu downloadModels=AbstractiveSummarization billing={ENDPOINT_URI} apikey={API_KEY}
docker run -v {HOST_MODELS_PATH}:/models mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu downloadModels=ConversationSummarization billing={ENDPOINT_URI} apikey={API_KEY}

Het is niet raadzaam om modellen te downloaden voor alle vaardigheden binnen hetzelfde HOST_MODELS_PATH, omdat de container alle modellen in de HOST_MODELS_PATHcontainer laadt. Als u dit doet, wordt een grote hoeveelheid geheugen gebruikt. Het is raadzaam om alleen het model te downloaden voor de vaardigheid die u nodig hebt in een bepaalde HOST_MODELS_PATH.

Als u compatibiliteit tussen modellen en de container wilt garanderen, downloadt u de gebruikte modellen opnieuw wanneer u een container maakt met behulp van een nieuwe versie van de installatiekopieën. Wanneer u een niet-verbonden container gebruikt, moet de licentie opnieuw worden gedownload na het downloaden van de modellen.

De niet-verbonden container uitvoeren met docker run

Tijdelijke aanduiding Waarde Opmaak of voorbeeld
{IMAGE} De containerinstallatiekopieën die u wilt gebruiken. mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu
{LICENSE_MOUNT} Het pad waar de licentie wordt gedownload en gekoppeld. /host/license:/path/to/license/directory
{HOST_MODELS_PATH} Het pad waar de modellen zijn gedownload en gekoppeld. /host/models:/models
{ENDPOINT_URI} Het eindpunt voor het verifiëren van uw serviceaanvraag. U vindt deze op de pagina Sleutel en eindpunt van uw resource, in 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, in 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} \
-v {HOST_MODELS_PATH} \
{IMAGE} \
eula=accept \
rai_terms=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 gaat gebruiken, met tijdelijke aanduidingen. Vervang deze tijdelijke aanduidingen door uw eigen waarden.

Waar de container ook 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 factureringsgebruiksrecords kunnen worden geschreven.

Tijdelijke aanduiding Waarde Opmaak of voorbeeld
{IMAGE} De containerinstallatiekopieën die u wilt gebruiken. mcr.microsoft.com/azure-cognitive-services/textanalytics/summarization:cpu
{MEMORY_SIZE} De juiste grootte van het geheugen dat moet worden toegewezen voor uw container. 4g
{NUMBER_CPUS} Het juiste aantal CPU's dat moet worden toegewezen voor uw container. 4
{LICENSE_MOUNT} Het pad waar de licentie zich bevindt en wordt gekoppeld. /host/license:/path/to/license/directory
{HOST_MODELS_PATH} Het pad waar de modellen zijn gedownload en gekoppeld. /host/models:/models
{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 in 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 {HOST_MODELS_PATH} \
-v {OUTPUT_PATH} \
{IMAGE} \
eula=accept \
rai_terms=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 waarvoor uitvoerkoppeling en logboekregistratie zijn ingeschakeld, genereert de container logboekbestanden die handig zijn om problemen op te lossen die optreden tijdens het starten of uitvoeren van de container.

Fooi

Zie veelgestelde vragen over Azure AI-containers voor meer informatie en richtlijnen voor probleemoplossing.

Billing

De samenvattingscontainers 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 hebben geen licentie om te worden uitgevoerd zonder verbinding te maken met het meter- of factureringseindpunt. U moet de containers 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 moet de waarden voor factureringsargumenten uitvoeren. Met deze waarden kan de container verbinding maken met het factureringseindpunt. De container rapporteert ongeveer om de 10 tot 15 minuten het gebruik. Als de container niet binnen het toegestane tijdvenster verbinding maakt met Azure, blijft de container actief, maar voert deze geen query's uit totdat 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 de Azure AI-servicescontainer 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 Azure AI-servicesresource 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 Azure AI-servicesresource 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 op 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 samenvattingscontainers. Samenvatting:

  • Samenvatting biedt Linux-containers voor Docker
  • Containerinstallatiekopieën worden gedownload vanuit het 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 ervoor zorgen dat de containers altijd factureringsgegevens kunnen communiceren met de meterservice. Azure AI-containers verzenden geen klantgegevens (bijvoorbeeld tekst die wordt geanalyseerd) naar Microsoft.

Volgende stappen

  • Zie Containers configureren voor configuratie-instellingen.