Installare ed eseguire contenitori Docker per LUIS

Importante

LUIS verrà ritirato il 1° ottobre 2025 e a partire dal 1° aprile 2023 non sarà possibile creare nuove risorse LUIS. È consigliabile eseguire la migrazione delle applicazioni LUIS alla comprensione del linguaggio conversazionale per trarre vantaggio dal supporto continuo del prodotto e dalle funzionalità multilingue.

Nota

La posizione dell'immagine del contenitore è stata modificata di recente. Leggere questo articolo per visualizzare il percorso aggiornato per questo contenitore.

I contenitori consentono di usare LUIS nel proprio ambiente. I contenitori sono ottimi per requisiti specifici di sicurezza e governance dei dati. Questo articolo illustra come scaricare, installare ed eseguire un contenitore LUIS.

Il contenitore Language Understanding (LUIS) carica il modello di comprensione del linguaggio sottoposto a training o pubblicato. Come app LUIS, il contenitore Docker fornisce l'accesso alle stime delle query dagli endpoint API del contenitore. È possibile raccogliere i log di query dal contenitore e caricarli nell'app Language Understanding per migliorare l'accuratezza delle stime dell'app.

Il video seguente illustra l'uso di questo contenitore.

Container demonstration for Azure AI services

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Prerequisiti

Per eseguire il contenitore LUIS, tenere presente i prerequisiti seguenti:

  • Docker installato in un computer host. Docker deve essere configurato per consentire ai contenitori di connettersi ai dati di fatturazione e inviarli ad Azure.
    • In Windows, è anche necessario configurare Docker per supportare i contenitori Linux.
    • È necessario avere una conoscenza di base dei concetti di Docker.
  • Una risorsa LUIS con il piano tariffario gratuito (F0) o Standard (S).
  • Un'app con training o pubblicata inserita in un pacchetto come input montato nel contenitore con l'ID app associato. È possibile ottenere il file in pacchetto dal portale LUIS o dalle API di creazione. Se si riceve un'app in pacchetto LUIS dalle API di creazione, sarà necessaria anche la chiave di creazione.

Raccogliere i parametri obbligatori

Sono necessari tre parametri principali per tutti i contenitori di Intelligenza artificiale di Azure. Le Condizioni di licenza software Microsoft devono essere presenti con il valore accept. Sono necessari anche un URI endpoint e una chiave API.

URI endpoint

Il {ENDPOINT_URI} valore è disponibile nella pagina panoramica portale di Azure della risorsa dei servizi di intelligenza artificiale di Azure corrispondente. Passare alla pagina Panoramica, passare il puntatore del mouse sull'endpoint e viene visualizzata un'icona Copia negli Appunti. Copiare e usare l'endpoint, se necessario.

Screenshot that shows gathering the endpoint URI for later use.

Chiavi

Il {API_KEY} valore viene usato per avviare il contenitore ed è disponibile nella pagina Chiavi di portale di Azure della risorsa corrispondente dei servizi di intelligenza artificiale di Azure. Passare alla pagina Chiavi e selezionare l'icona Copia negli Appunti.

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

Importante

Queste chiavi di sottoscrizione vengono usate per accedere all'API dei servizi di intelligenza artificiale di Azure. Non condividere le chiavi. Archiviarli in modo sicuro. Ad esempio, usare Azure Key Vault. È anche consigliabile rigenerare regolarmente queste chiavi. Per effettuare una chiamata API è necessaria una sola chiave. Quando si rigenera la prima chiave, è possibile usare la seconda chiave per l'accesso continuo al servizio.

App ID {APP_ID}

Questo ID viene usato per selezionare l'app. È possibile trovare l'ID app nel portale LUIS facendo clic su Gestisci nella parte superiore della schermata per l'app e quindi Impostazioni.

The screen for finding your app ID.

Chiave di creazione {AUTHORING_KEY}

