Che cosa sono i contenitori di Intelligenza artificiale di Azure?

I servizi di intelligenza artificiale di Azure offrono diversi contenitori Docker che consentono di usare le stesse API disponibili in Azure, in locale. L'uso di questi contenitori offre la flessibilità necessaria per avvicinare i servizi di intelligenza artificiale di Azure ai dati per motivi di conformità, sicurezza o altri motivi operativi. Il supporto dei contenitori è attualmente disponibile per un subset di servizi di intelligenza artificiale di Azure.

La containerizzazione è un approccio alla distribuzione del software in cui un'applicazione o un servizio, incluse le relative dipendenze e configurazione, viene compresso come immagine del contenitore. L'immagine del contenitore può essere distribuita in un host contenitore senza alcuna variazione o con modifiche minime. I contenitori sono isolati fra loro e dal sistema operativo sottostante, con un footprint inferiore a quello di una macchina virtuale. È possibile creare istanze dei contenitori dalle immagini per attività a breve termine. Tali istanze possono essere rimosse quando non sono più necessarie.

Funzionalità e vantaggi

  • Infrastruttura non modificabile: consentire ai team devOps di sfruttare un set coerente e affidabile di parametri di sistema noti, pur essendo in grado di adattarsi al cambiamento. I contenitori offrono la flessibilità necessaria per eseguire il pivot all'interno di un ecosistema prevedibile ed evitare la deriva della configurazione.
  • Controllare i dati: scegliere dove vengono elaborati i dati dai servizi di intelligenza artificiale di Azure. Questo può essere essenziale se non è possibile inviare dati al cloud, ma è necessario accedere alle API dei servizi di intelligenza artificiale di Azure. È supportata la coerenza in ambienti ibridi, tra i dati e le funzionalità di gestione, identità e sicurezza.
  • Controllare gli aggiornamenti dei modelli: flessibilità nel controllo delle versioni e nell'aggiornamento dei modelli distribuiti nelle soluzioni.
  • Architettura portabile: consente la creazione di un'architettura di applicazioni portabile che può essere distribuita in Azure, in locale e perimetrale. I contenitori possono essere distribuiti direttamente nel servizio Azure Kubernetes, in Istanze di Azure Container o in un cluster Kubernetes distribuito in Azure Stack. Per altre informazioni, vedere Deploy Kubernetes to Azure Stack (Distribuire Kubernetes in Azure Stack).
  • Velocità effettiva elevata/bassa latenza: offrire ai clienti la possibilità di ridimensionare i requisiti di velocità effettiva elevata e bassa latenza consentendo ai servizi di Intelligenza artificiale di Azure di eseguire fisicamente vicino alla logica e ai dati dell'applicazione. I contenitori non prevedono il limite di transazioni al secondo (TPS) e possono essere effettuate per aumentare e ridurre la domanda se si forniscono le risorse hardware necessarie.
  • Scalabilità: con la crescente popolarità del software di orchestrazione dei contenitori, ad esempio Kubernetes, la scalabilità è all'avanguardia dei progressi tecnologici. Basandosi su una base di cluster scalabile, lo sviluppo di applicazioni è adatto alla disponibilità elevata.

Contenitori nei servizi di intelligenza artificiale di Azure

I contenitori di Intelligenza artificiale di Azure forniscono il set seguente di contenitori Docker, ognuno dei quali contiene un subset di funzionalità dei servizi nei servizi di Intelligenza artificiale di Azure. Le istruzioni e i percorsi delle immagini sono disponibili nelle tabelle seguenti.

Nota

Vedere Installare ed eseguire contenitori di Document Intelligence per contenitori di Intelligence per intelligenza artificiale di Azure e percorsi di immagine.

Contenitori delle decisioni

Service Contenitore Descrizione Disponibilità
Rilevamento anomalie Rilevamento anomalie (immagine) L'API Rilevamento anomalie permette di monitorare e rilevare le anomalie nei dati di serie temporali con l'apprendimento automatico. Generalmente disponibile

Contenitori per la lingua

