Share via


Configurar contêineres do Docker de Compreensão de Idiomas

Importante

O LUIS será aposentado em 1º de outubro de 2025 e a partir de 1º de abril de 2023 você não poderá criar novos recursos do LUIS. Recomendamos migrar seus aplicativos LUIS para o entendimento de linguagem conversacional para se beneficiar do suporte contínuo ao produto e dos recursos multilíngues.

O ambiente de tempo de execução do contêiner Language Understanding (LUIS) é configurado usando os argumentos de docker run comando. LUIS tem várias configurações necessárias, juntamente com algumas configurações opcionais. Vários exemplos do comando estão disponíveis. As configurações específicas do contêiner são as configurações de montagem de entrada e as configurações de faturamento.

Definições de configuração

Este contêiner tem as seguintes definições de configuração:

Necessário Definição Purpose
Sim ApiKey Usado para rastrear informações de faturamento.
Não ApplicationInsights Permite que você adicione suporte à telemetria do Azure Application Insights ao seu contêiner.
Sim Faturação Especifica o URI do ponto de extremidade do recurso de serviço no Azure.
Sim Eula Indica que você aceitou a licença para o contêiner.
Não Fluente Escreva dados de log e, opcionalmente, métricos em um servidor Fluentd.
Não Http Proxy Configure um proxy HTTP para fazer solicitações de saída.
Não Registo Fornece suporte de log ASP.NET Core para seu contêiner.
Sim Montagens Ler e gravar dados do computador host para o contêiner e do contêiner de volta para o computador host.

Importante

As ApiKeyconfigurações , , e são usadas juntas, e você deve fornecer valores válidos para todas as três, caso contrário, BillingEula seu contêiner não será iniciado. Para obter mais informações sobre como usar essas definições de configuração para instanciar um contêiner, consulte Faturamento.

Configuração ApiKey

A ApiKey configuração especifica a chave de recurso do Azure usada para controlar as informações de cobrança do contêiner. Você deve especificar um valor para a ApiKey e o valor deve ser uma chave válida para o recurso de serviços de IA do Azure especificado para a definição de Billing configuração.

Essa configuração pode ser encontrada nos seguintes locais:

  • Portal do Azure: Gerenciamento de Recursos de Serviços de IA do Azure, em Chaves
  • Portal LUIS: página de configurações de chaves e pontos finais.

Não use a chave inicial ou a chave de criação.

Configuração do ApplicationInsights

A ApplicationInsights configuração permite que você adicione suporte à telemetria do Azure Application Insights ao seu contêiner. O Application Insights fornece monitoramento detalhado do seu contêiner. Você pode facilmente monitorar seu contêiner quanto à disponibilidade, desempenho e uso. Você também pode identificar e diagnosticar rapidamente erros em seu contêiner.

A tabela a seguir descreve as definições de configuração suportadas ApplicationInsights na seção .

Necessário Name Tipo de dados Description
Não InstrumentationKey String A chave de instrumentação da instância do Application Insights para a qual os dados de telemetria do contêiner são enviados. Para obter mais informações, consulte Application Insights for ASP.NET Core.

Exemplo:
InstrumentationKey=123456789

Configuração de faturamento

A Billing configuração especifica o URI do ponto de extremidade do recurso de serviços de IA do Azure no Azure usado para medir as informações de cobrança do contêiner. Você deve especificar um valor para essa definição de configuração e o valor deve ser um URI de ponto de extremidade válido para um recurso de serviços de IA do Azure no Azure. O contêiner relata o uso a cada 10 a 15 minutos.

Essa configuração pode ser encontrada nos seguintes locais:

  • Portal do Azure: Visão geral dos serviços de IA do Azure, rotulada Endpoint
  • Portal LUIS: página de configurações de chaves e ponto final, como parte do URI do ponto final.
Necessário Name Tipo de dados Description
Sim Billing string URI do ponto de extremidade de faturamento. Para obter mais informações sobre como obter o URI de faturamento, consulte reunir parâmetros necessários. Para obter mais informações e uma lista completa de pontos de extremidade regionais, consulte Nomes de subdomínio personalizados para serviços de IA do Azure.

