Docker-containers installeren en uitvoeren voor LUIS
Belangrijk
LUIS wordt op 1 oktober 2025 buiten gebruik gesteld en vanaf 1 april 2023 kunt u geen nieuwe LUIS-resources maken. We raden u aan uw LUIS-toepassingen te migreren naar gesprekstaalbegrip om te profiteren van continue productondersteuning en meertalige mogelijkheden.
Notitie
De locatie van de containerinstallatiekopieën is onlangs gewijzigd. Lees dit artikel voor de bijgewerkte locatie voor deze container.
Met containers kunt u LUIS in uw eigen omgeving gebruiken. Containers zijn ideaal voor specifieke vereisten voor beveiliging en gegevensbeheer. In dit artikel leert u hoe u een LUIS-container downloadt, installeert en uitvoert.
De Luis-container (Language Understanding) laadt uw getrainde of gepubliceerde Language Understanding-model. Als LUIS-app biedt de Docker-container toegang tot de queryvoorspellingen van de API-eindpunten van de container. U kunt querylogboeken uit de container verzamelen en deze weer uploaden naar de Language Understanding-app om de nauwkeurigheid van de voorspelling van de app te verbeteren.
In de volgende video ziet u hoe u deze container gebruikt.
Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Vereisten
Als u de LUIS-container wilt uitvoeren, moet u rekening houden met de volgende vereisten:
-
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 LUIS-resource met de gratis prijscategorie (F0) of Standard (S).
- Een getrainde of gepubliceerde app die is verpakt als gekoppelde invoer voor de container met de bijbehorende app-id. U kunt het verpakte bestand ophalen via de LUIS-portal of de creatie-API's. Als u luis verpakte app krijgt van de creatie-API's, hebt u ook uw ontwerpsleutel nodig.
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.
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.
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.
App-id {APP_ID}
Deze id wordt gebruikt om de app te selecteren. U vindt de app-id in de LUIS-portal door boven aan het scherm voor uw app op Beheren te klikken en vervolgens op Instellingen.
Ontwerpsleutel {AUTHORING_KEY}
Deze sleutel wordt gebruikt om de verpakte app op te halen uit de LUIS-service in de cloud en de querylogboeken terug te uploaden naar de cloud. U hebt uw ontwerpsleutel nodig als u uw app exporteert met behulp van de REST API, zoals verderop in het artikel wordt beschreven.
U kunt uw ontwerpsleutel ophalen via de LUIS-portal door boven aan het scherm voor uw app op Beheren te klikken en vervolgens op Azure-resources.
Api's ontwerpen voor pakketbestand
Api's ontwerpen voor verpakte apps:
De hostcomputer
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:
- Azure Kubernetes Service.
- Azure Container Instances.
- Een Kubernetes-cluster dat is geïmplementeerd in Azure Stack. Zie Kubernetes implementeren in Azure Stack voor meer informatie.
Containervereisten en aanbevelingen
De onderstaande tabel bevat minimale en aanbevolen waarden voor de containerhost. Uw vereisten kunnen veranderen, afhankelijk van het verkeersvolume.
Container | Minimaal | Aanbevolen | TPS (Minimum, maximum) |
---|---|---|---|
LUIS | 1 kerngeheugen, 2 GB geheugen | 1 kerngeheugen, 4 GB geheugen | 20, 40 |
- Elke kern moet ten minste 2,6 gigahertz (GHz) of sneller zijn.
- TPS - transacties per seconde
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
De LUIS-containerinstallatiekopieën vindt u in het mcr.microsoft.com
containerregistersyndicaat. Deze bevindt zich in de azure-cognitive-services/language
opslagplaats en heeft de naam luis
. De volledig gekwalificeerde containerinstallatiekopieënnaam is. mcr.microsoft.com/azure-cognitive-services/language/luis
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 uit de mcr.microsoft.com/azure-cognitive-services/language/luis
opslagplaats te downloaden:
docker pull mcr.microsoft.com/azure-cognitive-services/language/luis:latest
Tip
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 container gebruiken
Zodra de container zich op de hostcomputer bevindt, gebruikt u het volgende proces om met de container te werken.
- Exporteer het pakket voor containers vanuit de LUIS-portal of LUIS-API's.
- Verplaats het pakketbestand naar de vereiste invoermap op de hostcomputer. Wijzig, wijzig, overschrijf of decomprim het LUIS-pakketbestand niet.
-
Voer de container uit met de vereiste invoerkoppeling en factureringsinstellingen. Er zijn meer voorbeelden van de
docker run
opdracht beschikbaar. - Query's uitvoeren op het voorspellingseindpunt van de container.
- Wanneer u klaar bent met de container, importeert u de eindpuntlogboeken van de uitvoerkoppeling in de LUIS-portal en stopt u de container.
- Gebruik de actieve training van de LUIS-portal op de pagina Eindpuntuitingen beoordelen om de app te verbeteren.
De app die in de container wordt uitgevoerd, kan niet worden gewijzigd. Als u de app in de container wilt wijzigen, moet u de app in de LUIS-service wijzigen met behulp van de LUIS-portal of de LUIS-creatie-API's gebruiken. Train en/of publiceer vervolgens een nieuw pakket en voer de container opnieuw uit.
De LUIS-app in de container kan niet worden geëxporteerd naar de LUIS-service. Alleen de querylogboeken kunnen worden geüpload.
Verpakte app exporteren vanuit LUIS
De LUIS-container vereist een getrainde of gepubliceerde LUIS-app om voorspellingsquery's van gebruikersuitingen te beantwoorden. Gebruik de getrainde of gepubliceerde pakket-API om de LUIS-app op te halen.
De standaardlocatie is de input
submap ten opzichte van waar u de docker run
opdracht uitvoert.
Plaats het pakketbestand in een map en verwijs naar deze map als invoerkoppeling wanneer u de docker-container uitvoert.
Pakkettypen
De invoerkoppelingsmap kan tegelijkertijd de productie-, faserings- en versiemodellen van de app bevatten. Alle pakketten zijn gekoppeld.
Pakkettype | Query-eindpunt-API | Beschikbaarheid van query's | Bestandsindeling van pakket |
---|---|---|---|
Versiebeheer | GET, POST | Alleen container | {APP_ID}_v{APP_VERSION}.gz |
Staging | GET, POST | Azure en container | {APP_ID}_STAGING.gz |
Productie | GET, POST | Azure en container | {APP_ID}_PRODUCTION.gz |
Belangrijk
Wijzig, wijzig, overschrijf of decomprim de LUIS-pakketbestanden niet.
Vereisten voor verpakking
Voordat u een LUIS-toepassing inpakt, moet u het volgende hebben:
Verpakkingsvereisten | DETAILS |
---|---|
Resource-exemplaar van Azure AI-services | Ondersteunde regio's zijn onder meer VS - west ( westus )Europa - west ( westeurope )Australië - oost ( australiaeast ) |
Getrainde of gepubliceerde LUIS-app | Zonder niet-ondersteunde afhankelijkheden. |
Toegang tot het bestandssysteem van de hostcomputer | De hostcomputer moet een invoerkoppeling toestaan. |
App-pakket exporteren vanuit de LUIS-portal
De LUIS Azure-portal biedt de mogelijkheid om het getrainde of gepubliceerde app-pakket te exporteren.
Het pakket van de gepubliceerde app exporteren vanuit de LUIS-portal
Het pakket van de gepubliceerde app is beschikbaar op de Mijn apps lijstpagina.
- Meld u aan bij luis Azure Portal.
- Schakel het selectievakje links van de naam van de app in de lijst in.
- Selecteer het item Exporteren op de contextuele werkbalk boven de lijst.
- Selecteer Exporteren voor container (GZIP).
- Selecteer de omgeving van productiesite of staging-site.
- Het pakket wordt gedownload vanuit de browser.
Het pakket van de versieversie van de app exporteren vanuit de LUIS-portal
Het pakket van de app met versiebeheer is beschikbaar op de pagina Versieslijst .
- Meld u aan bij luis Azure Portal.
- Selecteer de app in de lijst.
- Selecteer Beheren in de navigatiebalk van de app.
- Selecteer Versies in de linkernavigatiebalk.
- Schakel het selectievakje links van de versienaam in de lijst in.
- Selecteer het item Exporteren op de contextuele werkbalk boven de lijst.
- Selecteer Exporteren voor container (GZIP).
- Het pakket wordt gedownload vanuit de browser.
Het pakket van de gepubliceerde app exporteren vanuit de API
Gebruik de volgende REST API-methode om een LUIS-app te verpakken die u al hebt gepubliceerd. Vervang uw eigen juiste waarden voor de tijdelijke aanduidingen in de API-aanroep met behulp van de tabel onder de HTTP-specificatie.
GET /luis/api/v2.0/package/{APP_ID}/slot/{SLOT_NAME}/gzip HTTP/1.1
Host: {AZURE_REGION}.api.cognitive.microsoft.com
Ocp-Apim-Subscription-Key: {AUTHORING_KEY}
Tijdelijke aanduiding | Weergegeven als |
---|---|
{APP_ID} | De toepassings-id van de gepubliceerde LUIS-app. |
{SLOT_NAME} | De omgeving van de gepubliceerde LUIS-app. Gebruik een van de volgende waarden:PRODUCTION STAGING |
{AUTHORING_KEY} | De ontwerpsleutel van het LUIS-account voor de gepubliceerde LUIS-app. U kunt uw ontwerpsleutel ophalen op de pagina Gebruikersinstellingen in de LUIS-portal. |
{AZURE_REGION} | De juiste Azure-regio:westus - VS - westwesteurope - Europa - westaustraliaeast - Australië - oost |
Raadpleeg de API-documentatie hier om het gepubliceerde pakket te downloaden. Als het downloaden is gelukt, is het antwoord een LUIS-pakketbestand. Sla het bestand op in de opslaglocatie die is opgegeven voor de invoerkoppeling van de container.
Het pakket van een versieversie van de app exporteren vanuit de API
Gebruik de volgende REST API-methode om een LUIS-toepassing te verpakken die u al hebt getraind. Vervang uw eigen juiste waarden voor de tijdelijke aanduidingen in de API-aanroep met behulp van de tabel onder de HTTP-specificatie.
GET /luis/api/v2.0/package/{APP_ID}/versions/{APP_VERSION}/gzip HTTP/1.1
Host: {AZURE_REGION}.api.cognitive.microsoft.com
Ocp-Apim-Subscription-Key: {AUTHORING_KEY}
Tijdelijke aanduiding | Weergegeven als |
---|---|
{APP_ID} | De toepassings-id van de getrainde LUIS-app. |
{APP_VERSION} | De toepassingsversie van de getrainde LUIS-app. |
{AUTHORING_KEY} | De ontwerpsleutel van het LUIS-account voor de gepubliceerde LUIS-app. U kunt uw ontwerpsleutel ophalen op de pagina Gebruikersinstellingen in de LUIS-portal. |
{AZURE_REGION} | De juiste Azure-regio:westus - VS - westwesteurope - Europa - westaustraliaeast - Australië - oost |
Raadpleeg de API-documentatie hier om het versiepakket te downloaden. Als het downloaden is gelukt, is het antwoord een LUIS-pakketbestand. Sla het bestand op in de opslaglocatie die is opgegeven voor de invoerkoppeling van de container.
De container uitvoeren met docker run
Gebruik de opdracht docker run om de container uit te voeren. Raadpleeg de vereiste parameters voor meer informatie over het ophalen van de {ENDPOINT_URI}
en {API_KEY}
waarden.
Voorbeelden van de docker run
opdracht zijn beschikbaar.
docker run --rm -it -p 5000:5000 ^
--memory 4g ^
--cpus 2 ^
--mount type=bind,src=c:\input,target=/input ^
--mount type=bind,src=c:\output\,target=/output ^
mcr.microsoft.com/azure-cognitive-services/language/luis ^
Eula=accept ^
Billing={ENDPOINT_URI} ^
ApiKey={API_KEY}
- In dit voorbeeld wordt de map van het
C:
station gebruikt om machtigingsconflicten in Windows te voorkomen. Als u een specifieke map als invoermap moet gebruiken, moet u mogelijk de docker-servicemachtiging verlenen. - Wijzig de volgorde van de argumenten alleen als u bekend bent met docker-containers.
- Als u een ander besturingssysteem gebruikt, gebruikt u de juiste console/terminal, de mapsyntaxis voor koppels en het regelvervolgteken voor uw systeem. In deze voorbeelden wordt ervan uitgegaan dat een Windows-console met een regelvervolgteken wordt gebruikt
^
. Omdat de container een Linux-besturingssysteem is, maakt de doelkoppeling gebruik van de syntaxis van een map in Linux-stijl.
Met deze opdracht gebeurt het volgende:
- Voert een container uit vanuit de LUIS-containerinstallatiekopieën
- Hiermee wordt de LUIS-app geladen vanaf invoerkoppeling op C:\input, die zich op de containerhost bevindt
- Wijst twee CPU-kernen en 4 gigabyte (GB) geheugen toe
- Maakt TCP-poort 5000 beschikbaar en wijst een pseudo-TTY toe voor de container
- Slaat container- en LUIS-logboeken op voor uitvoerkoppeling op C:\output, die zich op de containerhost bevindt
- Hiermee wordt de container automatisch verwijderd nadat deze is afgesloten. De containerinstallatiekopie is nog steeds beschikbaar op de hostcomputer.
Er zijn meer voorbeelden van de docker run
opdracht beschikbaar.
Belangrijk
De Eula
, Billing
en ApiKey
opties moeten worden opgegeven om de container uit te voeren. Anders wordt de container niet gestart. Zie Facturering voor meer informatie.
De apiKey-waarde is desleutel van de pagina Azure-resources in de LUIS-portal en is ook beschikbaar op de pagina Azure-resourcesleutelsAzure AI services
.
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.
Eindpunt-API's die worden ondersteund door de container
Zowel V2- als V3-versies van de API zijn beschikbaar voor de container.
Een query uitvoeren op het voorspellingseindpunt van de container
De container bevat op REST gebaseerde eindpunt-API's voor queryvoorspelling. Eindpunten voor gepubliceerde apps (fasering of productie) hebben een andere route dan eindpunten voor geversiede apps.
Gebruik de host, http://localhost:5000
, voor container-API's.
Pakkettype | HTTP-woord | Route | Queryparameters |
---|---|---|---|
Gepubliceerd | GET, POST |
/luis/v3.0/apps/{appId}/slots/{slotName}/predict?
/luis/prediction/v3.0/apps/{appId}/slots/{slotName}/predict?
|
query={query} [ &verbose ][ &log ][ &show-all-intents ] |
Versiebeheer | GET, POST |
/luis/v3.0/apps/{appId}/versions/{versionId}/predict?
/luis/prediction/v3.0/apps/{appId}/versions/{versionId}/predict
|
query={query} [ &verbose ][ &log ][ &show-all-intents ] |
De queryparameters configureren hoe en wat wordt geretourneerd in het queryantwoord:
Queryparameter | Type | Doel |
---|---|---|
query |
tekenreeks | De uiting van de gebruiker. |
verbose |
boolean | Een Booleaanse waarde die aangeeft of alle metagegevens voor de voorspelde modellen moeten worden geretourneerd. Standaard ingesteld op onwaar. |
log |
boolean | Logboekquery's, die later kunnen worden gebruikt voor actief leren. Standaard ingesteld op onwaar. |
show-all-intents |
boolean | Een Booleaanse waarde die aangeeft of alle intenties of de meest scorende intentie alleen moeten worden geretourneerd. Standaard ingesteld op onwaar. |
Query's uitvoeren op de LUIS-app
Een voorbeeld van een CURL-opdracht voor het uitvoeren van query's op de container voor een gepubliceerde app is:
Gebruik de volgende API om een query uit te voeren op een model in een site:
curl -G \
-d verbose=false \
-d log=true \
--data-urlencode "query=turn the lights on" \
"http://localhost:5000/luis/v3.0/apps/{APP_ID}/slots/production/predict"
Als u query's naar de faseringsomgeving wilt maken, vervangt production
u deze in de route door staging
:
http://localhost:5000/luis/v3.0/apps/{APP_ID}/slots/staging/predict
Gebruik de volgende API om een query uit te voeren op een versiemodel:
curl -G \
-d verbose=false \
-d log=false \
--data-urlencode "query=turn the lights on" \
"http://localhost:5000/luis/v3.0/apps/{APP_ID}/versions/{APP_VERSION}/predict"
De eindpuntlogboeken importeren voor actief leren
Als er een uitvoerkoppeling is opgegeven voor de LUIS-container, worden app-querylogboekbestanden opgeslagen in de uitvoermap, waar {INSTANCE_ID}
is de container-id. Het querylogboek van de app bevat de query, reactie en tijdstempels voor elke voorspellingsquery die wordt verzonden naar de LUIS-container.
Op de volgende locatie ziet u de geneste mapstructuur voor de logboekbestanden van de container.
/output/luis/{INSTANCE_ID}/
Selecteer uw app in de LUIS-portal en selecteer vervolgens Eindpuntlogboeken importeren om deze logboeken te uploaden.
Nadat het logboek is geüpload, controleert u de eindpuntuitingen in de LUIS-portal.
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. |
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 Document Intelligence-container.
Tijdelijke aanduiding | Weergegeven als | 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, 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} \
{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 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.
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, drukt u in de opdrachtregelomgeving waarin de container wordt uitgevoerd op Ctrl+C.
Probleemoplossing
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.
Tip
Zie veelgestelde vragen over Azure AI-containers voor meer informatie en richtlijnen voor probleemoplossing.
Als u problemen ondervindt bij het uitvoeren van een Azure AI-servicescontainer, kunt u proberen de diagnostische container van Microsoft te gebruiken. Gebruik deze container om veelvoorkomende fouten in uw implementatieomgeving te diagnosticeren waardoor Azure AI-containers mogelijk niet werken zoals verwacht.
Gebruik de volgende docker pull
opdracht om de container op te halen:
docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic
Voer vervolgens de container uit. Vervang {ENDPOINT_URI}
door uw eindpunt en vervang {API_KEY}
uw sleutel door uw resource:
docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
De container test op netwerkconnectiviteit met het factureringseindpunt.
Billing
De LUIS-container verzendt factureringsgegevens naar Azure met behulp van een Azure AI-servicesresource 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 | Omschrijving |
---|---|
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 werkstroom geleerd voor het downloaden, installeren en uitvoeren van Luis-containers (Language Understanding). Samengevat:
- Language Understanding (LUIS) biedt één Linux-container voor Docker die voorspellingen van eindpuntquery's van utterances biedt.
- Containerinstallatiekopieën worden gedownload vanuit het Microsoft Container Registry (MCR).
- Containerinstallatiekopieën worden uitgevoerd in Docker.
- U kunt REST API gebruiken om een query uit te voeren op de containereindpunten door de host-URI van de container op te geven.
- U moet factureringsgegevens opgeven bij het instantiëren van een container.
Belangrijk
Azure AI-containers worden niet gelicentieerd om te worden uitgevoerd zonder dat ze zijn verbonden 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 de afbeelding of tekst die wordt geanalyseerd) naar Microsoft.
Volgende stappen
- Controleer Containers configureren voor configuratie-instellingen.
- Zie de beperkingen van LUIS-containers voor bekende mogelijkheidsbeperkingen.
- Raadpleeg Probleemoplossing om problemen met betrekking tot LUIS-functionaliteit op te lossen.
- Meer Azure AI-containers gebruiken