Service Contenitore Descrizione Disponibilità
LUIS LUIS (immagine) Carica un modello Language Understanding sottoposto a training o pubblicato, noto anche come app LUIS, in un contenitore Docker e fornisce l'accesso alle stime di query dagli endpoint dell'API del contenitore. È possibile raccogliere i log di query dal contenitore e caricarli nel portale LUIS per migliorare l'accuratezza delle stime dell'app. Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
Servizio linguistico Estrazione frasi chiave (immagine) Estrae le frasi chiave per identificare i punti principali. Ad esempio, per il testo di input "Il cibo era delizioso e il personale era meraviglioso", l'API restituisce i punti rilevanti del discorso, ovvero "cibo" e "personale meraviglioso". Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
Servizio linguistico Rilevamento lingua testo (immagine) Per un massimo di 120 lingue, rileva la lingua in cui è scritto il testo di input e crea un report relativo a un codice lingua singolo per ogni documento inviato nella richiesta. Il codice lingua è associato a un punteggio che indica il livello di attendibilità. Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
Servizio linguistico Analisi del sentiment (immagine) Analizza testo non elaborato per indicazioni su una valutazione positiva o negativa. Questa versione dell'analisi del sentiment restituisce etichette del sentiment (ad esempio positive o negative) per ogni documento e frase al suo interno. Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
Servizio linguistico Analisi del testo per l'integrità (immagine) Estrarre ed etichettare informazioni mediche da testo clinico non strutturato. Generalmente disponibile
Servizio linguistico Riconoscimento di entità denominate (immagine) Estrarre entità denominate dal testo. Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
Servizio linguistico Riconoscimento personalizzato di entità denominate (immagine) Estrarre entità denominate dal testo usando un modello personalizzato creato usando i dati. Generalmente disponibile
Servizio linguistico Riepilogo (immagine) Riepilogare il testo da varie origini. Anteprima pubblica.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
Translator Traduttore (immagine) Tradurre il testo in diverse lingue e dialetti. Disponibile a livello generale. Gated: richiedere l'accesso.
Questo contenitore può essere eseguito anche in ambienti disconnessi.

Contenitori per la voce

Service Contenitore Descrizione Disponibilità
API servizio Voce Riconoscimento vocale (immagine) Esegue la trascrizione del parlato continuo in tempo reale in testo. Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
API servizio Voce Riconoscimento vocale personalizzato (immagine) Trascrive il riconoscimento vocale in tempo reale continuo in testo usando un modello personalizzato. Disponibile a livello generale
Questo contenitore può essere eseguito anche in ambienti disconnessi.
API servizio Voce Sintesi vocale neurale (immagine) Converte il testo in sintesi vocale naturale usando una tecnologia di rete neurale profonda, consentendo una sintesi vocale più naturale. Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
API servizio Voce Identificazione della lingua vocale (immagine) Determina la lingua dell'audio parlato. Anteprima

Contenitori per la visione

Service Contenitore Descrizione Disponibilità
Visione di Azure AI Leggere OCR (immagine) Il contenitore Read OCR consente di estrarre testo stampato e scritto a mano da immagini e documenti con supporto per i formati di file JPEG, PNG, BMP, PDF e TIFF. Per altre informazioni, vedere la documentazione dell'API Di lettura. Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
Analisi spaziale Analisi spaziale (immagine) Analizza il video in streaming in tempo reale per comprendere le relazioni spaziali tra le persone, il loro movimento e le interazioni con gli oggetti in ambienti fisici. Anteprima

Inoltre, alcuni contenitori sono supportati nell'offerta di risorse multiservizio di Servizi di intelligenza artificiale di Azure. È possibile creare una singola risorsa tutti i servizi di intelligenza artificiale di Azure e usare la stessa chiave di fatturazione nei servizi supportati per i servizi seguenti:

  • Visione di Azure AI
  • LUIS
  • Servizio Lingua

Prerequisiti

Prima di usare i contenitori di Intelligenza artificiale di Azure, è necessario soddisfare i prerequisiti seguenti:

