¿Qué son los contenedores de Azure Cognitive Services?
Azure Cognitive Services proporciona varios contenedores de Docker que permiten usar las mismas API disponibles en Azure de forma local. El uso de estos contenedores le brinda la flexibilidad de acercar Cognitive Services a sus datos por razones de cumplimiento, seguridad u otras razones operativas. La compatibilidad con los contenedores está disponible actualmente para un subconjunto de servicios de Azure Cognitive Services.
La contenedorización es un enfoque de distribución de software en el que una aplicación o servicio, incluidas sus dependencias & 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 datos: Elija dónde se procesan los datos mediante Cognitive Services. Esto puede ser esencial si no se pueden enviar datos a la nube pero es necesario tener acceso a Cognitive Services APIs. 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 y baja latencia: proporcione a los clientes la capacidad de escalar para los requisitos de alto rendimiento y baja latencia permitiendo que Cognitive Services se ejecute físicamente cerca de sus datos y lógica de 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 Azure Cognitive Services
Los contenedores de Azure Cognitive Services proporcionan el siguiente conjunto de contenedores de Docker, cada uno de los cuales incluye un subconjunto de funcionalidades de servicios de Azure Cognitive Services. Encontrará instrucciones y las ubicaciones de las imágenes en las tablas siguientes.
Nota
Consulte Instalación y ejecución de contenedores del Form Recognizer para las instrucciones del Reconocedor de formularios de los Servicios de IA aplicada y las ubicaciones de las imágenes.
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 personalizadas (imagen) | Extraiga entidades con nombre del texto mediante un modelo personalizado que cree con los datos. | Versión preliminar |
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
Nota
Para usar los contenedores de Voz, debe completar un formulario de solicitud en línea.
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 | Detección de idioma de voz (imagen) | Determina el idioma del audio hablado. | Versión preliminar "validada" |
Contenedores de Vision
Servicio | Contenedor | Descripción | Disponibilidad |
---|---|---|---|
Computer Vision | 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. Activado - Solicitar acceso. 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, se admiten algunos contenedores en la oferta de recurso de varios servicios de Cognitive Services. Puede crear un único recurso todo en uno de Cognitive Services y usar la misma clave de facturación en los servicios compatibles para los siguientes servicios:
- Computer Vision
- LUIS
- Servicio de lenguaje
Prerrequisitos
Debe cumplir los siguientes requisitos previos para poder utilizar contenedores de Azure Cognitive Services:
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.
Protección de los contenedores en Azure Cognitive Services
La seguridad debe ser parte central al desarrollar aplicaciones. La importancia de la seguridad es una métrica del éxito. Al diseñar una solución de software que incluye contenedores de Cognitive Services, es fundamental comprender las limitaciones y las funcionalidades disponibles. Para obtener más información sobre la seguridad de red, consulte Configure Azure Cognitive Services virtual networks (configuración de las redes virtuales de Azure Cognitive Services).
Importante
De forma predeterminada, no hay seguridad en la API de contenedor de Cognitive Services. 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 habilitar la autenticación, que funciona de forma idéntica a la autenticación que se usa al acceder a Cognitive Services en la nube.
En el diagrama siguiente se muestra el enfoque predeterminado, que no es seguro:
Como método alternativo y seguro, los consumidores de contenedores de Cognitive Services podrían aumentar un contenedor con un componente frontal y mantener el punto de conexión del contenedor privado. 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 Cognitive Services son necesarios para enviar información de medición con fines de facturación. Si no se permite la enumeración de varios canales de red en los que se basan los contenedores de Cognitive Services, el contenedor no funcionará.
Permiso para enumerar los dominios y puertos de Cognitive Services
El host debe permitir la enumeración del puerto 443 y de los siguientes dominios:
*.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 que se envían a través de una red de equipos y, por lo general, realiza un bloqueo, reenrutamiento o registro, la acción que corresponda.
Deshabilite DPI en los canales seguros que los contenedores de Cognitive Services crean en 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
Obtenga información sobre las recetas del contenedor que puede usar con Cognitive Services.
Instale y explore la funcionalidad proporcionada por los contenedores en Azure Cognitive Services: