Instalación y ejecución de contenedores de Docker para LUIS

Importante

LUIS se retirará el 1 de octubre de 2025. Además, a partir del 1 de abril de 2023, ya no se podrán crear recursos de este servicio. Se recomienda migrar las aplicaciones de LUIS al reconocimiento del lenguaje conversacional para aprovechar el soporte continuo del producto y las capacidades multilingües.

Nota

La ubicación de la imagen de contenedores ha cambiado recientemente. Lea este artículo para ver la ubicación actualizada de este contenedor.

Los contenedores permiten usar LUIS en su propio entorno. Los contenedores son excelentes para requisitos específicos de control de datos y seguridad. En este artículo, aprenderá a descargar, instalar y ejecutar un contenedor de LUIS.

El contenedor Language Understanding (LUIS) carga el modelo de Language Understanding entrenado o publicado. Como aplicación de LUIS, el contenedor de Docker proporciona acceso a las predicciones de consulta desde los puntos de conexión de API del contenedor. Puede recopilar registros de consultas del contenedor y cargarlos de nuevo en la aplicación de Language Understanding para mejorar la precisión de predicción de la aplicación.

En el siguiente vídeo, se explica cómo se utiliza este contenedor.

Demostración de contenedores para servicios Azure AI

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

Requisitos previos

Para ejecutar el contenedor de LUIS, tenga en cuenta los siguientes requisitos previos:

  • Docker instalado en un equipo host. Docker debe configurarse para permitir que los contenedores se conecten con Azure y envíen datos de facturación a dicho servicio.
    • En Windows, Docker también debe estar configurado de forma que admita los contenedores de Linux.
    • Debe estar familiarizado con los conceptos de Docker.
  • Un recurso de LUIS con el plan de tarifa gratis (F0) o estándar (S).
  • Una aplicación entrenada o publicada, empaquetada como una entrada montada en el contenedor junto con su identificador de aplicación asociado. Puede obtener el archivo empaquetado en el portal de LUIS o las API de creación. Si va a obtener la aplicación empaquetada de LUIS desde las API de creación, también necesitará su clave de creación.

Recopilación de todos los parámetros obligatorios

Se requieren tres parámetros principales para todos los contenedores Azure AI. Los Términos de licencia del software de Microsoft deben estar presentes con el valor Acepto. También se necesitan un URI de punto de conexión y una clave de API.

URI de punto de conexión

El valor de {ENDPOINT_URI} está disponible en la página Información general de Azure Portal del recurso de servicios de Azure AI correspondiente. Vaya a la página Información general, mantenga el puntero sobre el punto de conexión y aparecerá un icono Copiar en el Portapapeles. Copie y use el punto de conexión cuando sea necesario.

Captura de pantalla que muestra la recopilación del URI de punto de conexión para su uso posterior.

Teclas

El valor {API_KEY} se usa para iniciar el contenedor y está disponible en la página Claves de Azure Portal del recurso de servicios de Azure AI correspondiente. Vaya a la página Claves y seleccione el icono Copiar en el Portapapeles.

Captura de pantalla que muestra la obtención de una de las dos claves para su uso posterior.

Importante

Estas claves de suscripción se usan para acceder a la API de servicios de Azure AI. No comparta sus claves. Almacénelas de forma segura. Por ejemplo, use Azure Key Vault. También se recomienda volver a generar estas claves con regularidad. Solo se necesita una clave para realizar una llamada API. Al volver a generar la primera clave, puede usar la segunda para seguir teniendo acceso al servicio.

Identificador de aplicación {APP_ID}

Este identificador se usa para seleccionar la aplicación. Para encontrar el identificador de aplicación en el portal de LUIS, haga clic en Administrar en la parte superior de la pantalla de la aplicación y seleccione Configuración.

Pantalla para buscar el identificador de la aplicación.

Clave de creación {AUTHORING_KEY}

esta clave se usa para obtener la aplicación empaquetada del servicio LUIS en la nube y cargar los registros de consultas en la nube. Necesitará la clave de creación si exporta la aplicación mediante la API REST, como se describe más adelante en el artículo.

Para encontrar la clave de creación en el portal de LUIS, haga clic en Administrar en la parte superior de la pantalla de la aplicación y seleccione Recursos de Azure.

Pantalla para buscar la clave del recurso de creación.

API de creación del archivo de paquete

API de creación de las aplicaciones empaquetadas:

El equipo host

El host es un equipo basado en x64 que ejecuta el contenedor de Docker. Puede ser un equipo del entorno local o un servicio de hospedaje de Docker incluido en Azure, como:

Recomendaciones y requisitos del contenedor

En la tabla siguiente se muestran los valores mínimos y los recomendados para el host de contenedor. Los requisitos pueden variar en función del volumen de tráfico.

Contenedor Mínima Recomendado TPS
(mínimo, máximo)
LUIS 1 núcleo, 2 GB de memoria 1 núcleos, 4 GB de memoria 20, 40
  • Cada núcleo debe ser de 2,6 gigahercios (GHz) como mínimo.
  • TPS: transacciones por segundo

El núcleo y la memoria se corresponden con los valores de --cpus y --memory que se usan como parte del comando docker run.

Obtención de la imagen del contenedor con docker pull

La imagen de contenedor LUIS se puede encontrar en el sindicato de registro de contenedor mcr.microsoft.com. Reside en el repositorio azure-cognitive-services/language y se denomina luis. El nombre completo de la imagen de contenedor es mcr.microsoft.com/azure-cognitive-services/language/luis.

Para usar la versión más reciente del contenedor, puede usar la etiqueta latest. También puede encontrar una lista completa de etiquetas en el MCR.

Utilice el comando docker pull para descargar la imagen de un contenedor del repositorio mcr.microsoft.com/azure-cognitive-services/language/luis:

docker pull mcr.microsoft.com/azure-cognitive-services/language/luis:latest

Para obtener una descripción completa de las etiquetas disponibles, como la etiqueta latest que se utilizó en el comando anterior, consulte LUIS en Docker Hub.

Sugerencia

Puede usar el comando docker images para enumerar las imágenes de contenedor descargadas. Por ejemplo, el comando siguiente muestra el id., el repositorio y la etiqueta de cada imagen de contenedor descargada, con formato de tabla:

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

IMAGE ID         REPOSITORY                TAG
<image-id>       <repository-path/name>    <tag-name>

Uso del contenedor

Una vez que el contenedor esté en el equipo host, utilice el siguiente proceso para trabajar con el contenedor.

Proceso para utilizar el contenedor de Language Understanding (LUIS)

  1. Exporte el paquete del contenedor desde el portal de LUIS o las API de LUIS.
  2. Mueva el archivo del paquete al directorio de entrada correspondiente del equipo host. No debe modificar el archivo del paquete de LUIS, sobrescribirlo, descomprimirlo ni cambiar su nombre.
  3. Ejecute el contenedor con la configuración de facturación y el montaje de entrada. Hay más ejemplos del comando docker run disponibles.
  4. Consulte el punto de conexión de predicción del contenedor.
  5. Cuando haya terminado con el contenedor, importe los registros de punto de conexión desde la salida de montaje en el portal de LUIS y detenga el contenedor.
  6. En el portal de LUIS, utilice el aprendizaje activo de la página sobre la revisión de expresiones de puntos de conexión para mejorar la aplicación.

La aplicación que se ejecuta en el contenedor no se puede modificar. Con el fin de cambiar la aplicación en el contenedor, debe cambiar la aplicación en el servicio LUIS con el portal de LUIS o usar las API de creación de LUIS. Después de realizar el entrenamiento o la publicación, descargue un nuevo paquete y ejecute de nuevo el contenedor.

La aplicación de LUIS que está dentro del contenedor no puede exportarse de nuevo al servicio de LUIS. Solo se pueden cargar los registros de consulta.

Exportación de la aplicación empaquetada desde LUIS