Configuração de Eula

A Eula configuração indica que você aceitou a licença para o contêiner. Você deve especificar um valor para essa definição de configuração e o valor deve ser definido como accept.

Necessário Name Tipo de dados Description
Sim Eula String Aceitação da licença

Exemplo:
Eula=accept

Os contêineres de serviços de IA do Azure são licenciados sob seu contrato que rege seu uso do Azure. Se não tiver um contrato existente que regule a sua utilização do Azure, concorda que o seu contrato que rege a utilização do Azure é o Contrato de Subscrição Online da Microsoft, que incorpora os Termos dos Serviços Online. Para visualizações, você também concorda com os Termos de Uso Suplementares para Visualizações do Microsoft Azure. Ao usar o contêiner, você concorda com estes termos.

Configurações fluentes

Fluentd é um coletor de dados de código aberto para registro em log unificado. As Fluentd configurações gerenciam a conexão do contêiner com um servidor Fluentd . O contêiner inclui um provedor de registro em log Fluentd, que permite que seu contêiner grave logs e, opcionalmente, dados métricos em um servidor Fluentd.

A tabela a seguir descreve as definições de configuração suportadas Fluentd na seção .

Name Tipo de dados Description
Host String O endereço IP ou nome de host DNS do servidor Fluentd.
Port Número inteiro A porta do servidor Fluentd.
O valor padrão é 24224.
HeartbeatMs Número inteiro O intervalo de batimento cardíaco, em milissegundos. Se nenhum tráfego de eventos tiver sido enviado antes que esse intervalo expire, uma pulsação será enviada para o servidor Fluentd. O valor padrão é 60000 milissegundos (1 minuto).
SendBufferSize Número inteiro O espaço de buffer de rede, em bytes, alocado para operações de envio. O valor padrão é 32768 bytes (32 kilobytes).
TlsConnectionEstablishmentTimeoutMs Número inteiro O tempo limite, em milissegundos, para estabelecer uma conexão SSL/TLS com o servidor Fluentd. O valor padrão é 10000 milissegundos (10 segundos).
Se UseTLS estiver definido como false, esse valor será ignorado.
UseTLS Booleano Indica se o contêiner deve usar SSL/TLS para se comunicar com o servidor Fluentd. O valor predefinido é false.

Configurações de credenciais de proxy HTTP

Se você precisar configurar um proxy HTTP para fazer solicitações de saída, use estes dois argumentos:

Name Tipo de dados Description
HTTP_PROXY string O proxy a ser usado, por exemplo, http://proxy:8888
<proxy-url>
HTTP_PROXY_CREDS string Quaisquer credenciais necessárias para autenticar no proxy, por exemplo, username:password. Esse valor deve estar em minúsculas.
<proxy-user> string O usuário para o proxy.
<proxy-password> string A senha associada ao <proxy-user> 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> \

Definições de registo

As Logging configurações gerenciam ASP.NET suporte de log principal para seu contêiner. Você pode usar as mesmas definições de configuração e valores para seu contêiner que você usa para um aplicativo ASP.NET Core.

Os seguintes provedores de log são suportados pelo contêiner:

Provider Objetivo
Consola O provedor de log ASP.NET Core Console . Todas as definições de configuração do ASP.NET Core e os valores padrão para este provedor de log são suportados.
Debug O provedor de log ASP.NET Core Debug . Todas as definições de configuração do ASP.NET Core e os valores padrão para este provedor de log são suportados.
Disk O provedor de log JSON. Esse provedor de log grava dados de log na montagem de saída.

Este comando container armazena informações de log no formato JSON para a montagem de saída:

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 container mostra informações de depuração, prefixadas com dbug, enquanto o contêiner está em execução:

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

Registo de discos

O Disk provedor de log suporta as seguintes definições de configuração:

