Instalar e executar contentores de Análise de Sentimentos

Os contentores permitem-lhe alojar a API de Análise de Sentimentos na sua própria infraestrutura. Se tiver requisitos de segurança ou governação de dados que não podem ser cumpridos ao chamar a Análise de Sentimentos remotamente, os contentores poderão ser uma boa opção.

Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Pré-requisitos

Tem de cumprir os seguintes pré-requisitos antes de utilizar contentores de Análise de Sentimentos. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

  • Docker instalado num computador anfitrião. O Docker tem de ser configurado para permitir que os contentores se liguem e enviem dados de faturação para o Azure.
    • No Windows, o Docker também tem de ser configurado para suportar contentores do Linux.
    • Deve ter uma compreensão básica dos conceitos do Docker.
  • Um recurso Language com o escalão de preço gratuito (F0) ou standard (S).

Recolher os parâmetros necessários

São necessários três parâmetros principais para todos os contentores de IA do Azure. Os Termos de Licenciamento para Software Microsoft têm de estar presentes com um valor de aceitação. Também é necessário um URI de Ponto Final e uma chave de API.

URI do ponto final

O {ENDPOINT_URI} valor está disponível na página Descrição geral do portal do Azure do recurso de serviços de IA do Azure correspondente. Aceda à página Descrição geral , paire o cursor sobre o ponto final e é apresentado um ícone Copiar para a área de transferência . Copie e utilize o ponto final sempre que necessário.

Captura de ecrã que mostra a recolha do URI do ponto final para utilização posterior.

Chaves

O {API_KEY} valor é utilizado para iniciar o contentor e está disponível na página Chaves do portal do Azure do recurso de serviços do Azure AI correspondente. Aceda à página Chaves e selecione o ícone Copiar para a área de transferência .

Captura de ecrã que mostra a obtenção de uma das duas chaves para utilização posterior.

Importante

Estas chaves de subscrição são utilizadas para aceder à sua API de serviços de IA do Azure. Não partilhe as suas chaves. Armazene-os de forma segura. Por exemplo, utilize o Azure Key Vault. Também recomendamos que volte a gerar estas chaves regularmente. Só é necessária uma chave para fazer uma chamada à API. Quando regenerar a primeira chave, pode utilizar a segunda chave para continuar a aceder ao serviço.

Requisitos e recomendações do computador anfitrião

O anfitrião é um computador baseado em x64 que executa o contentor do Docker. Pode ser um computador no local ou um serviço de alojamento do Docker no Azure, como:

A tabela seguinte descreve as especificações mínimas e recomendadas para o contentor disponível. Cada núcleo de CPU tem de ter, pelo menos, 2,6 gigahertz (GHz) ou mais rápido. As Transações Permitidos Por Segundo (TPS) também estão listadas.

Especificações mínimas do anfitrião Especificações de anfitrião recomendadas TPS Mínimo TPS Máximo
Análise de Sentimentos Memória de 1 núcleo e 2 GB 4 núcleos, 8 GB de memória 15 30

O núcleo e a memória da CPU correspondem às --cpus definições e --memory , que são utilizadas como parte do docker run comando .

Obter a imagem de contentor com docker pull

A imagem do contentor Análise de Sentimentos pode ser encontrada no sindicato do mcr.microsoft.com registo de contentores. Reside no azure-cognitive-services/textanalytics/ repositório e chama-se sentiment. O nome da imagem de contentor completamente qualificado é, mcr.microsoft.com/azure-cognitive-services/textanalytics/sentiment

Para utilizar a versão mais recente do contentor, pode utilizar a latest etiqueta , que é para inglês. Também pode encontrar uma lista completa de contentores para idiomas suportados com as etiquetas no MCR.

O contentor v3 do contentor de análise de sentimentos está disponível em vários idiomas. Para transferir o contentor para o contentor inglês, utilize o comando abaixo.

docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/sentiment:3.0-en

Dica

Pode utilizar o comando docker images para listar as imagens de contentor transferidas. Por exemplo, o comando seguinte lista o ID, o repositório e a etiqueta de cada imagem de contentor transferida, formatada como uma tabela:

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

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

Executar o contentor com docker run

Quando o contentor estiver no computador anfitrião, utilize o comando docker run para executar os contentores. O contentor continuará a ser executado até o parar.

Importante

  • Os comandos do Docker nas secções seguintes utilizam a barra anterior, \, como caráter de continuação de linha. Substitua ou remova-o com base nos requisitos do sistema operativo anfitrião.
  • As Eulaopções , Billinge ApiKey têm de ser especificadas para executar o contentor; caso contrário, o contentor não será iniciado. Para obter mais informações, veja Faturação.

Para executar o contentor Análise de Sentimentos, execute o seguinte docker run comando. Substitua os marcadores de posição abaixo pelos seus próprios valores:

Marcador de posição Valor Formato ou exemplo
{API_KEY} A chave para o recurso de Idioma. Pode encontrá-lo na página Chave e ponto final do recurso, no portal do Azure. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{ENDPOINT_URI} O ponto final para aceder à API. Pode encontrá-lo na página Chave e ponto final do recurso, no portal do Azure. https://<your-custom-subdomain>.cognitiveservices.azure.com
{IMAGE_TAG} A etiqueta de imagem que representa o idioma do contentor que pretende executar. Certifique-se de que corresponde ao docker pull comando que utilizou. 3.0-en
docker run --rm -it -p 5000:5000 --memory 8g --cpus 1 \
mcr.microsoft.com/azure-cognitive-services/textanalytics/sentiment:{IMAGE_TAG} \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Este comando:

  • Executa um contentor de Análise de Sentimentos a partir da imagem de contentor
  • Atribui um núcleo de CPU e 8 gigabytes (GB) de memória
  • Expõe a porta TCP 5000 e aloca um pseudo-TTY para o contentor
  • Remove automaticamente o contentor depois de sair. A imagem de contentor ainda está disponível no computador anfitrião.

Executar vários contentores no mesmo anfitrião

Se pretender executar vários contentores com portas expostas, certifique-se de que executa cada contentor com uma porta exposta diferente. Por exemplo, execute o primeiro contentor na porta 5000 e o segundo contentor na porta 5001.

Pode ter este contentor e um contentor de serviços do Azure AI diferente em execução no HOST em conjunto. Também pode ter vários contentores do mesmo contentor de serviços de IA do Azure em execução.

Consultar o ponto final de predição do contentor

O contentor fornece APIs de ponto final de predição de consulta com base em REST.

Utilize o anfitrião, http://localhost:5000, para APIs de contentor.

Validar que um contentor está em execução

Existem várias formas de validar que o contentor está em execução. Localize o Endereço IP externo e a porta exposta do contentor em questão e abra o seu browser favorito. Utilize os vários URLs de pedido que se seguem para validar que o contentor está em execução. Os URLs de pedido de exemplo listados aqui são http://localhost:5000, mas o contentor específico pode variar. Certifique-se de que depende do endereço IP externo do contentor e da porta exposta.

URL do Pedido Objetivo
http://localhost:5000/ O contentor fornece uma home page.
http://localhost:5000/ready Pedido com GET, este URL fornece uma verificação de que o contentor está pronto para aceitar uma consulta em relação ao modelo. Este pedido pode ser utilizado para pesquisas de liveness e preparação do Kubernetes.
http://localhost:5000/status Também solicitado com GET, este URL verifica se a chave de API utilizada para iniciar o contentor é válida sem causar uma consulta de ponto final. Este pedido pode ser utilizado para pesquisas de liveness e preparação do Kubernetes.
http://localhost:5000/swagger O contentor fornece um conjunto completo de documentação para os pontos finais e uma funcionalidade Experimentar. Com esta funcionalidade, pode introduzir as suas definições num formulário HTML baseado na Web e fazer a consulta sem ter de escrever código. Após a devolução da consulta, é fornecido um comando CURL de exemplo para demonstrar os cabeçalhos HTTP e o formato do corpo necessários.

Home page do contentor

Executar o contentor desligado da Internet

Para utilizar este contentor desligado da Internet, primeiro tem de pedir acesso preenchendo uma aplicação e comprando um plano de alocação. Veja Utilizar contentores do Docker em ambientes desligados para obter mais informações.

Se tiver sido aprovado para executar o contentor desligado da Internet, utilize o exemplo seguinte para mostrar a formatação do docker run comando que irá utilizar, com valores de marcador de posição. Substitua estes valores de marcador de posição pelos seus próprios valores.

O DownloadLicense=True parâmetro no comando docker run irá transferir um ficheiro de licença que permitirá que o contentor do Docker seja executado quando não estiver ligado à Internet. Também contém uma data de expiração, após a qual o ficheiro de licença será inválido para executar o contentor. Só pode utilizar um ficheiro de licença com o contentor adequado para o qual foi aprovado. Por exemplo, não pode utilizar um ficheiro de licença para um contentor de conversão de voz em texto com um contentor do Document Intelligence.

Marcador de posição Valor Formato ou exemplo
{IMAGE} A imagem de contentor que pretende utilizar. mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{LICENSE_MOUNT} O caminho para onde a licença será transferida e montada. /host/license:/path/to/license/directory
{ENDPOINT_URI} O ponto final para autenticar o seu pedido de serviço. Pode encontrá-lo na página Chave e ponto final do recurso, no portal do Azure. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API_KEY} A chave para o recurso Análise de Texto. Pode encontrá-lo na página Chave e ponto final do recurso, no portal do Azure. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{CONTAINER_LICENSE_DIRECTORY} Localização da pasta de licenças no sistema de ficheiros local do contentor. /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} 

Depois de transferir o ficheiro de licença, pode executar o contentor num ambiente desligado. O exemplo seguinte mostra a formatação do docker run comando que irá utilizar, com valores de marcador de posição. Substitua estes valores de marcador de posição pelos seus próprios valores.

Onde quer que o contentor seja executado, o ficheiro de licença tem de ser montado no contentor e a localização da pasta de licenças no sistema de ficheiros local do contentor tem de ser especificada com Mounts:License=. Também tem de ser especificada uma montagem de saída para que os registos de utilização da faturação possam ser escritos.

Marcador de posição Valor Formato ou exemplo
{IMAGE} A imagem de contentor que pretende utilizar. mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{MEMORY_SIZE} O tamanho adequado da memória a alocar ao contentor. 4g
{NUMBER_CPUS} O número adequado de CPUs a alocar ao contentor. 4
{LICENSE_MOUNT} O caminho onde a licença será localizada e montada. /host/license:/path/to/license/directory
{OUTPUT_PATH} O caminho de saída para registar registos de utilização. /host/output:/path/to/output/directory
{CONTAINER_LICENSE_DIRECTORY} Localização da pasta de licenças no sistema de ficheiros local do contentor. /path/to/license/directory
{CONTAINER_OUTPUT_DIRECTORY} Localização da pasta de saída no sistema de ficheiros local do contentor. /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}

Parar o contentor

Para encerrar o contentor, no ambiente da linha de comandos onde o contentor está em execução, selecione Ctrl+C.

Resolução de problemas

Se executar o contentor com uma montagem e registo de saída ativados, o contentor gera ficheiros de registo que são úteis para resolver problemas que ocorrem ao iniciar ou executar o contentor.

Dica

Para obter mais informações e documentação de orientação sobre a resolução de problemas, veja Perguntas mais frequentes (FAQ) sobre contentores de IA do Azure.

Faturação

Os contentores de Análise de Sentimentos enviam informações de faturação para o Azure com um recurso de Linguagem na sua conta do Azure.

As consultas ao contentor são faturadas no escalão de preço do recurso do Azure utilizado para o ApiKey parâmetro .

Os contentores dos serviços de IA do Azure não estão licenciados para serem executados sem estarem ligados ao ponto final de medição ou faturação. Tem de permitir que os contentores comuniquem sempre informações de faturação com o ponto final de faturação. Os contentores dos serviços de IA do Azure não enviam dados de clientes, como a imagem ou texto que está a ser analisado, para a Microsoft.

Ligar ao Azure

O contentor precisa dos valores do argumento de faturação para ser executado. Estes valores permitem que o contentor se ligue ao ponto final de faturação. O contentor comunica a utilização a cada 10 a 15 minutos. Se o contentor não se ligar ao Azure dentro do período de tempo permitido, o contentor continua a ser executado, mas não serve consultas até que o ponto final de faturação seja restaurado. A ligação é tentada 10 vezes ao mesmo intervalo de tempo de 10 a 15 minutos. Se não conseguir ligar ao ponto final de faturação nas 10 tentativas, o contentor deixa de servir pedidos. Veja as FAQ sobre o contentor dos serviços de IA do Azure para obter um exemplo das informações enviadas à Microsoft para faturação.

Argumentos de faturação

O docker run comando iniciará o contentor quando as três opções seguintes forem fornecidas com valores válidos:

Opção Descrição
ApiKey A chave de API do recurso dos serviços de IA do Azure que é utilizado para controlar as informações de faturação.
O valor desta opção tem de ser definido como uma chave de API para o recurso aprovisionado especificado em Billing.
Billing O ponto final do recurso dos serviços de IA do Azure que é utilizado para controlar as informações de faturação.
O valor desta opção tem de ser definido como o URI do ponto final de um recurso do Azure aprovisionado.
Eula Indica que aceitou a licença do contentor.
O valor desta opção tem de ser definido para aceitar.

Para obter mais informações sobre estas opções, veja Configurar contentores.

Resumo

Neste artigo, aprendeu conceitos e fluxos de trabalho para transferir, instalar e executar contentores de Análise de Sentimentos. Em resumo:

  • A Análise de Sentimentos fornece contentores do Linux para o Docker
  • As imagens de contentor são transferidas a partir do Microsoft Container Registry (MCR).
  • As imagens de contentor são executadas no Docker.
  • Tem de especificar informações de faturação ao instanciar um contentor.

Importante

Os contentores de IA do Azure não estão licenciados para serem executados sem estarem ligados ao Azure para medição. Os clientes têm de permitir que os contentores comuniquem sempre informações de faturação com o serviço de medição. Os contentores de IA do Azure não enviam dados de clientes (por exemplo, texto que está a ser analisado) para a Microsoft.

Passos seguintes