Condividi tramite


Installare ed eseguire contenitori di Riconoscimento entità denominata personalizzata

I contenitori consentono di ospitare l'API di Riconoscimento entità denominata personalizzata nella propria infrastruttura usando il proprio modello sottoposto a training. I contenitori possono essere un’opzione valida in caso di requisiti di sicurezza o governance dei dati che non possono essere soddisfatti richiamando Riconoscimento entità denominata personalizzata in remoto.

Nota

Prerequisiti

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 dell’endpoint e una chiave API.

URI endpoint

Il valore {ENDPOINT_URI} è disponibile nella pagina Panoramica del portale di Azure della risorsa di Servizi di Azure AI 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 se necessario.

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

Chiavi

Il valore {API_KEY} viene usato per avviare il contenitore ed è disponibile nella pagina Chiavi del portale di Azure della risorsa di Servizi di Azure AI corrispondente. 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. È anche consigliabile 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.

Requisiti e consigli per i computer host

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

Nella tabella seguente vengono descritte le specifiche minime e consigliate per i contenitori di Riconoscimento entità denominata personalizzata. Ogni core CPU deve essere almeno 2,6 gigahertz (GHz). Sono elencate anche le transazioni al secondo (TPS) consentite.

Specifiche host minime Specifiche host consigliate TPS minimo TPS massimo
Riconoscimento entità denominata personalizzata 1 core, 2 GB di memoria 1 core, 4 GB di memoria 15 30

La core CPU e la memoria corrispondono alle impostazioni --cpus e --memory, che vengono usate come parte del comando docker run.

Esportare il modello di Riconoscimento entità denominata personalizzata

Prima di eseguire l’immagine Docker, è necessario esportare il proprio modello sottoposto a training per esporlo al contenitore. Usare il comando seguente per estrarre il modello e sostituire i segnaposto seguenti con i propri valori:

Segnaposto Valore Formato o esempio
{API_KEY} Chiave per la risorsa Riconoscimento entità denominata personalizzata. È disponibile nella pagina Chiave ed endpoint della risorsa nel portale di Azure. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{ENDPOINT_URI} Endpoint per l'accesso all'API di Riconoscimento entità denominata personalizzata. È disponibile nella pagina Chiave ed endpoint della risorsa nel portale di Azure. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT_NAME} Nome del progetto contenente il modello da esportare. È disponibile nella scheda dei progetti nel portale di Language Studio. myProject
{TRAINED_MODEL_NAME} Nome del modello sottoposto a training da esportare. I modelli sottoposti a training sono disponibili nella scheda di valutazione del modello nel progetto, nel portale di Language Studio. myTrainedModel
curl --location --request PUT '{ENDPOINT_URI}/language/authoring/analyze-text/projects/{PROJECT_NAME}/exported-models/{TRAINED_MODEL_NAME}?api-version=2023-04-15-preview' \
--header 'Ocp-Apim-Subscription-Key: {API_KEY}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "TrainedmodelLabel": "{TRAINED_MODEL_NAME}"
}'

Ottenere l'immagine del contenitore con docker pull

L'immagine del contenitore di Riconoscimento entità denominata personalizzata è disponibile nel syndicate del registro contenitori mcr.microsoft.com. Si trova all'interno del repository azure-cognitive-services/textanalytics/ ed è denominata customner. Il nome completo dell'immagine del contenitore è mcr.microsoft.com/azure-cognitive-services/textanalytics/customner.

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 Registro Container di Microsoft.

docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/customner:latest

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>

Eseguire il contenitore con docker run

Quando il contenitore si trova nel computer host, usare il comando esecuzione Docker per eseguire i contenitori. Il contenitore continuerà a essere eseguito fino a quando non viene arrestato.

Importante

  • I comandi di Docker nelle sezioni seguenti usano la barra rovesciata, \, come carattere di continuazione di riga. Sostituirla o rimuoverla in base ai requisiti del sistema operativo host.
  • È necessario specificare le opzioni Eula, Billing e ApiKey per eseguire il contenitore. In caso contrario, il contenitore non si avvia. Per altre informazioni, vedereFatturazione.

Per eseguire il contenitore di Riconoscimento entità denominata personalizzata, eseguire il comando docker run indicato di seguito. Sostituire i segnaposto seguenti con i propri valori:

