title | titleSuffix | description | author | manager | ms.service | ms.subservice | ms.topic | ms.date | ms.author |
---|---|---|---|---|---|---|---|---|---|
Docker container settings - LUIS |
Azure AI services |
The LUIS container runtime environment is configured using the `docker run` command arguments. LUIS has several required settings, along with a few optional settings. |
aahill |
nitinme |
azure-ai-language |
azure-ai-luis |
how-to |
01/19/2024 |
aahi |
[!INCLUDE deprecation notice]
The Language Understanding (LUIS) container runtime environment is configured using the docker run
command arguments. LUIS has several required settings, along with a few optional settings. Several examples of the command are available. The container-specific settings are the input mount settings and the billing settings.
This container has the following configuration settings:
Required | Setting | Purpose |
---|---|---|
Yes | ApiKey | Used to track billing information. |
No | ApplicationInsights | Allows you to add Azure Application Insights telemetry support to your container. |
Yes | Billing | Specifies the endpoint URI of the service resource on Azure. |
Yes | Eula | Indicates that you've accepted the license for the container. |
No | Fluentd | Write log and, optionally, metric data to a Fluentd server. |
No | Http Proxy | Configure an HTTP proxy for making outbound requests. |
No | Logging | Provides ASP.NET Core logging support for your container. |
Yes | Mounts | Read and write data from host computer to container and from container back to host computer. |
Important
The ApiKey
, Billing
, and Eula
settings are used together, and you must provide valid values for all three of them; otherwise your container won't start. For more information about using these configuration settings to instantiate a container, see Billing.
The ApiKey
setting specifies the Azure resource key used to track billing information for the container. You must specify a value for the ApiKey and the value must be a valid key for the Azure AI services resource specified for the Billing
configuration setting.
This setting can be found in the following places:
- Azure portal: Azure AI services Resource Management, under Keys
- LUIS portal: Keys and Endpoint settings page.
Do not use the starter key or the authoring key.
[!INCLUDE Container shared configuration ApplicationInsights settings]
The Billing
setting specifies the endpoint URI of the Azure AI services resource on Azure used to meter billing information for the container. You must specify a value for this configuration setting, and the value must be a valid endpoint URI for an Azure AI services resource on Azure. The container reports usage about every 10 to 15 minutes.
This setting can be found in the following places:
- Azure portal: Azure AI services Overview, labeled
Endpoint
- LUIS portal: Keys and Endpoint settings page, as part of the endpoint URI.
Required | Name | Data type | Description |
---|---|---|---|
Yes | Billing |
string | Billing endpoint URI. For more information on obtaining the billing URI, see gather required parameters. For more information and a complete list of regional endpoints, see Custom subdomain names for Azure AI services. |
[!INCLUDE Container shared configuration eula settings]
[!INCLUDE Container shared configuration fluentd settings]
[!INCLUDE Container shared configuration fluentd settings]
[!INCLUDE Container shared configuration logging settings]
Use bind mounts to read and write data to and from the container. You can specify an input mount or output mount by specifying the --mount
option in the docker run command.
The LUIS container doesn't use input or output mounts to store training or service data.
The exact syntax of the host mount location varies depending on the host operating system. Additionally, the host computer's mount location may not be accessible due to a conflict between permissions used by the docker service account and the host mount location permissions.
The following table describes the settings supported.
Required | Name | Data type | Description |
---|---|---|---|
Yes | Input |
String | The target of the input mount. The default value is /input . This is the location of the LUIS package files. Example: --mount type=bind,src=c:\input,target=/input |
No | Output |
String | The target of the output mount. The default value is /output . This is the location of the logs. This includes LUIS query logs and container logs. Example: --mount type=bind,src=c:\output,target=/output |
The following examples use the configuration settings to illustrate how to write and use docker run
commands. Once running, the container continues to run until you stop it.
- These examples use the directory off the
C:
drive to avoid any permission conflicts on Windows. If you need to use a specific directory as the input directory, you may need to grant the docker service permission. - Do not change the order of the arguments unless you are very familiar with docker containers.
- If you are using a different operating system, use the correct console/terminal, folder syntax for mounts, and line continuation character for your system. These examples assume a Windows console with a line continuation character
^
. Because the container is a Linux operating system, the target mount uses a Linux-style folder syntax.
Replace {argument_name} with your own values:
Placeholder | Value | Format or example |
---|---|---|
{API_KEY} | The endpoint key of the LUIS resource on the Azure LUIS Keys page. |
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{ENDPOINT_URI} | The billing endpoint value is available on the Azure LUIS Overview page. |
See gather required parameters for explicit examples. |
[!INCLUDE subdomains-note]
Important
The Eula
, Billing
, and ApiKey
options must be specified to run the container; otherwise, the container won't start. For more information, see Billing.
The ApiKey value is the Key from the Keys and Endpoints page in the LUIS portal and is also available on the Azure Azure AI services
resource keys page.
The following example has the fewest arguments possible to run the container:
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}
The following example sets the ApplicationInsights argument to send telemetry to Application Insights while the container is running:
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}
The following command sets the logging level, Logging:Console:LogLevel
, to configure the logging level to 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
- Review How to install and run containers
- Refer to Troubleshooting to resolve issues related to LUIS functionality.
- Use more Azure AI containers