Configuración de los contenedores de Docker de Language Understanding
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.
El entorno en tiempo de ejecución del contenedor de Language Understanding (LUIS) se configura mediante los argumentos del comando docker run
. LUIS tiene varias opciones necesarias, junto con algunas opciones de configuración opcionales. Hay disponibles varios ejemplos del comando. La configuración específica del contenedor son la configuración de montaje de entrada y la configuración de facturación.
Parámetros de configuración
Este contenedor tiene las siguientes opciones de configuración:
Obligatorio | Configuración | Propósito |
---|---|---|
Sí | ApiKey | Se usa para realizar un seguimiento de la información de facturación. |
No | ApplicationInsights | Le permite agregar compatibilidad con los datos de telemetría de Azure Application Insights al contenedor. |
Sí | Facturación | Especifica el URI del punto de conexión del recurso de servicio en Azure. |
Sí | Eula | Indica que ha aceptado la licencia del contenedor. |
No | Fluentd | Escribe el registro y, opcionalmente, los datos de métricas en un servidor de Fluentd. |
No | Proxy Http | Configure un proxy HTTP para hacer solicitudes salientes. |
No | Logging | Proporciona compatibilidad con el registro de ASP.NET Core al contenedor. |
Sí | Mounts | Leer y escribir datos desde el equipo host al contenedor y del contenedor al equipo host. |
Importante
Las opciones ApiKey
, Billing
y Eula
se usan en conjunto y debe proporcionar valores válidos para las tres; en caso contrario, no se inicia el contenedor. Para obtener más información sobre el uso de estas opciones de configuración para crear instancias de un contenedor, consulte Facturación.
Opción de configuración ApiKey
La opción de configuración ApiKey
especifica la clave de recurso de Azure usada para realizar un seguimiento de la información de facturación del contenedor. Debe especificar un valor para ApiKey que debe ser una clave válida para el recurso de servicios de Azure AI especificado para la opción de configuración Billing
.
Este valor se puede encontrar en los siguientes lugares:
- Azure Portal: Administración de recursos de servicios de Azure AI, en Claves
- Portal de LUIS: página de configuración de los puntos de conexión y claves
No utilice la clave de inicio ni la clave de creación.
Opción de configuración ApplicationInsights
La opción de configuración ApplicationInsights
le permite agregar compatibilidad con los datos de telemetría de Azure Application Insights al contenedor. Application Insights proporciona una supervisión detallada del contenedor. Puede supervisar fácilmente la disponibilidad, el rendimiento y el uso del contenedor. También puede identificar y diagnosticar errores en el contenedor rápidamente.
En la tabla siguiente se describen las opciones de configuración compatibles en la sección ApplicationInsights
.
Obligatorio | Nombre | Tipo de datos | Descripción |
---|---|---|---|
No | InstrumentationKey |
String | Clave de instrumentación de la instancia de Application Insights para la que se envían los datos de telemetría del contenedor. Para más información, consulte Application Insights para ASP.NET Core. Ejemplo: InstrumentationKey=123456789 |
Opción de configuración Billing
La opción de configuración Billing
especifica el URI del punto de conexión del recurso de servicios de Azure AI que se usa para medir la información de facturación del contenedor. Es necesario especificar un valor para esta opción de configuración, que debe ser un URI de punto de conexión válido para un recurso de servicios de Azure AI en Azure. El contenedor informa sobre el uso cada 10 a 15 minutos.
Este valor se puede encontrar en los siguientes lugares:
- Azure Portal: Información general de servicios de Azure AI, con la etiqueta
Endpoint
- Portal LUIS: la página de configuración de claves y puntos de conexión, como parte del identificador URI del punto de conexión.
Obligatorio | Nombre | Tipo de datos | Descripción |
---|---|---|---|
Sí | Billing |
string | Identificador URI del punto de conexión de facturación. Para más información sobre cómo obtener el identificador URI de facturación, consulte Recopilación de los parámetros necesarios. Para obtener más información y una lista completa de puntos finales regionales, consulte Nombres de subdominios personalizados para los servicios de Azure AI. |
Opción de configuración Eula
La opción de configuración Eula
indica que ha aceptado la licencia del contenedor. Debe especificar un valor para esta opción de configuración y el valor debe establecerse en accept
.
Obligatorio | Nombre | Tipo de datos | Descripción |
---|---|---|---|
Sí | Eula |
String | Aceptación de la licencia Ejemplo: Eula=accept |
Los contenedores de servicios de Azure AI tienen una licencia sujeta al contrato que rige el uso de Azure. Si no tiene ningún contrato que rija el uso de Azure, acepta que el contrato que rige el uso de Azure es el Contrato Microsoft Online Subscription, que incorpora los Términos de Online Services. En el caso de las versiones preliminares, acepta también los Términos de uso complementarios para las versiones preliminares de Microsoft Azure. Al usar el contenedor, acepta estos términos.
Opción de configuración Fluentd
Fluentd es un recopilador de datos de código abierto para el registro unificado. La opción de configuración Fluentd
administra la conexión del contenedor a un servidor de Fluentd. En el contenedor, se incluye un proveedor de registros de Fluentd que permite que el contenedor escriba los registros y, opcionalmente, los datos de métricas en un servidor de Fluentd.
En la tabla siguiente se describen las opciones de configuración compatibles en la sección Fluentd
.
Nombre | Tipo de datos | Descripción |
---|---|---|
Host |
String | Dirección IP o nombre de host DNS del servidor de Fluentd. |
Port |
Entero | Puerto del servidor de Fluentd. El valor predeterminado es 24 224. |
HeartbeatMs |
Entero | Intervalo de latidos (en milisegundos). Si no se envía ningún tráfico de evento antes de que este intervalo expire, se envía un latido al servidor de Fluentd. El valor predeterminado es 60 000 milisegundos (1 minuto). |
SendBufferSize |
Entero | Espacio en búfer de red (en bytes) asignado para las operaciones de envío. El valor predeterminado es 32 768 bytes (32 kilobytes). |
TlsConnectionEstablishmentTimeoutMs |
Entero | Tiempo de expiración (en milisegundos) para establecer una conexión SSL/TLS con el servidor de Fluentd. El valor predeterminado es 10 000 milisegundos (10 segundos). Si UseTLS se establece en false, este valor se ignora. |
UseTLS |
Boolean | Indica si el contenedor debe utilizar SSL/TLS para comunicarse con el servidor de Fluentd. El valor predeterminado es false. |
Configuración de las credenciales del proxy HTTP
Si necesita configurar un proxy HTTP para realizar solicitudes de salida, use estos dos argumentos:
Nombre | Tipo de datos | Descripción |
---|---|---|
HTTP_PROXY | string | El proxy que se va a utilizar, por ejemplo, http://proxy:8888 <proxy-url> |
HTTP_PROXY_CREDS | string | Las credenciales necesarias para autenticarse en el proxy, por ejemplo, username:password . Este valor debe estar en minúsculas. |
<proxy-user> |
string | El usuario del proxy. |
<proxy-password> |
string | La contraseña asociada con <proxy-user> para el proxy. |
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
HTTP_PROXY=<proxy-url> \
HTTP_PROXY_CREDS=<proxy-user>:<proxy-password> \
Opción de configuración Logging
La opción de configuración Logging
administra la compatibilidad con el registro de ASP.NET Core del contenedor. Puede usar los mismos valores y opciones de configuración para el contenedor que los que usa para una aplicación ASP.NET Core.
Los siguientes proveedores de registro son compatibles con el contenedor:
Proveedor | Propósito |
---|---|
Consola | Proveedor de registro de Console de ASP.NET Core. Se admiten todos los valores predeterminados y las opciones de configuración de ASP.NET Core para este proveedor de registro. |
Depurar | Proveedor de registro de Debug de ASP.NET Core. Se admiten todos los valores predeterminados y las opciones de configuración de ASP.NET Core para este proveedor de registro. |
Disco | Proveedor de registro JSON. Este proveedor de registro escribe datos de registro para el montaje de salida. |
Este comando de contenedor almacena información de registro en formato JSON en el montaje de salida:
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Disk:Format=json \
Mounts:Output=/output
Este comando de contenedor muestra información de depuración, con el prefijo dbug
mientras el contenedor se ejecuta:
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Console:LogLevel:Default=Debug
Registro del disco
El proveedor de registro Disk
admite la configuración siguiente:
Nombre | Tipo de datos | Descripción |
---|---|---|
Format |
String | Formato de salida de los archivos de registro. Nota: Este valor debe establecerse en json para habilitar el proveedor de registro. Si se especifica este valor sin especificar también un montaje de salida al crear una instancia de un contenedor, se produce un error. |
MaxFileSize |
Entero | Tamaño máximo en megabytes (MB) de un archivo de registro. Cuando el tamaño del archivo de registro actual cumple este valor o lo supera, el proveedor de registro inicia un nuevo archivo de registro. Si se especifica -1, el tamaño del archivo de registro solo está limitado por el tamaño máximo de archivo, si existe, para el montaje de salida. El valor predeterminado es 1. |
Para obtener más información acerca de cómo configurar la compatibilidad con el registro de ASP.NET Core, consulte Configuración del archivo de configuración.
Configuración de montaje
Utilice montajes de enlace para leer y escribir datos hacia y desde el contenedor. Puede especificar un montaje de entrada o un montaje de salida mediante la opción --mount
del comando docker run.
El contenedor de LUIS no usa los montajes de entrada o salida para almacenar datos de entrenamiento o del servicio.
La sintaxis exacta de la ubicación de montaje del host varía según el sistema operativo del host. Además, la ubicación de montaje del equipo host puede no estar accesible debido a un conflicto entre los permisos que utiliza la cuenta de servicio de Docker y los permisos de la ubicación de montaje del host.
En la tabla siguiente se describen las configuraciones admitidas.
Obligatorio | Nombre | Tipo de datos | Descripción |
---|---|---|---|
Sí | Input |
String | Destino del montaje de entrada. El valor predeterminado es /input . Esta es la ubicación de los archivos de paquete de LUIS. Ejemplo: --mount type=bind,src=c:\input,target=/input |
No | Output |
String | Destino del montaje de salida. El valor predeterminado es /output . Esta es la ubicación de los registros. Incluye los registros de consultas de LUIS y los registros de contenedor. Ejemplo: --mount type=bind,src=c:\output,target=/output |
Comandos de ejemplo de docker run
Los ejemplos siguientes usan las opciones de configuración para ilustrar cómo escribir y usar comandos docker run
. Una vez que se está ejecutando, el contenedor continúa ejecutándose hasta que lo detenga.
- Los ejemplos de
C:
usan el directorio que está en la unidad 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é muy 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.
Reemplace {argument_name} por sus propios valores:
Marcador de posición | Value | Formato o ejemplo |
---|---|---|
{CLAVE_API} | La clave del punto de conexión del recurso LUIS en la página Claves de LUIS de Azure. |
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{URI_PUNTODECONEXIÓN} | El valor del punto de conexión de facturación está disponible en la página Información general de Azure LUIS . |
Consulte Recopilación de los parámetros necesarios para ver ejemplos explícitos. |
Nota
Los nuevos recursos creados después del 1 de julio de 2019 usarán nombres de subdominio personalizados. Para obtener más información y una lista completa de puntos finales regionales, consulte Nombres de subdominios personalizados para los servicios de Azure AI.
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 claves y puntos de conexión del portal de LUIS y también está disponible en la página de claves del recurso de Azure Azure AI services
.
Ejemplo básico
El ejemplo siguiente tiene los argumentos mínimos posibles para ejecutar el contenedor:
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/luis:latest ^
Eula=accept ^
Billing={ENDPOINT_URL} ^
ApiKey={API_KEY}
Ejemplo de ApplicationInsights
El ejemplo siguiente establece el argumento ApplicationInsights para enviar datos de telemetría a Application Insights mientras se está ejecutando el contenedor:
docker run --rm -it -p 5000:5000 --memory 6g --cpus 2 ^
--mount type=bind,src=c:\input,target=/input ^
--mount type=bind,src=c:\output,target=/output ^
mcr.microsoft.com/azure-cognitive-services/luis:latest ^
Eula=accept ^
Billing={ENDPOINT_URL} ^
ApiKey={API_KEY} ^
InstrumentationKey={INSTRUMENTATION_KEY}
Ejemplo de registro
El siguiente comando establece el nivel de registro, Logging:Console:LogLevel
, para configurar el nivel de registro en Information
.
docker run --rm -it -p 5000:5000 --memory 6g --cpus 2 ^
--mount type=bind,src=c:\input,target=/input ^
--mount type=bind,src=c:\output,target=/output ^
mcr.microsoft.com/azure-cognitive-services/luis:latest ^
Eula=accept ^
Billing={ENDPOINT_URL} ^
ApiKey={API_KEY} ^
Logging:Console:LogLevel:Default=Information
Pasos siguientes
- Consulte Instalación y ejecución de contenedores
- Consulte Solución de problemas para resolver los problemas relacionados con la funcionalidad de LUIS.
- Uso de más contenedores de Azure AI