El contenedor de LUIS necesita una aplicación de LUIS que esté entrenada o publicada para responder a consultas de predicción de expresiones de los usuarios. Para obtener la aplicación de LUIS, utilice la API del paquete publicado o entrenado.

La ubicación predeterminada es el subdirectorio input del lugar donde se ejecuta el comando docker run.

Sitúe el archivo del paquete en un directorio y, cuando ejecute el contenedor de Docker, haga referencia a este directorio estableciéndolo como montaje de entrada.

Tipos de paquetes

El directorio de montaje de entrada puede contener los modelos de producción, de ensayo y con versiones de la aplicación al mismo tiempo. Todos los paquetes se montan.

Tipo de paquete API de punto de conexión de consulta Disponibilidad de consultas Formato del nombre de archivo del paquete
Con versiones GET, POST Solo el contenedor {APP_ID}_v{APP_VERSION}.gz
Ensayo GET, POST Azure y el contenedor {APP_ID}_STAGING.gz
Producción GET, POST Azure y el contenedor {APP_ID}_PRODUCTION.gz

Importante

No debe modificar los archivo del paquete de LUIS, descomprimirlos, sobrescribirlos ni cambiar su nombre.

Requisitos previos de empaquetado

Para poder empaquetar una aplicación de LUIS, debe tener lo siguiente:

Requisitos de empaquetado Detalles
Instancia de recursos de servicios de Azure AI Las regiones admitidas son

Oeste de EE. UU. (westus)
Oeste de Europa (westeurope)
Este de Australia (australiaeast)
Aplicación de LUIS entrenada o publicada Sin dependencias no compatibles.
Acceso al sistema de archivos del equipo host El equipo host debe permitir un montaje de entrada.

Exportación del paquete de aplicación desde el portal de LUIS

La instancia de Azure Portal de LUIS brinda la posibilidad de exportar el paquete de la aplicación publicada o entrenada.

Exportación del paquete de la aplicación publicada desde el portal de LUIS

El paquete de la aplicación publicada está disponible en la página My Apps (Mis aplicaciones).

  1. Inicie sesión en la instancia de Azure Portal de LUIS.
  2. Active la casilla situada a la izquierda del nombre de la aplicación de la lista.
  3. Seleccione el elemento Export (Exportar) en la barra de herramientas contextual situada encima de la lista.
  4. Seleccione Export for container (GZIP) [Exportar para contenedor (GZIP)].
  5. Seleccione el entorno Production slot (Espacio de producción) o Staging slot (Espacio de ensayo).
  6. El paquete se descarga desde el explorador.

Exportación del paquete publicado del contenedor desde el menú Export (Exportar) de la página de la aplicación

Exportación del paquete de la aplicación con versiones desde el portal de LUIS

El paquete de la aplicación con versiones está disponible en la página de listas Versions (Versiones).

  1. Inicie sesión en la instancia de Azure Portal de LUIS.
  2. Seleccione la aplicación en la lista.
  3. Seleccione Manage (Administrar) en la barra de navegación de la aplicación.
  4. Seleccione Versions (Versiones) en la barra de navegación de la izquierda.
  5. Active la casilla situada a la izquierda del nombre de la versión de la lista.
  6. Seleccione el elemento Export (Exportar) en la barra de herramientas contextual situada encima de la lista.
  7. Seleccione Export for container (GZIP) [Exportar para contenedor (GZIP)].
  8. El paquete se descarga desde el explorador.

Exportación del paquete entrenado del contenedor desde el menú Export (Exportar) de la página de versiones

Exportación del paquete de la aplicación publicada desde la API

Utilice el siguiente método de la API REST para empaquetar una aplicación de LUIS que ya esté publicada. Utilice sus proprios valores para sustituir los marcadores de posición de la llamada API; para ello, utilice la tabla situada bajo la especificación 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}
Marcador de posición Value
{APP_ID} Identificador de la aplicación de LUIS publicada.
{SLOT_NAME} Entorno de la aplicación de LUIS publicada. Utilice uno de los valores siguientes:
PRODUCTION
STAGING
{AUTHORING_KEY} Clave de creación de la cuenta de LUIS para la aplicación de LUIS publicada.
Puede obtener la clave de creación en la página User Settings (Configuración del usuario) del portal de LUIS.
{AZURE_REGION} Región de Azure que corresponda:

