Instalar e executar contêineres

Este conteúdo se aplica a: marca de seleçãov3.0 (GA) marca de seleçãov3.1 (GA)

A IA do Azure para Informação de Documentos é um serviço de IA do Azure que permite criar um software de processamento de dados automatizado utilizando a tecnologia de aprendizado de máquina. A Informação de Documentos habilita você a identificar e extrair texto, pares de chave-valor, marcas de seleção, dados de tabela e muito mais dos seus documentos. Os resultados são gerados em dados estruturados que ../incluem as relações no arquivo original. Os contêineres processam apenas os dados fornecidos a eles e utilizam exclusivamente os recursos que têm permissão para acessar. Os contêineres não podem processar dados de outras regiões.

Neste artigo, você aprenderá como fazer download, instalar e executar contêineres do Informação de Documentos. Os contêineres habilitam a execução do serviço Informação de Documentos em seu próprio ambiente. Contêineres são excelentes para especificar requisitos de segurança e governança de dados.

  • Os modelos de leitura, layout, documento de identificação, recibo e fatura são compatíveis com contêineres da Informação de Documentos v3.1.

  • Os modelos de leitura, layout, documento geral, cartão de visita e personalizado são compatíveis com contêineres da Informação de Documentos v3.0.

Suporte à versão

Atualmente, o suporte de contêineres está disponível na versão v3.0: 2022-08-31 (GA) da Informação de Documentos para todos os modelos e v3.1 2023-07-31 (GA) nos modelos de leitura, layout, fatura, recibo e documento de identificação:

Pré-requisitos

Para começar, você precisa de uma conta do Azure. Se você não tem uma, crie uma conta gratuita.

Também é necessário o seguinte para utilizar os contêineres de Informações de Documentos:

Obrigatório Finalidade
Familiaridade com o Docker É necessário ter uma compreensão básica de conceitos do Docker, como registros, repositórios, contêineres e imagens de contêiner, bem como conhecimento básico de docker terminologia e comandos.
Mecanismo do Docker instalado
  • É necessário ter o Mecanismo Docker instalado em um computador host. O Docker fornece pacotes que configuram o ambiente do Docker no macOS, no Windows e no Linux. Para instruções sobre conceitos básicos do Docker e de contêiner, consulte a visão geral do Docker.
  • O Docker deve ser configurado para permitir que os contêineres conectem-se e enviem dados de cobrança para o Azure.
  • No Windows, o Docker também deve ser configurado para dar suporte a contêineres do Linux.
Recurso de Informação de Documentos Um serviço único de IA do Azure para Informação de Documentos ou um recurso de vários serviços no portal do Microsoft Azure. Para usar os contêineres, você deve ter a chave associada e o URI do ponto de extremidade. Ambos os valores estão disponíveis na página Informação de Documentos Chaves e Pontos de Extremidade do portal do Azure:
  • {FORM_RECOGNIZER_KEY} : uma das duas chaves de recursos disponíveis.
  • {FORM_RECOGNIZER_ENDPOINT_URI} : o ponto de extremidade para o recurso usado para rastrear informações de cobrança.
Opcional Finalidade
CLI do Azure (Interface de linha de comando do Azure) O CLI do Azure permite que você use um conjunto de comandos online para criar e gerenciar recursos do Azure. Ela está disponível para instalação em ambientes Windows, macOS e Linux e pode ser executada em um contêiner do Docker e no Azure Cloud Shell.

Requisitos do computador host

O host é um computador baseado em x64 que executa o contêiner do Docker. Ele pode ser um computador local ou um serviço de hospedagem do Docker no Azure, como:

Observação

Observe que o contêiner do Estúdio não pode ser implantado e executado no Serviço de Kubernetes do Azure. O contêiner do Estúdio só tem suporte para execução no computador local.

Recomendações e requisitos do contêiner

Contêineres de suporte são necessários

A tabela a seguir lista um ou mais contêineres com suporte para cada contêiner de Informação de Documentos que você baixar. Para saber mais, confira a seção Cobrança.

Contêiner de recursos Contêineres de suporte
Leitura Não é necessária
Layout Não é necessária
Cartão de visita Leitura
Documento geral Layout
Fatura Layout
Receipt Leitura ou Layout
Documento de identificação Leitura
Template Personalizado Layout

Observação

Os valores mínimos e recomendados se baseiam nos limites do Docker e não nos recursos do computador host.

Contêineres do Informação de Documentos
Contêiner Mínimo Recomendadas
Read 8 núcleos, 10 GB de memória 8 núcleos, 24 GB de memória
Layout 8 núcleos, 16 GB de memória 8 núcleos, 24 GB de memória
Business Card 8 núcleos, 16 GB de memória 8 núcleos, 24 GB de memória
General Document 8 núcleos, 12 GB de memória 8 núcleos, 24 GB de memória
ID Document 8 núcleos, 8 GB de memória 8 núcleos, 24 GB de memória
Invoice 8 núcleos, 16 GB de memória 8 núcleos, 24 GB de memória
Receipt 8 núcleos, 11 GB de memória 8 núcleos, 24 GB de memória
Custom Template 8 núcleos, 16 GB de memória 8 núcleos, 24 GB de memória
  • Cada núcleo precisa ser de pelo menos 2,6 GHz (gigahertz) ou mais rápido.
  • Memória e núcleo correspondem às configurações --cpus e --memory, que são usadas como parte do comando docker compose ou docker run.

Dica

Você pode usar o comando imagens do estivador para listar as imagens do contêiner transferidas por download. Por exemplo, o comando a seguir lista o ID, o repositório e a tag de cada imagem do contêiner transferida por download, formatada como uma tabela:

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

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

Execute o contêiner com o comando docker-compose up

  • Substitua os valores {ENDPOINT_URI} e {API_KEY} pelo URI do ponto de extremidade do recurso e pela chave da página de recursos do Azure.

    Captura de tela das chaves do portal do Azure e da página do ponto de extremidade.

  • Verifique se o valor EULA está definido como accept.

  • Os valores EULA, Billing, e ApiKey devem ser especificados; caso contrário, o contêiner não poderá iniciar.

Importante

As chaves são utilizadas para acessar o recurso de Informação de Documentos. Não compartilhe suas chaves. Armazene-as com segurança, por exemplo, usando o Azure Key Vault. Recomendamos a regeneração regular dessas chaves. Apenas uma chave é necessária para fazer uma chamada à API. Ao regenerar a primeira chave, você pode usar a segunda chave para obter acesso contínuo ao serviço.

O código de exemplo a seguir é um exemplo independente docker compose para executar o contêiner de Layout de Informação de Documentos. Com docker compose, um arquivo YAML é usado para configurar os serviços do aplicativo. Em seguida, você cria e inicia todos os serviços com base na sua configuração com o comando docker-compose up. Insira os valores DE {FORM_RECOGNIZER_ENDPOINT_URI} e {FORM_recognizer_KEY} na sua instância de contêiner de Layout.

version: "3.9"
services:
  azure-form-recognizer-read:
    container_name: azure-form-recognizer-read
    image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/read-3.1
    environment:
      - EULA=accept
      - billing={FORM_RECOGNIZER_ENDPOINT_URI}
      - apiKey={FORM_RECOGNIZER_KEY}
    ports:
      - "5000:5000"
    networks:
      - ocrvnet
networks:
  ocrvnet:
    driver: bridge

Agora, você pode iniciar o serviço com o comando docker compose:

docker-compose up

Confirme se o servidor está em execução

Há várias maneiras de validar se um contêiner está em execução:

  • O contêiner fornece uma home page em \ como uma validação visual de que o contêiner está em execução.

  • Você pode abrir seu navegador da Web favorito e navegar até o endereço IP externo e a porta exposta do contêiner em questão. Use as URLs de solicitação listadas para validar se o contêiner está em execução. As URLs de solicitação de exemplo listadas são http://localhost:5000, mas o seu contêiner específico pode variar. Lembre-se de que você está navegando para o endereço IP externo e porta exposta do contêiner.

    URL de Solicitação Finalidade
    http://localhost:5000/ O contêiner fornece uma home page.
    http://localhost:5000/ready Solicitado com GET, essa solicitação fornece uma verificação de que o contêiner está pronto para aceitar uma consulta em relação ao modelo. Essa solicitação pode ser usada para testes de preparação e de execução do Kubernetes.
    http://localhost:5000/status Solicitado com GET, essa solicitação verifica se a chave API usada para iniciar o contêiner é válida sem causar uma consulta de terminal. Essa solicitação pode ser usada para testes de preparação e de execução do Kubernetes.
    http://localhost:5000/swagger O contêiner fornece um conjunto completo de documentação para os pontos de extremidade e um recurso Experimentar. Com esse recurso, é possível inserir suas configurações em um formulário HTML baseado na Web e realizar a consulta sem precisar escrever nenhum código. Depois que a consulta é retornada, um exemplo de comando CURL é fornecido para demonstrar o formato do corpo e dos cabeçalhos HTTP exigidos.

Captura de tela da página de boas-vindas dos contêineres do Azure.

Parar os contêineres

Para parar o contêiner, use o seguinte comando:

docker-compose down

Cobrança

Os contêineres de Informação de Documentos enviam informações de cobrança para o Azure utilizando um recurso de Informação de Documentos na sua conta do Azure.

Consultas para o contêiner são cobradas pelo tipo de preço do recurso do Azure usado para a API Key. A cobrança é calculada por cada instância de contêiner usada para processar seus documentos e imagens.

Se você receber este erro: O contêiner não está em um estado válido. Falha na validação da assinatura com o status "OutOfQuota". A chave de API excedeu a cota. Isso indica que seus contêineres não estão se comunicando corretamente com o ponto de extremidade de cobrança.

Conectar-se ao Azure

O contêiner precisa dos valores de argumento de cobrança para ser executado. Esses valores permitem que o contêiner se conecte ao ponto de extremidade de cobrança. O contêiner relata o uso a cada 10 a 15 minutos. Se o contêiner não se conectar ao Azure dentro da janela de tempo permitida, ele continuará sendo executado, mas não atenderá a consultas até que o ponto de extremidade de cobrança seja restaurado. Serão realizadas 10 tentativas de conexão no mesmo intervalo de tempo de 10 a 15 minutos. Se não for possível conectar-se ao ponto de extremidade de cobrança dentro das 10 tentativas, o contêiner interromperá as solicitações de serviço. Veja as Perguntas frequentes sobre a IA do Azure para obter um exemplo das informações enviadas à Microsoft para cobrança.

Argumentos de cobrança

O comando docker-compose up iniciará o contêiner quando todas as três opções a seguir forem fornecidas com valores válidos:

Opção Descrição
ApiKey A chave do recurso dos serviços de IA do Azure utilizada para rastrear as informações de cobrança.
O valor dessa opção deve ser definido como uma chave para o recurso provisionado especificado em Billing.
Billing O ponto de extremidade do recurso dos serviços de IA do Azure usado para rastrear informações de cobrança.
O valor dessa opção deve ser definido como o URI do ponto de extremidade de um recurso do Azure provisionado.
Eula Indica que você aceitou a licença do contêiner.
O valor dessa opção deve ser definido como aceitar.

Para obter mais informações sobre essas opções, consulte Configurar contêineres.

Resumo

É isso! Neste artigo, você aprendeu conceitos e fluxos de trabalho para baixar, instalar e executar os contêineres do Informação de Documentos. Em resumo:

  • O Informação de Documentos fornece sete contêineres Linux para o Docker.
  • As imagens de contêiner são baixadas do mcr.
  • Imagens de contêiner são executadas no Docker.
  • A informações de cobrança devem ser especificadas quando você instanciar um contêiner.

Importante

Os contêineres dos serviços de IA do Azure não estão licenciados para serem executados sem uma conexão ao Azure para medição. Os clientes precisam ativar os contêineres para comunicar informações de cobrança com o serviço de medição em todos os momentos. Os contêineres de IA do Azure não enviam dados do cliente (por exemplo, a imagem ou o texto que está sendo analisado) para a Microsoft.

Próximas etapas