Segnaposto Valore Formato o esempio
{API_KEY} Chiave per la risorsa Riconoscimento entità denominata personalizzata. È disponibile nella pagina Chiave ed endpoint della risorsa nel portale di Azure. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{ENDPOINT_URI} Endpoint per l'accesso all'API di Riconoscimento entità denominata personalizzata. È disponibile nella pagina Chiave ed endpoint della risorsa nel portale di Azure. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT_NAME} Nome del progetto contenente il modello da esportare. È disponibile nella scheda dei progetti nel portale di Language Studio. myProject
{LOCAL_PATH} Percorso in cui verrà scaricato il modello esportato nel passaggio precedente. È possibile scegliere qualsiasi percorso desiderato. C:/custom-ner-model
{TRAINED_MODEL_NAME} Nome del modello sottoposto a training da esportare. I modelli sottoposti a training sono disponibili nella scheda di valutazione del modello nel progetto, nel portale di Language Studio. myTrainedModel
docker run --rm -it -p5000:5000  --memory 4g --cpus 1 \
-v {LOCAL_PATH}:/modelPath \
mcr.microsoft.com/azure-cognitive-services/textanalytics/customner:latest \
EULA=accept \
BILLING={ENDPOINT_URI} \
APIKEY={API_KEY} \
projectName={PROJECT_NAME}
exportedModelName={TRAINED_MODEL_NAME}

Questo comando:

  • Esegue un contenitore di Riconoscimento entità denominata personalizzata e scarica il modello esportato nel percorso locale specificato.
  • Alloca un core CPU e 4 GB di memoria
  • Espone la porta TCP 5000 e alloca un pseudo terminale TTY per il contenitore
  • Rimuove automaticamente il contenitore dopo la chiusura. L'immagine del contenitore rimane disponibile nel computer host.

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 eseguire questo contenitore e un contenitore di Servizi di Azure AI diverso contemporaneamente sull'HOST. È anche possibile eseguire più contenitori dello stesso contenitore di Servizi di Azure AI.

Eseguire una query sull'endpoint di stima del contenitore

Il contenitore fornisce le API dell'endpoint di stima della query basata su REST.

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

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 di scelta. Usare i vari URL di richiesta seguenti per verificare che il contenitore sia in esecuzione. Gli URL di richiesta di esempio elencati di seguito sono http://localhost:5000, ma il proprio contenitore specifico potrebbe variare. Assicurarsi di usare l'indirizzo IP esterno e la porta esposta del 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 sia valida senza che sia necessaria 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

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 per indicazioni, vedere Domande frequenti sui contenitori di Azure per intelligenza artificiale.

Fatturazione

I contenitori di Riconoscimento entità denominata personalizzata inviano informazioni di fatturazione ad Azure usando una risorsa di Riconoscimento entità denominata personalizzata nell'account di Azure.

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

I contenitori di Servizi di Azure AI non possiedono la licenza per l'esecuzione senza connessione all'endpoint di misurazione o fatturazione. È necessario consentire ai contenitori di comunicare sempre le informazioni di fatturazione all'endpoint di fatturazione. I contenitori di Servizi di Azure AI non inviano a Microsoft i dati dei clienti, ad esempio l'immagine o il testo analizzato.

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 dopo 10 tentativi, il contenitore non potrà più gestire le richieste. Per un esempio di informazioni inviate a Microsoft per la fatturazione, vedere le Domande frequenti sui contenitori di Servizi di Azure AI.

Argomenti di fatturazione

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

Opzione Descrizione
ApiKey Chiave API della risorsa di Servizi di Azure AI 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 di Servizi di Azure AI 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.

Riepilogo

In questo articolo sono stati illustrati i concetti e il flusso di lavoro per il download, l'installazione e l'esecuzione di contenitori di Riconoscimento entità denominata personalizzata. Riepilogo:

  • Riconoscimento entità denominata personalizzata fornisce contenitori Linux per Docker.
  • Le immagini dei contenitori vengono scaricate da Registro Container Microsoft.
  • Le immagini dei contenitori vengono eseguite in Docker.
  • È possibile usare l'API REST o l'SDK per chiamare le operazioni nei contenitori di Riconoscimento entità denominata personalizzata 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 Azure per intelligenza artificiale non sono 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 Azure per intelligenza artificiale non inviano dati dei clienti (ad esempio il testo analizzato) a Microsoft.

Passaggi successivi