westus: Oeste de EE. UU.
westeurope: Oeste de Europa
australiaeast: Este de Australia

Para descargar el paquete publicado, consulte la documentación de la API aquí. Si se descarga correctamente, la respuesta será un archivo de paquete de LUIS. Guarde el archivo en la ubicación de almacenamiento especificada para el montaje de entrada del contenedor.

Exportación del paquete de la aplicación con versiones desde la API

Utilice el siguiente método de la API REST para empaquetar una aplicación de LUIS que ya esté entrenada. Utilice sus proprios valores para sustituir los marcadores de posición de la llamada API; para ello, utilice la tabla situada bajo la especificación 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}
Marcador de posición Value
{APP_ID} Identificador de la aplicación de LUIS entrenada.
{APP_VERSION} Versión de la aplicación de LUIS entrenada.
{AUTHORING_KEY} Clave de creación de la cuenta de LUIS para la aplicación de LUIS publicada.
Puede obtener la clave de creación en la página User Settings (Configuración del usuario) del portal de LUIS.
{AZURE_REGION} Región de Azure que corresponda:

westus: Oeste de EE. UU.
westeurope: Oeste de Europa
australiaeast: Este de Australia

Para descargar el paquete con versiones, consulte la documentación de la API aquí. Si se descarga correctamente, la respuesta será un archivo de paquete de LUIS. Guarde el archivo en la ubicación de almacenamiento especificada para el montaje de entrada del contenedor.

Ejecute el contenedor con docker run.

Utilice el comando docker run para ejecutar el contenedor. Consulte Recopilación de los parámetros obligatorios para más información sobre cómo obtener los valores de {ENDPOINT_URI} y {API_KEY}.

Hay disponibles ejemplos 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}
  • En este ejemplo se usa el directorio que está en la unidad C: para evitar conflictos con los permisos de Windows. Si necesita usar un directorio específico como directorio de entrada, tal vez tenga que conceder permiso al servicio de Docker.
  • No cambie el orden de los argumentos a menos que esté familiarizado con los contenedores de Docker.
  • Si usa otro sistema operativo, utilice la consola o el terminal, la sintaxis de carpeta de los montajes y el carácter de continuación de línea que sean adecuados para su sistema. En estos ejemplos se supone que se usa una consola de Windows con un carácter de continuación de línea ^. Dado que el contenedor es un sistema operativo Linux, el montaje de destino usa una sintaxis de carpeta basada en Linux.

Este comando:

  • Ejecuta un contenedor desde la imagen de contenedor de LUIS.
  • Carga la aplicación de LUIS desde el montaje de entrada de C:\input, situado en el host del contenedor.
  • Asigna dos núcleos de la CPU y 4 gigabytes (GB) de memoria.
  • Expone el puerto TCP 5000 y asigna un seudo-TTY para el contenedor.
  • Guarda los registros de LUIS y el contenedor en el montaje de salida de C:\output, situado en el host del contenedor.
  • Una vez que se produce la salida, quita automáticamente el contenedor. La imagen del contenedor sigue estando disponible en el equipo host.

Hay más ejemplos del comando docker run disponibles.

Importante

Para poder ejecutar el contenedor, las opciones Eula, Billing y ApiKey deben estar especificadas; de lo contrario, el contenedor no se iniciará. Para obtener más información, vea Facturación. El valor de ApiKey es la clave de la página de Azure Resources del portal de LUIS y también está disponible en la página de claves del recurso Azure AI services de Azure.

Ejecución de varios contenedores en el mismo host

Si tiene pensado ejecutar varios contenedores con puertos expuestos, asegúrese de que ejecuta cada contenedor con un puerto expuesto diferente. Por ejemplo, ejecute el primer contenedor en el puerto 5000 y el segundo en el puerto 5001.

Puede tener este contenedor y un contenedor de servicios de Azure AI diferente en ejecución simultáneamente en el HOST. También puede tener varios contenedores del mismo contenedor de servicios de Azure AI en ejecución.

API de punto de conexión compatibles con el contenedor

Las versiones V2 y V3 de la API están disponibles con el contenedor.

Consulta del punto de conexión de predicción del contenedor

El contenedor proporciona varias API de puntos de conexión de predicción de consultas basadas en REST. Los puntos de conexión de las aplicaciones publicadas (de ensayo o producción) tienen una ruta diferente a la de los puntos de conexión de las aplicaciones con versiones.

Utilice el host, http://localhost:5000, con las API de contenedor.

Tipo de paquete Verbo HTTP Enrutar Parámetros de consulta
Publicado 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]
Con versiones 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]

Los parámetros de consulta determinan cómo y qué se devuelve en la respuesta de la consulta:

Parámetro de consulta Tipo Propósito
query string Expresión del usuario.
verbose boolean Valor booleano que indica si se van a devolver todos los metadatos de los modelos de predicción. El valor predeterminado es False.
log boolean Registra las consultas, lo que puede utilizarse después para el aprendizaje activo. El valor predeterminado es False.
show-all-intents boolean Valor booleano que indica si se devuelven todas las intenciones o solo la intención de puntuación superior. El valor predeterminado es False.

Consulta de la aplicación de LUIS

A continuación, se muestra un ejemplo de un comando CURL para consultar el contenedor de una aplicación publicada:

Para consultar un modelo en un espacio, use la siguiente API:

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"

Para realizar consultas en el entorno de ensayo, reemplace production en la ruta por staging:

http://localhost:5000/luis/v3.0/apps/{APP_ID}/slots/staging/predict

Para consultar un modelo con versiones, use la siguiente API:

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"

Importación de los registros de punto de conexión para el aprendizaje activo

Si se especifica un montaje de salida para el contenedor de LUIS, los archivos de registro de consultas de la aplicación se guardan en el directorio de salida, donde {INSTANCE_ID} es el identificador del contenedor. El registro de consultas de la aplicación contiene la consulta, la respuesta y las marcas de tiempo de cada consulta de predicción enviada al contenedor de LUIS.

En la siguiente ubicación, se muestra la estructura anidada de directorios de los archivos de registro del contenedor.

/output/luis/{INSTANCE_ID}/

En el portal de LUIS, seleccione la aplicación y la opción Import endpoint logs (Importar registros de puntos de conexión) para cargar estos registros.

Importación de los archivos de registro del contenedor para el aprendizaje activo

Después de cargar el registro, revise las expresiones del punto de conexión en el portal de LUIS.

Comprobación de que un contenedor está en ejecución

Hay varias maneras de comprobar que el contenedor está en ejecución. Busque la dirección IP externa y el puerto expuesto del contenedor en cuestión y abra el explorador web que prefiera. Use las distintas direcciones URL de solicitud que se indican a continuación para validar que el contenedor se está ejecutando. Las direcciones URL de solicitud de ejemplo que se enumeran aquí son http://localhost:5000, pero el contenedor específico puede variar. Asegúrese de confiar en la dirección IP externa y el puerto expuesto del contenedor.

URL de la solicitud Propósito
http://localhost:5000/ El contenedor ofrece una página principal.
http://localhost:5000/ready Esta URL, solicitada con GET, proporciona una comprobación de que el contenedor está listo para aceptar una consulta para el modelo. Esta solicitud se puede usar con los sondeos de ejecución y preparación de Kubernetes.
http://localhost:5000/status Esta URL, también solicitada con GET, comprueba si el valor de api-key usado para iniciar el contenedor es válido sin generar una consulta de punto de conexión. Esta solicitud se puede usar con los sondeos de ejecución y preparación de Kubernetes.
http://localhost:5000/swagger El contenedor cuenta con un completo conjunto de documentación sobre los puntos de conexión y una característica de prueba. Esta característica le permite especificar la configuración en un formulario HTML basado en web y realizar la consulta sin necesidad de escribir código. Una vez que la consulta devuelve resultados, se proporciona un ejemplo del comando CURL para mostrar los encabezados HTTP y el formato de cuerpo requeridos.