Motore Docker: il motore Docker deve essere installato localmente. Docker offre pacchetti per la configurazione dell'ambiente in macOS, Linux e Windows. In Windows Docker deve essere configurato per supportare i contenitori Linux. I contenitori Docker possono anche essere distribuiti direttamente nel servizio Azure Kubernetes o in Istanze di Azure Container.

Docker deve essere configurato per consentire ai contenitori di connettersi ai dati di fatturazione e inviarli ad Azure.

Familiarità con Registro contenitori di Microsoft e Docker: è opportuno avere una conoscenza di base dei concetti relativi a Registro contenitori di Microsoft e Docker, tra cui registri, repository, contenitori e immagini dei contenitori, nonché dei comandi docker di base.

Per una panoramica dei concetti fondamentali relativi a Docker e ai contenitori, vedere Docker overview (Panoramica di Docker).

Singoli contenitori possono prevedere anche requisiti specifici, tra cui quelli relativi a server e allocazione di memoria.

Sicurezza del contenitore dei servizi di intelligenza artificiale di Azure

La sicurezza deve essere un obiettivo principale ogni volta che si sviluppano applicazioni. L'importanza della sicurezza è una metrica per il successo. Quando si progetta una soluzione software che include contenitori di Intelligenza artificiale di Azure, è fondamentale comprendere le limitazioni e le funzionalità disponibili. Per altre informazioni sulla sicurezza di rete, vedere Configurare le reti virtuali dei servizi di intelligenza artificiale di Azure.

Importante

Per impostazione predefinita, non esiste alcuna sicurezza nell'API contenitore dei servizi di intelligenza artificiale di Azure. Il motivo è che spesso il contenitore verrà eseguito come parte di un pod protetto dall'esterno da un bridge di rete. Tuttavia, è possibile che gli utenti costruiscano la propria infrastruttura di autenticazione per approssimare i metodi di autenticazione usati per l'accesso ai servizi di intelligenza artificiale di Azure basati sul cloud.

Il diagramma seguente illustra l'approccio predefinito e non sicuro :

Container security

Come esempio di approccio alternativo e sicuro , i consumer di contenitori di Intelligenza artificiale di Azure potrebbero aumentare un contenitore con un componente anteriore, mantenendo privato l'endpoint del contenitore. Si consideri uno scenario in cui si usa Istio come gateway di ingresso. Istio supporta l'autenticazione HTTPS/TLS e del certificato client. In questo scenario, il front-end Istio espone l'accesso al contenitore, presentando il certificato client approvato in anticipo con Istio.

Nginx è un'altra scelta popolare nella stessa categoria. Sia Istio che Nginx fungono da mesh di servizi e offrono funzionalità aggiuntive, tra cui il bilanciamento del carico, il routing e il controllo della frequenza.

Rete di contenitori

I contenitori di Intelligenza artificiale di Azure sono necessari per inviare informazioni di misurazione a scopo di fatturazione. L'impossibilità di consentire diversi canali di rete su cui si basano i contenitori di Intelligenza artificiale di Azure impedirà il funzionamento del contenitore.

Consenti i domini e le porte dei servizi di intelligenza artificiale di Azure

L'host deve consentire la porta 443 e i domini seguenti:

  • *.cognitive.microsoft.com
  • *.cognitiveservices.azure.com

Disabilitare l'ispezione approfondita dei pacchetti

L'ispezione approfondita dei pacchetti (DPI) è un tipo di elaborazione dei dati che controlla in dettaglio i dati inviati tramite una rete di computer e in genere esegue azioni bloccando, reindirizzando o registrandolo di conseguenza.

Disabilitare dpi nei canali sicuri creati dai contenitori di Intelligenza artificiale di Azure nei server Microsoft. In caso contrario, il contenitore non funzionerà correttamente.

Esempi per gli sviluppatori

Gli esempi per gli sviluppatori sono disponibili nel repository GitHub.

Passaggi successivi

Informazioni sulle ricette dei contenitori che è possibile usare con i servizi di intelligenza artificiale di Azure.

Installare ed esplorare le funzionalità fornite dai contenitori nei servizi di intelligenza artificiale di Azure: