Usar contêineres do Docker em ambientes desconectados
Os contêineres permitem que você execute APIs de serviços de IA do Azure em seu próprio ambiente e são ótimos para seus requisitos específicos de segurança e governança de dados. Os contêineres desconectados permitem que você use várias dessas APIs desconectadas da Internet. Atualmente, os seguintes contêineres podem ser executados dessa maneira:
- Conversão de fala em texto
- Conversão de voz em texto
- Texto neural para fala
- Tradução de texto (padrão)
- Linguagem de IA do Azure
- Azure AI Vision - Ler
- Inteligência Documental
Antes de tentar executar um contêiner do Docker em um ambiente offline, certifique-se de conhecer as etapas para baixar e usar o contêiner com êxito. Por exemplo:
- Requisitos e recomendações do computador host.
- O comando Docker
pull
que você usará para baixar o contêiner. - Como validar se um contêiner está em execução.
- Como enviar consultas para o ponto de extremidade do contêiner, uma vez que ele esteja em execução.
Solicitar acesso para usar contêineres em ambientes desconectados
Preencha e envie o formulário de solicitação para solicitar acesso aos contêineres desconectados da internet.
O formulário solicita informações sobre você, sua empresa e o cenário de usuário para o qual você usará o contêiner. Depois de enviar o formulário, a equipe de serviços de IA do Azure o analisa e envia um e-mail com uma decisão dentro de 10 dias úteis.
Importante
- No formulário, você deve usar um endereço de email associado a uma ID de assinatura do Azure.
- O recurso do Azure que você usa para executar o contêiner deve ter sido criado com a ID de assinatura do Azure aprovada.
- Verifique seu email (caixa de entrada e pastas de lixo) para atualizações sobre o status do seu aplicativo da Microsoft.
Depois de aprovado, você poderá executar o contêiner depois de baixá-lo do Microsoft Container Registry (MCR), descrito mais adiante no artigo.
Você não poderá executar o contêiner se sua assinatura do Azure não tiver sido aprovada.
O acesso é limitado a clientes que cumpram os seguintes requisitos:
- Sua organização deve ser identificada como cliente estratégico ou parceiro da Microsoft.
- Espera-se que os contêineres desconectados sejam executados totalmente offline, portanto, seus casos de uso devem atender a um dos requisitos abaixo ou semelhantes:
- Ambiente ou dispositivo(s) com zero conectividade à internet.
- Localização remota que ocasionalmente tem acesso à Internet.
- Organização sob regulamentação rigorosa de não enviar nenhum tipo de dados de volta para a nuvem.
- Candidatura preenchida conforme as instruções - Por favor, preste muita atenção às orientações fornecidas ao longo da candidatura para garantir que fornece todas as informações necessárias para a aprovação.
Adquira um plano de preços de nível de compromisso para contêineres desconectados
Criar um novo recurso
Entre no portal do Azure e selecione Criar um novo recurso para um dos serviços de IA do Azure aplicáveis listados acima.
Insira as informações aplicáveis para criar seu recurso. Certifique-se de selecionar Contêineres desconectados do nível de compromisso como seu nível de preço.
Nota
- Você só verá a opção de comprar uma camada de compromisso se tiver sido aprovado pela Microsoft.
- Os detalhes de preços são, por exemplo, apenas.
Selecione Rever + Criar na parte inferior da página. Reveja as informações e selecione Criar.
Configurar contêiner para uso desconectado
Consulte a documentação a seguir para obter as etapas de download e configuração do contêiner para uso desconectado:
Serviço de fala
Serviço linguístico
- Análise de Sentimentos
- Extração de Expressões-Chave
- Deteção de Idioma
- Reconhecimento de Entidades Nomeadas
- Deteção de informações pessoalmente identificáveis (PII)
Nomes de variáveis de ambiente em implantações do Kubernetes
Alguns Contêineres de IA do Azure, por exemplo o Translator, exigem que os usuários passem nomes de variáveis ambientais que incluam dois pontos (:
) ao executar o contêiner. Isso funcionará bem ao usar o Docker, mas o Kubernetes não aceita dois pontos em nomes de variáveis ambientais.
Para resolver isso, você pode substituir dois pontos por caracteres de sublinhado duplo (__
) ao implantar no Kubernetes. Veja o exemplo a seguir de um formato aceitável para nomes de variáveis de ambiente:
env:
- name: Mounts__License
value: "/license"
- name: Mounts__Output
value: "/output"
Este exemplo substitui o formato padrão para os nomes das Mounts:License
variáveis e Mounts:Output
de ambiente no comando docker run.
Atualizações de imagem e licença de contêiner
Os ficheiros de licença de contentor são usados como chaves para desencriptar determinados ficheiros dentro de cada imagem de contentor. Se esses arquivos criptografados forem atualizados dentro de uma nova imagem de contêiner, o arquivo de licença que você tem pode falhar ao iniciar o contêiner, mesmo que tenha funcionado com a versão anterior da imagem de contêiner. Para evitar esse problema, recomendamos que você baixe um novo arquivo de licença do ponto de extremidade de recurso para seu contêiner fornecido no portal do Azure depois de extrair novas versões de imagem do mcr.microsoft.com.
Para baixar um novo arquivo de licença, você pode adicionar DownloadLicense=True
ao comando docker run junto com uma montagem de licença, sua chave de API e seu ponto de extremidade de faturamento. Consulte a documentação do seu contêiner para obter instruções detalhadas.
Registos de utilização
Ao operar contêineres do Docker em um ambiente desconectado, o contêiner gravará registros de uso em um volume onde eles serão coletados ao longo do tempo. Você também pode chamar um ponto de extremidade REST para gerar um relatório sobre o uso do serviço.
Argumentos para armazenar logs
Quando executado em um ambiente desconectado, uma montagem de saída deve estar disponível para o contêiner para armazenar logs de uso. Por exemplo, você incluiria -v /host/output:{OUTPUT_PATH}
e Mounts:Output={OUTPUT_PATH}
, no exemplo abaixo, substituiria {OUTPUT_PATH}
pelo caminho onde os logs serão armazenados:
docker run -v /host/output:{OUTPUT_PATH} ... <image> ... Mounts:Output={OUTPUT_PATH}
Obter registros usando os pontos de extremidade do contêiner
O contêiner fornece dois pontos de extremidade para retornar registros sobre seu uso.
Obter todos os registos
O ponto de extremidade a seguir fornecerá um relatório resumindo todo o uso coletado no diretório de registro de faturamento montado.
https://<service>/records/usage-logs/
Ele retornará JSON semelhante ao exemplo abaixo.
{
"apiType": "noop",
"serviceName": "noop",
"meters": [
{
"name": "Sample.Meter",
"quantity": 253
}
]
}
Obter registos para um mês específico
O ponto de extremidade a seguir fornecerá um relatório resumindo o uso em um mês e ano específicos.
https://<service>/records/usage-logs/{MONTH}/{YEAR}
ele retornará uma resposta JSON semelhante ao exemplo abaixo:
{
"apiType": "string",
"serviceName": "string",
"meters": [
{
"name": "string",
"quantity": 253
}
]
}
Adquira um plano de compromisso para usar contêineres em ambientes desconectados
Os planos de compromisso para contêineres desconectados têm um período de compromisso de ano civil. Quando você compra um plano, você será cobrado o preço total imediatamente. Durante o período de compromisso, não pode alterar o seu plano de compromisso, no entanto, pode comprar unidade(s) adicional(ais) a um preço proporcional para os restantes dias do ano. Tem até à meia-noite (UTC) do último dia do seu compromisso, para terminar um plano de compromisso.
Você pode escolher um plano de compromisso diferente nas configurações de preços da Camada de Compromisso do seu recurso.
Terminar um plano de compromisso
Se decidir que não quer continuar a comprar um plano de compromisso, pode definir a renovação automática do seu recurso como Não renovar automaticamente. Seu plano de compromisso expirará na data de término do compromisso exibida. Após essa data, você não será cobrado pelo plano de compromisso. Você poderá continuar usando o recurso do Azure para fazer chamadas de API, cobradas a preços pré-pagos. Você tem até meia-noite (UTC) do último dia do ano para encerrar um plano de compromisso para contêineres desconectados, e não ser cobrado para o ano seguinte.
Resolução de Problemas
Se você executar o contêiner com uma montagem de saída e registro em log habilitados, o contêiner gerará arquivos de log que serão úteis para solucionar problemas que acontecem ao iniciar ou executar o contêiner.
Gorjeta
Para obter mais informações e orientações sobre solução de problemas, consulte Perguntas freqüentes (FAQ) sobre contêineres desconectados.