Installare ed eseguire contenitori Docker per LUIS

Importante

LUIS verrà ritirato il 1 ottobre 2025 e a partire dal 1 aprile 2023 non sarà più possibile creare nuove risorse LUIS. Si consiglia di eseguire la migrazione delle applicazioni LUIS a comprensione del linguaggio di conversazione per sfruttare appieno un supporto costante per i prodotti e le funzionalità multilingue.

Nota

La posizione dell'immagine del contenitore è stata cambiata di recente. Leggere questo articolo per visualizzare la posizione aggiornata 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.

Dimostrazione del contenitore per i servizi di intelligenza artificiale di Azure

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.
    • È necessaria una conoscenza basilare 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 necessari

Sono necessari tre parametri principali per tutti i contenitori di Intelligenza artificiale di Azure. Le condizioni di licenza per il software Microsoft devono essere presenti con un valore di accettazione. 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. Accedere alla pagina Panoramica e passare il puntatore del mouse sull'endpoint. Verrà visualizzata un'icona Copia negli Appunti. Copiare e usare l'endpoint ove necessario.

Screenshot che mostra la raccolta dell'URI dell'endpoint per un uso successivo.

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. Accedere alla pagina Chiavi e selezionare l'icona Copia negli Appunti.

Screenshot che mostra come ottenere una delle due chiavi per un uso successivo.

Importante

Queste chiavi di sottoscrizione vengono usate per accedere all'API Servizi di Azure AI. Non condividere le chiavi. Archiviarle in modo sicuro. Usare, ad esempio, Azure Key Vault. È preferibile, inoltre, rigenerare queste chiavi regolarmente. Per effettuare una chiamata API è necessaria una sola chiave. Quando si rigenera la prima chiave, è possibile usare la seconda chiave per mantenere l'accesso 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.

Schermata per trovare l'ID app.

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.

Schermata per trovare la chiave della risorsa di creazione.

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 repository azure-cognitive-services/language ed è denominata 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 tag latest. È anche possibile trovare un elenco completo dei tag nel Registro Container di Microsoft.

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.

Procedura per l'uso del contenitore Language Understanding (LUIS)

  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.

Esportare il pacchetto pubblicato per il contenitore dal menu di esportazione della pagina dell'app

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.

Esportare il pacchetto sottoposto a training per il contenitore dal menu di esportazione della pagina delle versioni

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 i dettagli su come ottenere i valori di {ENDPOINT_URI} e {API_KEY}, vedere Raccogliere i parametri obbligatori.

Sono disponibili esempi del comando docker run.

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 o il terminale, la sintassi della cartella per i montaggi e il carattere di continuazione della riga corretti per il sistema. Questi esempi presuppongono una console di Windows con un carattere di continuazione 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.

Importare i file di log del contenitore per l'apprendimento attivo

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, quindi aprire il Web browser preferito. Usare i vari URL di richiesta seguenti per accertarsi che il contenitore sia in esecuzione. Gli URL di richiesta di esempio elencati qui sono http://localhost:5000, ma il contenitore specifico può variare. Usare l'indirizzo IP esterno e la porta esposta del proprio contenitore.

Richiesta URL Scopo
http://localhost:5000/ Il contenitore fornisce un home page.
http://localhost:5000/ready Questo URL, richiesto con un'operazione GET, 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 Questo URL, anch'esso richiesto con un'operazione GET, verifica se la chiave API usata per avviare il contenitore è valida senza necessità di una query sull'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.

Home page del contenitore

Eseguire il contenitore disconnesso da Internet

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

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

Il parametro DownloadLicense=True nel comando docker run 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 l’esecuzione del contenitore. È possibile usare un file di licenza solo con il contenitore appropriato per cui è stata ricevuta l'approvazione. 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} L’immagine del contenitore da usare. mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{LICENSE_MOUNT} Il percorso in cui verrà scaricata e montata la licenza. /host/license:/path/to/license/directory
{ENDPOINT_URI} L’endpoint per l'autenticazione della richiesta del servizio. È disponibile nella pagina Chiave ed endpoint della risorsa nel portale di Azure. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API_KEY} La chiave per la risorsa Analisi del testo. È disponibile nella pagina Chiave ed endpoint della risorsa nel portale di Azure. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{CONTAINER_LICENSE_DIRECTORY} Posizione della cartella della 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 comando docker run da usare, con 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 la posizione della cartella della licenza nel file system locale del contenitore deve essere specificata con Mounts:License=. È necessario specificare anche un montaggio di output in modo che sia possibile scrivere i record di utilizzo per la fatturazione.

Segnaposto Valore Formato o esempio
{IMAGE} L’immagine del contenitore da usare. mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{MEMORY_SIZE} Le dimensioni appropriate della memoria da allocare per il contenitore. 4g
{NUMBER_CPUS} Il numero appropriato di CPU da allocare per il contenitore. 4
{LICENSE_MOUNT} Il percorso in cui verrà collocata e montata la licenza. /host/license:/path/to/license/directory
{OUTPUT_PATH} Il percorso di output per la registrazione dei record di utilizzo. /host/output:/path/to/output/directory
{CONTAINER_LICENSE_DIRECTORY} Posizione della cartella della licenza nel file system locale del contenitore. /path/to/license/directory
{CONTAINER_OUTPUT_DIRECTORY} La posizione 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 Azure AI, è possibile provare a usare il contenitore per la diagnostica di Microsoft. Usare questo contenitore per diagnosticare gli errori comuni nell'ambiente di distribuzione che potrebbero impedire il funzionamento previsto dei contenitori di Azure per intelligenza artificiale.

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

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

Quindi eseguire il contenitore. Sostituire {ENDPOINT_URI} con l'endpoint e {API_KEY} con la chiave per la 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 sul contenitore vengono fatturate secondo il piano tariffario della risorsa di Azure usata per il parametro ApiKey.

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 è possibile stabilire la connessione con l'endpoint di fatturazione entro 10 tentativi, il contenitore interromperà la gestione delle 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 comando docker run avvierà il contenitore quando verranno forniti valori validi per tutte e tre le opzioni seguenti:

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