questa chiave viene usata per ottenere il pacchetto dell'app dal servizio LUIS nel cloud e caricare i log di query nel cloud. Se si esporta l'app usando l'API REST, sarà necessaria la chiave di creazione, descritta più avanti nell'articolo.

È possibile ottenere la chiave di creazione dal portale LUIS facendo clic su Gestisci nella parte superiore della schermata per l'app e quindi su Risorse di Azure.

The screen for finding your authoring resource key.

API di creazione per il file del pacchetto

API di creazione per le app in pacchetto:

Computer host

L'host è un computer basato su x64 che esegue il contenitore Docker. Può essere un computer dell'ambiente locale o un servizio di hosting Docker in Azure, tra cui:

Indicazioni e requisiti per i contenitori

Nella tabella seguente sono elencati i valori minimi e consigliati per l'host contenitore. I requisiti possono cambiare a seconda del volume di traffico.

Contenitore Requisiti minimi Requisiti consigliati TPS
(Minimo, Massimo)
LUIS 1 core, 2 GB di memoria 1 core, 4 GB di memoria 20, 40
  • Ogni core deve essere di almeno 2,6 gigahertz (GHz) o superiore.
  • TPS - transazioni al secondo

Core e memoria corrispondono alle impostazioni --cpus e --memory che vengono usate come parte del comando docker run.

Ottenere l'immagine del contenitore con docker pull

L'immagine del contenitore LUIS è disponibile nel sindacato del mcr.microsoft.com registro contenitori. Si trova all'interno del azure-cognitive-services/language repository ed è denominato luis. Il nome completo dell'immagine del contenitore è , mcr.microsoft.com/azure-cognitive-services/language/luis.

Per usare la versione più recente del contenitore, è possibile usare il latest tag . È anche possibile trovare un elenco completo dei tag in MCR.

Usare il comando docker pull per scaricare un'immagine del contenitore dal repository mcr.microsoft.com/azure-cognitive-services/language/luis:

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

Per una descrizione completa dei tag disponibili, ad esempio latest usato nel comando precedente, vedere LUIS nel sito Docker Hub.

Suggerimento

È possibile usare il comando docker images per visualizzare l'elenco delle immagini dei contenitori scaricate. Ad esempio, il comando seguente visualizza l'ID, il repository e il tag di ogni immagine del contenitore scaricata, in formato tabella:

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

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

Come usare il contenitore

Dopo aver aggiunto il contenitore nel computer host, seguire questa procedura per usare il contenitore.

Process for using Language Understanding (LUIS) container

  1. Esportare il pacchetto per il contenitore dal portale di LUIS o tramite le API LUIS.
  2. Spostare il file del pacchetto nella directory di input richiesta nel computer host. Non rinominare, modificare, sovrascrivere o decomprimere il file del pacchetto LUIS.
  3. Eseguire il contenitore, con il punto di montaggio di input e le impostazioni di fatturazione richiesti. Sono disponibili altri esempi del comando docker run.
  4. Eseguire query sull'endpoint di stima del contenitore.
  5. Dopo aver completato le operazioni con il contenitore, importare i log dell'endpoint dal punto di montaggio di output nel portale di LUIS e arrestare il contenitore.
  6. Usare la funzionalità di apprendimento attivo nella pagina Review endpoint utterances (Esamina espressioni endpoint) del portale di LUIS per migliorare l'app.

Non è possibile modificare l'app in esecuzione nel contenitore. Per modificare l'app nel contenitore, è necessario modificare l'app nel servizio LUIS usando il portale LUIS o usare le API di creazione LUIS. Eseguire quindi il training e/o la pubblicazione, scaricare un nuovo pacchetto ed eseguire nuovamente il contenitore.

L'app LUIS all'interno del contenitore non può essere esportata di nuovo nel servizio LUIS. È possibile caricare solo i log di query.

Esportare il pacchetto dell'app da LUIS

Il contenitore LUIS richiede un'app LUIS sottoposta a training o pubblicata per rispondere alle query di stima delle espressioni utente. Per ottenere l'app LUIS, usare l'API del pacchetto pubblicato o sottoposto a training.

La posizione predefinita è la sottodirectory input in relazione alla posizione in cui viene eseguito il comando docker run.

Posizionare il file del pacchetto in una directory e fare riferimento alla directory come punto di montaggio di input quando si esegue il contenitore Docker.

Tipi di pacchetto

La directory di montaggio di input può contenere contemporaneamente i modelli Production, Staging e Versioned dell'app. Tutti i pacchetti vengono montati.

Tipo di pacchetto API endpoint di query Disponibilità query Formato nome file pacchetto
Controllo delle versioni GET, POST Solo contenitore {APP_ID}_v{APP_VERSION}.gz
Staging GET, POST Azure e contenitore {APP_ID}_STAGING.gz
Produzione GET, POST Azure e contenitore {APP_ID}_PRODUCTION.gz

Importante

Non rinominare, modificare, sovrascrivere o decomprimere i file del pacchetto LUIS.

Prerequisiti per la creazione di pacchetti

Prima di creare un pacchetto di un'applicazione LUIS, è necessario quanto segue:

Requisiti di creazione di pacchetti Dettagli
Istanza di risorsa dei servizi di intelligenza artificiale di Azure Le aree supportate includono

Stati Uniti occidentali (westus)
Europa occidentale (westeurope)
Australia orientale (australiaeast)
App LUIS sottoposta a training o pubblicata Senza dipendenze non supportate.
Accesso al file system del computer host Il computer host deve consentire un punto di montaggio di input.

Esportare il pacchetto dell'app dal portale di LUIS

Il portale di LUIS consente di esportare il pacchetto dell'app sottoposta a training o pubblicata.

Esportare il pacchetto dell'app pubblicata dal portale di LUIS

Il pacchetto dell'app pubblicata è disponibile nella pagina di elenco My Apps (App personali).

  1. Accedere al portale di LUIS.
  2. Selezionare la casella di controllo a sinistra del nome dell'app nell'elenco.
  3. Scegliere la voce Export (Esporta) sulla barra degli strumenti contestuale sopra l'elenco.
  4. Selezionare Export for container (GZIP) (Esporta per contenitore - GZIP).
  5. Selezionare Production slot (Slot di produzione) o Staging slot (Slot di staging) come ambiente.
  6. Il pacchetto viene scaricato dal browser.

Export the published package for the container from the App page's Export menu

Esportare il pacchetto dell'app con versione dal portale LUIS

Il pacchetto dell'app con versione è disponibile nella pagina elenco Versioni .

  1. Accedere al portale di LUIS.
  2. Selezionare l'app nell'elenco.
  3. Selezionare Manage (Gestisci) sulla barra di spostamento dell'app.
  4. Selezionare Versions (Versioni) sulla barra di spostamento a sinistra.
  5. Selezionare la casella di controllo a sinistra del nome della versione nell'elenco.
  6. Scegliere la voce Export (Esporta) sulla barra degli strumenti contestuale sopra l'elenco.
  7. Selezionare Export for container (GZIP) (Esporta per contenitore - GZIP).
  8. Il pacchetto viene scaricato dal browser.

Export the trained package for the container from the Versions page's Export menu

Esportare il pacchetto dell'app pubblicata dall'API

Usare il metodo dell'API REST seguente per creare il pacchetto di un'app LUIS già pubblicata. Sostituire i segnaposto con i valori appropriati nella chiamata API, facendo riferimento alla tabella riportata sotto la specifica HTTP.

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}
Segnaposto Valore
{APP_ID} ID applicazione dell'app LUIS pubblicata.
{SLOT_NAME} Ambiente dell'app LUIS pubblicata. Utilizzare uno dei valori seguenti:
PRODUCTION
STAGING
{AUTHORING_KEY} Chiave di creazione dell'account LUIS per l'app LUIS pubblicata.
È possibile ottenere la chiave di creazione nella pagina User Settings (Impostazioni utente) nel portale di LUIS.
{AZURE_REGION} Area di Azure appropriata:

westus - Stati Uniti occidentali
westeurope - Europa occidentale
australiaeast - Australia orientale

Per scaricare il pacchetto pubblicato, vedere la documentazione dell'API qui. Se è stato scaricato correttamente, la risposta è un file di pacchetto LUIS. Salvare il file nella posizione di archiviazione specificata per il punto di montaggio di input del contenitore.

Esportare il pacchetto dell'app con versione dall'API

Usare il metodo dell'API REST seguente per creare il pacchetto di un'applicazione LUIS già sottoposta a training. Sostituire i segnaposto con i valori appropriati nella chiamata API, facendo riferimento alla tabella riportata sotto la specifica HTTP.

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}
Segnaposto Valore
{APP_ID} ID applicazione dell'app LUIS sottoposta a training.
{APP_VERSION} Versione dell'applicazione dell'app LUIS sottoposta a training.
{AUTHORING_KEY} Chiave di creazione dell'account LUIS per l'app LUIS pubblicata.
È possibile ottenere la chiave di creazione nella pagina User Settings (Impostazioni utente) nel portale di LUIS.
{AZURE_REGION} Area di Azure appropriata:

westus - Stati Uniti occidentali
westeurope - Europa occidentale
australiaeast - Australia orientale

Per scaricare il pacchetto con versione, vedere la documentazione dell'API qui. Se è stato scaricato correttamente, la risposta è un file di pacchetto LUIS. Salvare il file nella posizione di archiviazione specificata per il punto di montaggio di input del contenitore.

Eseguire il contenitore con docker run

Usare il comando docker run per eseguire il contenitore. Per informazioni dettagliate su come ottenere i {ENDPOINT_URI} valori e {API_KEY} , vedere raccogliere i parametri obbligatori.

Sono disponibili esempi di docker run comando.

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 questo esempio viene utilizzata la directory all'esterno dell'unità C: per evitare conflitti di autorizzazione in Windows. Se è necessario usare una directory specifica come directory di input, potrebbe essere necessario concedere l'autorizzazione per il servizio Docker.
  • Non modificare l'ordine degli argomenti se non si ha dimestichezza con i contenitori Docker.
  • Se si usa un sistema operativo diverso, usare la console/terminale corretta, la sintassi della cartella per i montaggi e il carattere di continuazione della riga per il sistema. Questi esempi presuppongono una console di Windows con un carattere ^di continuazione di riga. Poiché il contenitore è un sistema operativo Linux, il montaggio di destinazione usa una sintassi di cartella di tipo Linux.

Questo comando:

  • Esegue un contenitore dall'immagine del contenitore LUIS
  • Carica l'app LUIS dal montaggio di input in C:\input, che si trova nell'host contenitore
  • Alloca due core CPU e 4 gigabyte (GB) di memoria
  • Espone la porta TCP 5000 e alloca un pseudo terminale TTY per il contenitore
  • Salva i log di contenitori e LUIS nel montaggio di output in C:\output, che si trova nell'host contenitore
  • Rimuove automaticamente il contenitore dopo la chiusura. L'immagine del contenitore rimane disponibile nel computer host.

Sono disponibili altri esempi del comando docker run.

Importante

È necessario specificare le opzioni Eula, Billing e ApiKey per eseguire il contenitore. In caso contrario, il contenitore non si avvia. Per altre informazioni, vedereFatturazione. Il valore ApiKey è la chiave della pagina Risorse di Azure nel portale LUIS ed è disponibile anche nella pagina Chiavi di risorsa di AzureAzure AI services.

Eseguire più contenitori nello stesso host

Se si intende eseguire più contenitori con porte esposte, assicurarsi di eseguire ogni contenitore con una porta esposta diversa. Eseguire ad esempio il primo contenitore sulla porta 5000 e il secondo sulla porta 5001.

È possibile avere questo contenitore e un contenitore di servizi di intelligenza artificiale di Azure diverso in esecuzione nell'host insieme. È anche possibile avere più contenitori dello stesso contenitore di servizi di intelligenza artificiale di Azure in esecuzione.

API endpoint supportate dal contenitore

Entrambe le versioni V2 e V3 dell'API sono disponibili con il contenitore.

Eseguire una query sull'endpoint di stima del contenitore

Il contenitore fornisce le API dell'endpoint di stima della query basata su REST. Gli endpoint per le app pubblicate (di staging o di produzione) hanno una route diversa rispetto agli endpoint per le app con controllo delle versioni.

Usare l'host http://localhost:5000 per le API del contenitore.

Tipo di pacchetto Verbo HTTP Itinerario Parametri di query
Pubblicazione completata 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]
Controllo delle versioni 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]

I parametri di query specificano la modalità e i contenuti restituiti nella risposta della query:

Query parameter (Parametro di query) Type Scopo
query string Espressione dell'utente.
verbose boolean Valore booleano che indica se restituire tutti i metadati per i modelli stimati. Il valore predefinito è false.
log boolean Registra le query, che successivamente possono essere usate per l'apprendimento attivo. Il valore predefinito è false.
show-all-intents boolean Valore booleano che indica se restituire tutte le finalità o solo la finalità di punteggio superiore. Il valore predefinito è false.

Eseguire query sull'app LUIS

Ecco un esempio di comando CURL per eseguire query sul contenitore per un'app pubblicata:

Per eseguire query su un modello in uno slot, usare l'API seguente:

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"

Per eseguire query nell'ambiente di gestione temporanea , sostituire production nella route con staging:

http://localhost:5000/luis/v3.0/apps/{APP_ID}/slots/staging/predict

Per eseguire query su un modello con controllo delle versioni, usare l'API seguente:

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"

Importare i log dell'endpoint per l'apprendimento attivo

Se viene specificato un montaggio di output per il contenitore LUIS, i file di log delle query dell'app vengono salvati nella directory di output, dove {INSTANCE_ID} è l'ID contenitore. Il log di query dell'app contiene la query, la risposta e i timestamp per ogni query di stima inviata al contenitore LUIS.

Il percorso seguente indica la struttura di directory nidificata per i file di log del contenitore.

/output/luis/{INSTANCE_ID}/

Dal portale di LUIS selezionare l'app, quindi selezionare Import endpoint logs (Importa log endpoint) per caricare i log.

Import container's log files for active learning

Dopo il caricamento del log, esaminare le espressioni dell'endpoint nel portale di LUIS.

Verificare che il contenitore sia in esecuzione

Per verificare se il contenitore è in esecuzione, sono disponibili diverse opzioni. Individuare l'indirizzo IP esterno e la porta esposta del contenitore in questione e aprire il Web browser preferito. Usare i vari URL di richiesta che seguono per verificare che il contenitore sia in esecuzione. Gli URL di richiesta di esempio elencati di seguito sono http://localhost:5000, ma il contenitore specifico può variare. Assicurarsi di basarsi sull'indirizzo IP esterno del contenitore e sulla porta esposta.

Richiesta URL Scopo
http://localhost:5000/ Il contenitore fornisce un home page.
http://localhost:5000/ready Richiesto con GET, questo URL fornisce una verifica che il contenitore sia pronto per accettare una query sul modello. Questa richiesta può essere usata per i probe di attività e di idoneità di Kubernetes.
http://localhost:5000/status Richiesto anche con GET, questo URL verifica se la chiave API usata per avviare il contenitore è valida senza causare una query dell'endpoint. Questa richiesta può essere usata per i probe di attività e di idoneità di Kubernetes.
http://localhost:5000/swagger Il contenitore fornisce un set completo di documentazione per gli endpoint e una funzionalità Prova. Con questa funzionalità, è possibile immettere le impostazioni in un modulo HTML basato sul Web ed eseguire la query senza scrivere codice. Dopo che la query restituisce il risultato, viene fornito un comando CURL di esempio per illustrare il formato richiesto per il corpo e le intestazioni HTTP.