Página principal del contenedor

Ejecutar el contenedor desconectado de Internet

Para usar este contenedor desconectado de Internet, primero debe solicitar acceso rellenando una solicitud y comprando un plan de compromiso. Consulte Uso de contenedores de Docker en entornos desconectados para más información.

Si ha sido aprobado para ejecutar el contenedor desconectado de Internet, use el ejemplo siguiente que muestra el formato del comando docker run que se va a usar, con valores de marcador de posición. Reemplace estos valores por los suyos.

El parámetro DownloadLicense=True en el comando docker run descargará un archivo de licencia que permitirá que el contenedor de Docker se ejecute sin estar conectado a Internet. También contiene una fecha de expiración, tras la cual el archivo de licencia no será válido para ejecutar el contenedor. Los archivos de licencia solo se pueden con el contenedor adecuado para el que se ha recibido aprobación. Por ejemplo, no se puede usar un archivo de licencia para un contenedor de conversión de voz en texto con un contenedor de Inteligencia de Documentos.

Marcador Value Formato o ejemplo
{IMAGE} Imagen de contenedor que desea usar. mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{LICENSE_MOUNT} Ruta de acceso en que se descargará y montará la licencia. /host/license:/path/to/license/directory
{ENDPOINT_URI} Punto de conexión para autenticar la solicitud de servicio. Puede encontrarla en la página Clave y punto de conexión del recurso en Azure Portal. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API_KEY} Clave del recurso de Text Analytics. Puede encontrarla en la página Clave y punto de conexión del recurso en Azure Portal. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{CONTAINER_LICENSE_DIRECTORY} Ubicación de la carpeta de licencias en el sistema de archivos local del contenedor. /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} 

Una vez descargado el archivo de licencia, el contenedor se puede ejecutar en un entorno desconectado. En el ejemplo siguiente se muestra el formato del comando docker run que se va a usar, con valores de marcador de posición. Reemplace estos valores por los suyos.

Cada vez que se ejecute el contenedor, es preciso montar el archivo de licencia en el contenedor y la ubicación de la carpeta de licencias en el sistema de archivos local del contenedor debe especificarse con Mounts:License=. También se debe especificar un montaje de salida para que se puedan escribir registros de uso de facturación.

Marcador de posición Value Formato o ejemplo
{IMAGE} Imagen de contenedor que desea usar. mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{MEMORY_SIZE} Tamaño adecuado de la memoria que se asignará al contenedor. 4g
{NUMBER_CPUS} Número apropiado de procesadores que se asignan a un contenedor. 4
{LICENSE_MOUNT} Ruta de acceso en la que se encontrará y montará la licencia. /host/license:/path/to/license/directory
{OUTPUT_PATH} Ruta de acceso de salida para registrar los registros de uso. /host/output:/path/to/output/directory
{CONTAINER_LICENSE_DIRECTORY} Ubicación de la carpeta de licencias en el sistema de archivos local del contenedor. /path/to/license/directory
{CONTAINER_OUTPUT_DIRECTORY} Ubicación de la carpeta de salida en el sistema de archivos local del contenedor. /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}

Detención del contenedor

Para apagar el contenedor, en el entorno de la línea de comandos en la que se ejecuta el contenedor, presione Ctrl + C.

Solución de problemas

Si ejecuta el contenedor con un montaje de salida y el registro habilitados, el contenedor genera archivos de registro que resultan útiles para solucionar problemas que se producen al iniciar o ejecutar el contenedor.

Sugerencia

Para obtener más información y guía sobre la solución de problemas, consulte las Preguntas más frecuentes (FAQ) sobre los contenedores Azure AI.

Si tiene problemas al ejecutar un contenedor de servicios de Azure AI, puede intentar usar el contenedor de diagnósticos de Microsoft. Utilice este contenedor para diagnosticar errores comunes en su entorno de implementación que podrían impedir que los contenedores de Azure AI funcionen como se espera.

Para obtener el contenedor, use el comando docker pull siguiente:

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

A continuación, ejecute el contenedor. Reemplace {ENDPOINT_URI} por el punto de conexión y {API_KEY} por la clave del recurso:

docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

El contenedor prueba la conectividad de red con el punto de conexión de facturación.

Facturación

El contenedor de LUIS envía información de facturación a Azure mediante un recurso de servicios de Azure AI de la cuenta de Azure.

Las consultas en el contenedor se facturan con el plan de tarifa del recurso de Azure que se usa para el parámetro ApiKey.

Los contenedores de servicios de Azure AI no tienen licencia para ejecutarse si no están conectados al punto de conexión de medición o facturación. Debe habilitar los contenedores para que comuniquen la información de facturación al punto de conexión de facturación en todo momento. Los contenedores de servicios de Azure AI no envían datos de los clientes (por ejemplo, la imagen o el texto que se está analizando) a Microsoft.

Conexión con Azure

El contenedor necesita que se ejecuten los valores del argumento de facturación. Estos valores permiten al contenedor conectarse al punto de conexión de facturación. El contenedor informa sobre el uso cada 10 a 15 minutos. Si el contenedor no se conecta a Azure en la ventana de tiempo permitida, continuará ejecutándose pero no atenderá las consultas hasta que se restaure el punto de conexión de facturación. Se intenta 10 veces la conexión en el mismo intervalo de tiempo de 10 a 15 minutos. Si no se puede conectar con el punto de conexión de facturación en esos 10 intentos, el contenedor deja de atender solicitudes. Consulte Preguntas más frecuentes acerca de los contenedores de servicios de Azure AI para obtener un ejemplo de la información que se envía a Microsoft para la facturación.

Argumentos de facturación

El comando docker run iniciará el contenedor cuando se especifiquen las tres opciones siguientes con valores válidos:

Opción Descripción
ApiKey La clave de API del recurso de servicios de Azure AI que se usa para realizar un seguimiento de la información de facturación.
El valor de esta opción se debe establecer en una clave de API para el recurso aprovisionado que se especifica en Billing.
Billing El punto de conexión del recurso de servicios de Azure AI que se usa para realizar el seguimiento de la información de facturación.
El valor de esta opción debe establecerse en el URI del punto de conexión de un recurso aprovisionado de Azure.
Eula Indica que ha aceptado la licencia del contenedor.
El valor de esta opción debe establecerse en accept.

Para obtener más información acerca de estas opciones, consulte Configure containers (Configuración de contenedores).

Resumen

En este artículo, ha aprendido algunos conceptos y ha visto el flujo de trabajo de Language Understanding (LUIS) para descargar, instalar y ejecutar contenedores. En resumen:

  • Language Understanding (LUIS) proporciona un contenedor de Linux para Docker que permite hacer predicciones de consultas de puntos de conexión de expresiones.
  • Las imágenes del contenedor se descargan desde Microsoft Container Registry (MCR).
  • Las imágenes de contenedor se ejecutan en Docker.
  • Puede usar la API REST para consultar los puntos de conexión del contenedor especificando el URI que tiene el contenedor en el host.
  • Debe especificar la información de facturación al crear una instancia de un contenedor.

Importante

Los contenedores de Azure AI no tienen licencia para ejecutarse sin estar conectados a Azure para realizar mediciones. Los clientes tienen que habilitar los contenedores para comunicar la información de facturación con el servicio de medición en todo momento. Los contenedores de Azure AI no envían datos de los clientes (por ejemplo, la imagen o el texto que se está analizando) a Microsoft.

Pasos siguientes