¿Qué son los contenedores de Azure AI?

Los servicios de Azure AI proporcionan varios contenedores Docker que le permiten utilizar las mismas API que están disponibles en Azure, en el entorno local. El uso de estos contenedores le ofrece la flexibilidad de acercar los servicios de Azure AI a sus datos por motivos de cumplimiento, seguridad u otros motivos operativos. La compatibilidad con contenedores está disponible actualmente para un subconjunto de servicios de Azure AI.

La creación de contenedores es un enfoque de distribución de software en el que una aplicación o servicio, incluidas sus dependencias y la configuración, se empaqueta como una imagen de contenedor. La imagen de contenedor puede implementarse en un host de contenedor con pocas o ningunas modificaciones. Los contenedores están aislados entre sí y del sistema operativo subyacente, con una superficie menor que una máquina virtual. Se pueden crear instancias de contenedores a partir de las imágenes de contenedor para las tareas a corto plazo y quitarlas cuando ya no se necesiten.

Características y ventajas

  • Infraestructura inmutable: permita que los equipos de DevOps aprovechen un conjunto coherente y confiable de parámetros del sistema conocidos, al tiempo que pueden adaptarse a los cambios. Los contenedores proporcionan la flexibilidad para dinamizar dentro de un ecosistema predecible y evitar el desfase de la configuración.
  • Control sobre los datos: elija dónde procesan sus datos los servicios de Azure AI. Esto puede ser esencial si no puede enviar datos a la nube pero necesita acceder a las API de los servicios de Azure AI. Admite la coherencia en entornos híbridos: a través de datos, administración, identidad y seguridad.
  • Control sobre las actualizaciones del modelo: flexibilidad para el control de versiones y la actualización de los modelos implementados en sus soluciones.
  • Arquitectura portátil: habilita la creación de una arquitectura de aplicación portátil que se pueda implementar en Azure, en el entorno local y en la red perimetral. Los contenedores se pueden implementar directamente en Azure Kubernetes Service, Azure Container Instances o en un clúster de Kubernetes implementado en Azure Stack. Para obtener más información, consulte Implementación de Kubernetes en Azure Stack.
  • Alto rendimiento / baja latencia: proporcione a los clientes la capacidad de escalar para requisitos de alto rendimiento y baja latencia permitiendo que los servicios Azure AI se ejecuten físicamente cerca de la lógica y los datos de su aplicación. Los contenedores no limitan las transacciones por segundo (TPS) y se pueden escalar tanto hacia arriba como hacia afuera para manejar la demanda si proporciona los recursos de hardware necesarios.
  • Escalabilidad: Con la popularidad cada vez mayor del software de creación y orquestación de contenedores, como Kubernetes; la escalabilidad está a la vanguardia de los avances tecnológicos. Basado en un clúster escalable, el desarrollo de aplicaciones se encarga de la alta disponibilidad.

Contenedores en los servicios de Azure AI

Los contenedores de Azure AI proporcionan el siguiente conjunto de contenedores Docker, cada uno de los cuales contiene un subconjunto de las funcionalidades de servicios en los servicios de Azure AI. Encontrará instrucciones y las ubicaciones de las imágenes en las tablas siguientes.

Nota

Consulte Instalar y ejecutar contenedores de Document Intelligence para obtener instrucciones y ubicaciones de imágenes de contenedores de Documento de inteligencia de Azure AI.

Contenedores de decisiones

Servicio Contenedor Descripción Disponibilidad
Anomaly Detector Anomaly Detector (imagen) Anomaly Detector API permite supervisar y detectar anomalías en datos de serie temporal con aprendizaje automático. Disponibilidad general

Contenedores de idioma

Servicio Contenedor Descripción Disponibilidad
LUIS LUIS (imagen) Carga un modelo de Language Understanding entrenado o publicado, lo que también se conoce como aplicación de LUIS, en un contenedor de Docker y proporciona acceso a las predicciones de consulta de los puntos de conexión de la API del contenedor. Puede recopilar registros de consultas en el contenedor y cargarlos de nuevo en el portal de LUIS para mejorar la precisión de predicción de la aplicación. Disponible con carácter general.
Este contenedor también se puede ejecutar en entornos sin conexión.
Servicio de lenguaje Extracción de frases clave (imagen) Extrae las frases clave para identificar los puntos principales. Por ejemplo, si el texto de entrada es "La comida estaba deliciosa y el personal era maravilloso", la API devuelve los principales puntos de conversación: "comida" y "personal maravilloso". Disponible con carácter general.
Este contenedor también se puede ejecutar en entornos sin conexión.
Servicio de lenguaje Detección de idioma del texto (imagen) Se detecta el idioma (120 como máximo) en que está escrito el texto de entrada y se usa un código de idioma único para informar acerca de cada documento enviado en la solicitud. El código de idioma se empareja con una puntuación que indica la intensidad de esta. Disponible con carácter general.
Este contenedor también se puede ejecutar en entornos sin conexión.
Servicio de lenguaje Análisis de sentimiento (imagen) Analiza el texto sin formato para obtener pistas sobre opiniones positivas o negativas. Esta versión del análisis de sentimiento devuelve etiquetas de sentimiento (por ejemplo, positivo o negativo) para cada documento y oración que contiene. Disponible con carácter general.
Este contenedor también se puede ejecutar en entornos sin conexión.
Servicio de lenguaje Text Analytics for Health (imagen) Extraiga y etiquete la información médica del texto clínico no estructurado. Disponibilidad general
Servicio de lenguaje Reconocimiento de entidades con nombre (imagen) Extraiga entidades con nombre del texto. Disponible con carácter general.
Este contenedor también se puede ejecutar en entornos sin conexión.
Servicio de lenguaje Reconocimiento de entidades con nombre personalizadas (imagen) Extraiga entidades con nombre del texto mediante un modelo personalizado que cree con los datos. Disponibilidad general
Servicio de lenguaje Resumen (imagen) Resumir texto de varios orígenes. Versión preliminar pública.
Este contenedor también se puede ejecutar en entornos sin conexión.
Traductor Translator (imagen) Traduzca texto a varios idiomas y dialectos. Disponible con carácter general. Activado - Solicitar acceso.
Este contenedor también se puede ejecutar en entornos sin conexión.

Contenedores de Speech

Servicio Contenedor Descripción Disponibilidad
Speech Service API Conversión de voz en texto (imagen) Permite transcribir en tiempo real voz en texto. Disponible con carácter general.
Este contenedor también se puede ejecutar en entornos sin conexión.
Speech Service API Conversión de voz en texto personalizada (imagen) Permite transcribir en tiempo real voz en texto mediante un modelo personalizado. Disponibilidad general
Este contenedor también se puede ejecutar en entornos sin conexión.
Speech Service API Texto a voz neuronal (imagen) Convierte texto en voz con un sonido natural utilizando una tecnología de red neuronal profunda, lo que permite obtener una voz sintetizada más natural. Disponible con carácter general.
Este contenedor también se puede ejecutar en entornos sin conexión.
Speech Service API Identificación del idioma de la voz (imagen) Determina el idioma del audio hablado. Vista previa

Contenedores de Vision

Servicio Contenedor Descripción Disponibilidad
Visión de Azure AI Lectura de OCR (imagen) El contenedor Read OCR permite extraer texto impreso y manuscrito de imágenes y documentos con compatibilidad con los formatos de archivo JPEG, PNG, BMP, PDF y TIFF. Para obtener más información, consulte la documentación de la API Read. Disponible con carácter general.
Este contenedor también se puede ejecutar en entornos sin conexión.
Análisis espacial Análisis espacial (imagen) Analiza vídeo en streaming en tiempo real para comprender las relaciones espaciales entre los usuarios, su movimiento y las interacciones con objetos de los entornos físicos. Vista previa