Container's home page

Eseguire il contenitore disconnesso da Internet

Per usare questo contenitore disconnesso da Internet, è prima necessario richiedere l'accesso compilando un'applicazione e acquistando un piano di impegno. Per altre informazioni, vedere Usare contenitori Docker in ambienti disconnessi.

Se è stato approvato per eseguire il contenitore disconnesso da Internet, usare l'esempio seguente che mostra la formattazione del docker run comando che verrà usato con valori segnaposto. Sostituire questi valori segnaposto con i propri valori.

Il DownloadLicense=True parametro nel docker run comando scaricherà un file di licenza che consentirà l'esecuzione del contenitore Docker quando non è connesso a Internet. Contiene anche una data di scadenza, dopo la quale il file di licenza non sarà valido per eseguire il contenitore. È possibile usare un file di licenza solo con il contenitore appropriato per cui si è stati approvati. Ad esempio, non è possibile usare un file di licenza per un contenitore di riconoscimento vocale con un contenitore di Document Intelligence.

Segnaposto Valore Formato o esempio
{IMAGE} Immagine del contenitore da usare. mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{LICENSE_MOUNT} Percorso in cui verrà scaricata la licenza e montata. /host/license:/path/to/license/directory
{ENDPOINT_URI} Endpoint per l'autenticazione della richiesta di servizio. È possibile trovarla nella pagina Chiave ed endpoint della risorsa, nella portale di Azure. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API_KEY} Chiave per la risorsa Analisi del testo. È possibile trovarla nella pagina Chiave ed endpoint della risorsa, nella portale di Azure. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{CONTAINER_LICENSE_DIRECTORY} Percorso della cartella di licenza nel file system locale del contenitore. /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} 

Dopo aver scaricato il file di licenza, è possibile eseguire il contenitore in un ambiente disconnesso. Nell'esempio seguente viene illustrata la formattazione del docker run comando che verrà usato con i valori segnaposto. Sostituire questi valori segnaposto con i propri valori.

Ovunque venga eseguito il contenitore, il file di licenza deve essere montato nel contenitore e il percorso della cartella di licenza nel file system locale del contenitore deve essere specificato con Mounts:License=. È necessario specificare anche un montaggio di output in modo che sia possibile scrivere i record di utilizzo della fatturazione.

Segnaposto Valore Formato o esempio
{IMAGE} Immagine del contenitore da usare. mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{MEMORY_SIZE} Dimensioni appropriate della memoria da allocare per il contenitore. 4g
{NUMBER_CPUS} Numero appropriato di CPU da allocare per il contenitore. 4
{LICENSE_MOUNT} Percorso in cui verrà posizionata e montata la licenza. /host/license:/path/to/license/directory
{OUTPUT_PATH} Percorso di output per la registrazione dei record di utilizzo. /host/output:/path/to/output/directory
{CONTAINER_LICENSE_DIRECTORY} Percorso della cartella di licenza nel file system locale del contenitore. /path/to/license/directory
{CONTAINER_OUTPUT_DIRECTORY} Percorso della cartella di output nel file system locale del contenitore. /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}

Arrestare il contenitore

Per arrestare il contenitore, nell'ambiente della riga di comando in cui è in esecuzione il contenitore premere CTRL+C.

Risoluzione dei problemi

Se si esegue il contenitore con un punto di montaggio di output e la registrazione attivata, il contenitore genera file di log utili per risolvere i problemi che si verificano durante l'avvio o l'esecuzione del contenitore.

Suggerimento

Per altre informazioni sulla risoluzione dei problemi e indicazioni, vedere Domande frequenti sui contenitori di Intelligenza artificiale di Azure.

Se si verificano problemi durante l'esecuzione di un contenitore di servizi di intelligenza artificiale di Azure, è possibile provare a usare il contenitore di diagnostica Microsoft. Usare questo contenitore per diagnosticare gli errori comuni nell'ambiente di distribuzione che potrebbero impedire il funzionamento dei contenitori di Intelligenza artificiale di Azure come previsto.