Name Tipo de dados Description
Format String O formato de saída para arquivos de log.
Nota: Esse valor deve ser definido para json habilitar o provedor de log. Se esse valor for especificado sem especificar também uma montagem de saída ao instanciar um contêiner, ocorrerá um erro.
MaxFileSize Número inteiro O tamanho máximo, em megabytes (MB), de um arquivo de log. Quando o tamanho do arquivo de log atual atende ou excede esse valor, um novo arquivo de log é iniciado pelo provedor de log. Se -1 for especificado, o tamanho do arquivo de log será limitado apenas pelo tamanho máximo do arquivo, se houver, para a montagem de saída. O valor predefinido é 1.

Para obter mais informações sobre como configurar ASP.NET suporte ao log principal, consulte Configuração do arquivo de configurações.

Configurações de montagem

Use montagens de ligação para ler e gravar dados de e para o contêiner. Você pode especificar uma montagem de entrada ou de saída especificando a --mount opção no comando docker run .

O contêiner LUIS não usa montagens de entrada ou saída para armazenar dados de treinamento ou serviço.

A sintaxe exata do local de montagem do host varia dependendo do sistema operacional do host. Além disso, o local de montagem do computador host pode não estar acessível devido a um conflito entre as permissões usadas pela conta de serviço do docker e as permissões de local de montagem do host.

A tabela a seguir descreve as configurações suportadas.

Necessário Name Tipo de dados Description
Sim Input String O alvo da montagem de entrada. O valor predefinido é /input. Este é o local dos arquivos de pacote LUIS.

Exemplo:
--mount type=bind,src=c:\input,target=/input
Não Output String O alvo da montagem de saída. O valor predefinido é /output. Este é o local dos logs. Isso inclui logs de consulta LUIS e logs de contêiner.

Exemplo:
--mount type=bind,src=c:\output,target=/output

Exemplo de comandos de execução do docker

Os exemplos a seguir usam as definições de configuração para ilustrar como escrever e usar docker run comandos. Uma vez em execução, o contêiner continua a ser executado até que você o pare .

  • Estes exemplos usam o diretório fora da C: unidade para evitar conflitos de permissão no Windows. Se você precisar usar um diretório específico como o diretório de entrada, talvez seja necessário conceder a permissão do serviço docker.
  • Não altere a ordem dos argumentos, a menos que você esteja muito familiarizado com contêineres docker.
  • Se você estiver usando um sistema operacional diferente, use o console/terminal correto, a sintaxe da pasta para montagens e o caractere de continuação de linha para o seu sistema. Estes exemplos pressupõem uma consola Windows com um carácter ^de continuação de linha . Como o contêiner é um sistema operacional Linux, a montagem de destino usa uma sintaxe de pasta no estilo Linux.

Substitua {argument_name} pelos seus próprios valores:

Marcador de Posição valor Formato ou exemplo
{API_KEY} A chave do ponto de extremidade do recurso na página Chaves do LUIS Azure LUIS . xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{ENDPOINT_URI} O valor do ponto de extremidade de cobrança está disponível na página Visão Geral do Azure LUIS . Consulte reunir parâmetros necessários para obter exemplos explícitos.

Nota

Novos recursos criados após 1º de julho de 2019 usarão nomes de subdomínio personalizados. Para obter mais informações e uma lista completa de pontos de extremidade regionais, consulte Nomes de subdomínio personalizados para serviços de IA do Azure.

Importante

As Eulaopções , e devem ApiKey ser especificadas para executar o contêiner, caso contrário, Billingo contêiner não será iniciado. Para obter mais informações, consulte Faturamento. O valor ApiKey é a Chave da página Chaves e Pontos de Extremidade no portal LUIS e também está disponível na página de chaves de recursos do Azure Azure AI services .

Exemplo básico

O exemplo a seguir tem o menor número possível de argumentos para executar o contêiner:

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}

Exemplo do ApplicationInsights

O exemplo a seguir define o argumento ApplicationInsights para enviar telemetria para o Application Insights enquanto o contêiner está em execução:

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}

Exemplo de registo

O comando a seguir define o nível de log, , Logging:Console:LogLevelpara configurar o nível de log como 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

Próximos passos