Además, algunos contenedores son compatibles con la oferta de servicios de Azure AI recursos multiservicio. Puede crear un único recurso todo en uno de servicios de Azure AI y usar la misma clave de facturación en los servicios compatibles para los siguientes servicios:

  • Visión de Azure AI
  • LUIS
  • Servicio de lenguaje

Requisitos previos

Debe cumplir los siguientes requisitos previos para poder utilizar los contenedores de Azure AI:

Motor de Docker: debe tener el motor de Docker instalado localmente. Docker proporciona paquetes que configuran el entorno de Docker en macOS, Linux y Windows. En Windows, Docker debe configurarse para admitir los contenedores de Linux. Los contenedores de Docker también se pueden implementar directamente en Azure Kubernetes Service o Azure Container Instances.

Docker debe configurarse para permitir que los contenedores se conecten con Azure y envíen datos de facturación a dicho servicio.

Familiaridad con Microsoft Container Registry y Docker: debe tener un conocimiento básico de los conceptos de Microsoft Container Registry y Docker, como los registros, los repositorios, los contenedores y las imágenes de contenedor, así como de los comandos docker básicos.

Para conocer los principios básicos de Docker y de los contenedores, consulte Introducción a Docker.

Los contenedores individuales también pueden tener sus propios requisitos, incluidos los requisitos de asignación de memoria y servidor.

Seguridad del contenedor de servicios Azure AI

La seguridad debe ser parte central al desarrollar aplicaciones. La importancia de la seguridad es una métrica del éxito. Cuando esté diseñando una solución de software que incluya contenedores de Azure AI, es esencial que comprenda las limitaciones y capacidades que tiene a su disposición. Para más información sobre la seguridad de la red, consulte Configurar redes virtuales de servicios Azure AI.

Importante

De manera predeterminada, no hay seguridad en la API del contenedor de servicios Azure AI. Esto es así porque la mayoría de las veces el contenedor se ejecuta como parte de un pod que está protegido desde fuera por un puente de red. Sin embargo, es posible que los usuarios creen su propia infraestructura de autenticación para aproximarse a los métodos de autenticación utilizados al acceder a los servicios de Azure AI basados en la nube.

En el diagrama siguiente se muestra el enfoque predeterminado, que no es seguro:

Container security

Como ejemplo de un enfoque alternativo y seguro, los consumidores de contenedores de Azure AI podrían aumentar un contenedor con un componente frontal, manteniendo privado el punto de conexión del contenedor. Veamos un escenario en el que usamos Istio como puerta de enlace de entrada. Istio admite HTTPS/TLS y la autenticación con certificado de cliente. En este escenario, el front-end de Istio expone el acceso del contenedor, y presenta de antemano el certificado de cliente que está aprobado con Istio.

Nginx es otra opción popular de la misma categoría. Tanto Istio como Nginx actúan como malla de servicio y ofrecen características adicionales, como equilibrio de carga, enrutamiento y control de velocidad.

Redes de contenedores

Los contenedores de Azure AI deben enviar información de medición a efectos de facturación. Si no se permite agregar a la lista de permitidos los diversos canales de red de los que dependen los contenedores de Azure AI, esto impedirá el funcionamiento del contenedor.

Lista de dominios y puertos permitidos de los servicios Azure AI

El host debe permitir que el puerto 443 y los siguientes dominios aparezcan:

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

Deshabilitación de la inspección profunda de paquetes

Inspección profunda de paquetes (DPI) es un tipo de procesamiento de datos que inspecciona detalladamente los datos enviados a través de una red de equipos y, por lo general, realiza un bloqueo, reenrutamiento o registro, la acción que corresponda.

Deshabilite la DPI en los canales seguros que los contenedores de Azure AI crean para los servidores de Microsoft. Si no lo hace, el contenedor no funcionará correctamente.

Ejemplos para desarrolladores

Hay ejemplos para desarrolladores disponibles en nuestro repositorio de GitHub.

Pasos siguientes

Conozca las recetas de contenedores que puede utilizar con los servicios Azure AI.

Instalar y explorar la funcionalidad proporcionada por los contenedores en los servicios de Azure AI: