Instalar e executar contentores

Este conteúdo aplica-se a: marca de verificação v3.0 (GA) marca de verificação v3.1 (GA)

O Azure AI Document Intelligence é um serviço de IA do Azure que lhe permite criar software de processamento automatizado de dados utilizando tecnologia de aprendizagem automática. O Document Intelligence permite-lhe identificar e extrair texto, pares chave/valor, marcas de seleção, dados de tabelas e muito mais dos seus documentos. Os resultados são entregues como dados estruturados que .. /inclui as relações no arquivo original. Os contentores processam apenas os dados que lhes são fornecidos e utilizam exclusivamente os recursos a que têm permissão para aceder. Os contêineres não podem processar dados de outras regiões.

Neste artigo, você pode aprender como baixar, instalar e executar contêineres de Document Intelligence. Os contêineres permitem que você execute o serviço de Inteligência de Documentos em seu próprio ambiente. Os contentores são ótimos para requisitos específicos de governação de dados e segurança.

  • Os modelos de Leitura, Layout, Documento de ID, Recibo e Fatura são suportados pelos contêineres do Document Intelligence v3.1.

  • Os modelos Leitura, Layout, Documento Geral, Cartão de Visita e Personalizado são suportados pelos contêineres do Document Intelligence v3.0.

Suporte da versão

O suporte para contêineres está atualmente disponível com a versão v3.0: 2022-08-31 (GA) Document Intelligence para todos os modelos e v3.1 2023-07-31 (GA) para os modelos de Leitura, Layout, Documento de ID, Recibo e Fatura:

Pré-requisitos

Para começar, você precisa de uma conta ativa do Azure. Se não tiver uma, poderá criar uma conta gratuita.

Você também precisa do seguinte para usar contêineres de Document Intelligence:

Necessário Propósito
Familiaridade com o Docker Você deve ter uma compreensão básica dos conceitos do Docker, como registros, repositórios, contêineres e imagens de contêiner, bem como conhecimento de terminologia básica docker e comandos.
Mecanismo do Docker instalado
  • Você precisa do Docker Engine instalado em um computador host. O Docker oferece pacotes que configuram o ambiente do Docker no macOS, no Windows e no Linux. Para um manual de noções básicas do Docker e do contentor, veja a descrição geral do Docker.
  • O Docker deve ser configurado para permitir que os contêineres se conectem e enviem dados de cobrança para o Azure.
  • No Windows, o Docker também deve ser configurado para suportar contêineres Linux .
Recurso de Inteligência Documental Um recurso de inteligência documental do Azure AI de serviço único ou um recurso multisserviço no portal do 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 Document Intelligence Keys and Endpoint do portal do Azure:
  • {FORM_RECOGNIZER_KEY}: uma das duas chaves de recurso disponíveis.
  • {FORM_RECOGNIZER_ENDPOINT_URI}: o ponto de extremidade do recurso usado para rastrear informações de cobrança.
Opcional Propósito
CLI do Azure (interface de linha de comando) A CLI do Azure permite que você use um conjunto de comandos online para criar e gerenciar recursos do Azure. Ele está disponível para instalação em ambientes Windows, macOS e Linux e pode ser executado 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. Pode ser um computador em suas instalações ou um serviço de hospedagem do Docker no Azure, como:

Nota

Observe que o contêiner do Studio não pode ser implantado e executado no Serviço Kubernetes do Azure. O contêiner Studio só é suportado para ser executado na máquina local.

Requisitos e recomendações de contêineres

Contentores de suporte necessários

A tabela a seguir lista um ou mais contêineres de suporte para cada contêiner de Document Intelligence baixado. Para obter mais informações, consulte a seção Faturamento .

Contêiner de recursos Contentores de suporte
Ler Não obrigatório
Esquema Não obrigatório
Cartão de visita Ler
Documento Geral Esquema
Fatura Esquema
Receção Leitura ou layout
Documento de identificação Ler
Modelo personalizado Esquema

Nota

Os valores mínimos e recomendados são baseados nos limites do Docker e não nos recursos da máquina host.

Contentores de Inteligência Documental
Contentor Mínimo Recomendado
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 deve ter pelo menos 2,6 gigahertz (GHz) ou mais rápido.
  • O núcleo e a memória correspondem às --cpus configurações e --memory , que são usadas como parte do docker compose comando or docker run .

Gorjeta

Você pode usar o comando docker images para listar as imagens de contêiner baixadas. Por exemplo, o comando a seguir lista o ID, o repositório e a tag de cada imagem de contêiner baixada, 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 ecrã das chaves do portal do Azure e da página de ponto de extremidade.

  • Certifique-se de que o EULA valor está definido para aceitar.

  • Os EULAvalores , Billing, e devem ApiKey ser especificados, caso contrário, o contêiner não pode ser iniciado.

Importante

As chaves são usadas para acessar seu recurso de Document Intelligence. Não partilhe as chaves. Armazene-os de forma segura, por exemplo, usando o Azure Key Vault. Recomendamos também que gere novas chaves regularmente. Só é necessária uma chave para fazer uma chamada à API. Ao gerar novamente a primeira chave, pode utilizar a segunda chave para o acesso continuado ao serviço.

O exemplo de código a seguir é um exemplo autônomo docker compose para executar o contêiner Document Intelligence Layout. Com docker composeo , você usa um arquivo YAML para configurar os serviços do seu aplicativo. Em seguida, com o docker-compose up comando, você cria e inicia todos os serviços da sua configuração. Insira os valores {FORM_RECOGNIZER_ENDPOINT_URI} e {FORM_RECOGNIZER_KEY} para sua instância do contêiner 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

Validar se o serviço está em execução

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

  • O contêiner fornece uma página inicial como \ uma validação visual de que o contêiner está sendo executado.

  • Você pode abrir seu navegador 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 que o contêiner está em execução. Os URLs de solicitação de exemplo listados são http://localhost:5000, mas seu contêiner específico pode variar. Lembre-se de que você está navegando para o endereço IP externo e a porta exposta do contêiner.

    URL do Pedido Propósito
    http:// localhost:5000/ O contentor fornece uma home page.
    http:// localhost:5000/ready Solicitada com GET, essa solicitação fornece uma verificação de que o contêiner está pronto para aceitar uma consulta no modelo. Essa solicitação pode ser usada para sondas de vivacidade e prontidão do Kubernetes.
    http:// localhost:5000/status Solicitada com GET, essa solicitação verifica se a chave de api usada para iniciar o contêiner é válida sem causar uma consulta de ponto de extremidade. Essa solicitação pode ser usada para sondas de vivacidade e prontidã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 esse recurso, você pode inserir suas configurações em um formulário HTML baseado na Web e fazer a consulta sem ter que escrever nenhum código. Depois que a consulta retorna, um comando CURL de exemplo é fornecido para demonstrar os cabeçalhos HTTP necessários e o formato do corpo.

Captura de ecrã da página de boas-vindas dos contentores do Azure.

Pare os contentores

Para parar os contêineres, use o seguinte comando:

docker-compose down

Faturação

Os contêineres de Document Intelligence enviam informações de cobrança para o Azure usando um recurso de Document Intelligence em sua conta do Azure.

As consultas ao contêiner são cobradas na camada de preço do recurso do Azure usado para a API Key. O faturamento é calculado para cada instância de contêiner usada para processar seus documentos e imagens.

Se você receber o seguinte erro: O contêiner não está em um estado válido. A validação da assinatura falhou com o status 'OutOfQuota' A chave da API está fora da cota. É um indicador de que seus contêineres não estão se comunicando com o ponto de extremidade de faturamento.

Ligar ao Azure

O contêiner precisa dos valores do argumento de faturamento para ser executado. Esses valores permitem que o contêiner se conecte ao ponto de extremidade de faturamento. 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, o contêiner continuará a ser executado, mas não atenderá consultas até que o ponto de extremidade de cobrança seja restaurado. A conexão é tentada 10 vezes no mesmo intervalo de tempo de 10 a 15 minutos. Se ele não puder se conectar ao ponto de extremidade de faturamento dentro das 10 tentativas, o contêiner interromperá o atendimento de solicitações. Consulte as Perguntas frequentes sobre o contêiner do Azure AI para obter um exemplo das informações enviadas à Microsoft para cobrança.

Argumentos de faturação

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

Opção Description
ApiKey A chave do recurso de serviços de IA do Azure usada para rastrear 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 de 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 provisionado do Azure.
Eula Indica que você aceitou a licença para o contêiner.
O valor desta opção deve ser definido como accept.

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

Resumo

Está feito! Neste artigo, você aprendeu conceitos e fluxos de trabalho para baixar, instalar e executar contêineres de Document Intelligence. Em resumo:

  • A Document Intelligence fornece sete contêineres Linux para o Docker.
  • As imagens de contêiner são baixadas do mcr.
  • As imagens de contêiner são executadas no Docker.
  • As informações de faturamento devem ser especificadas quando você instanciar um contêiner.

Importante

Os contêineres de IA do Azure não são licenciados para serem executados sem estarem conectados ao Azure para medição. Os clientes precisam permitir que os contêineres comuniquem informações de faturamento 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óximos passos