Per ottenere il contenitore, usare il comando seguente docker pull :

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

Eseguire quindi il contenitore. Sostituire {ENDPOINT_URI} con l'endpoint e sostituire {API_KEY} con la chiave alla risorsa:

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

Il contenitore verificherà la connettività di rete all'endpoint di fatturazione.

Fatturazione

Il contenitore LUIS invia informazioni di fatturazione ad Azure usando una risorsa dei servizi di intelligenza artificiale di Azure nell'account Azure.

Le query al contenitore vengono fatturate al piano tariffario della risorsa di Azure usata per il ApiKey parametro .

I contenitori dei servizi di intelligenza artificiale di Azure non sono concessi in licenza per l'esecuzione senza essere connessi all'endpoint di misurazione o fatturazione. È necessario consentire ai contenitori di comunicare sempre le informazioni di fatturazione all'endpoint di fatturazione. I contenitori dei servizi di intelligenza artificiale di Azure non inviano dati dei clienti, ad esempio l'immagine o il testo da analizzare, a Microsoft.

Connect to Azure

Per eseguire il contenitore, sono necessari i valori dell'argomento di fatturazione. Questi valori consentono al contenitore di connettersi all'endpoint di fatturazione. Il contenitore segnala l'utilizzo ogni 10-15 minuti. Se il contenitore non si connette ad Azure entro la finestra temporale consentita, continuerà a essere eseguito ma non fornirà query finché l'endpoint di fatturazione non verrà ripristinato. Il tentativo di connessione viene effettuato 10 volte nello stesso intervallo di tempo di 10-15 minuti. Se non riesce a connettersi all'endpoint di fatturazione entro i 10 tentativi, il contenitore smette di gestire le richieste. Per un esempio delle informazioni inviate a Microsoft per la fatturazione, vedere domande frequenti sul contenitore dei servizi di intelligenza artificiale di Azure.

Argomenti di fatturazione

Il docker run comando avvierà il contenitore quando vengono fornite tutte e tre le opzioni seguenti con valori validi:

Opzione Descrizione
ApiKey Chiave API della risorsa dei servizi di intelligenza artificiale di Azure usata per tenere traccia delle informazioni di fatturazione.
Il valore di questa opzione deve essere impostato su una chiave API per la risorsa di cui è stato effettuato il provisioning specificata in Billing.
Billing Endpoint della risorsa dei servizi di intelligenza artificiale di Azure usata per tenere traccia delle informazioni di fatturazione.
Il valore di questa opzione deve essere impostato sull'URI dell'endpoint di una risorsa di Azure di cui è stato effettuato il provisioning.
Eula Indica che è la licenza per il contenitore è stata accettata.
Il valore di questa opzione deve essere impostato su accept.

Per altre informazioni su queste opzioni, vedere Configurare i contenitori.

Riepilogo

In questo articolo sono stati descritti i concetti e il flusso di lavoro per scaricare, installare ed eseguire contenitori Language Understanding (LUIS). Riepilogo:

  • LUIS (Language Understanding) offre un contenitore Linux per Docker per le stime di query degli endpoint per le espressioni.
  • Le immagini dei contenitori vengono scaricate da Registro Container Microsoft.
  • Le immagini dei contenitori vengono eseguite in Docker.
  • È possibile usare l'API REST per eseguire query sugli endpoint dei contenitori specificando l'URI dell'host del contenitore.
  • Quando si crea un'istanza di un contenitore, è necessario specificare le informazioni di fatturazione.

Importante

I contenitori di Intelligenza artificiale di Azure non vengono concessi in licenza per l'esecuzione senza essere connessi ad Azure per la misurazione. I clienti devono consentire ai contenitori di comunicare sempre le informazioni di fatturazione al servizio di misurazione. I contenitori di Intelligenza artificiale di Azure non inviano i dati dei clienti (ad esempio, l'immagine o il testo analizzato) a Microsoft.

Passaggi successivi