Migrar para a v3.x do contêiner de leitura de OCR

Se você estiver usando a versão 2 do contêiner OCR de leitura do Azure AI Vision, use este artigo para saber como atualizar seu aplicativo para usar a versão 3.x do contêiner.

Alterações de API

O contêiner de Leitura v3.2 utiliza a versão 3 da API do Visão de IA do Azure e tem os seguintes pontos de extremidade:

  • /vision/v3.2/read/analyzeResults/{operationId}
  • /vision/v3.2/read/analyze
  • /vision/v3.2/read/syncAnalyze

Consulte o guia de migração da API REST do Azure AI Vision v3 para obter informações detalhadas sobre como atualizar seus aplicativos para usar a versão 3 da API de leitura. Operações síncronas só são suportadas em contêineres.

Alterações de configuração

  • ReadEngineConfig:ResultExpirationPeriod não é mais suportada. O contêiner de OCR de Leitura tem um trabalho cron integrado que remove os resultados e os metadados associados a uma solicitação após 48 horas.
  • Cache:Redis:Configuration não é mais suportada. O Cache não é usado nos contêineres v3.x, portanto, não será necessário defini-lo.

Requisitos de memória

Os requisitos e as recomendações são baseados em parâmetros de comparação com uma solicitação por segundo, usando uma imagem de 523 MB de uma carta empresarial digitalizada que contém 29 linhas e 803 caracteres no total. A tabela a seguir descreve as alocações mínimas e recomendadas de recursos para cada contêiner de OCR de leitura.

Contêiner Mínimo Recomendadas
Leitura 3.2 2022-04-30 4 núcleos, 8 GB de memória 8 núcleos, 16 GB de memória

Cada núcleo precisa ser de pelo menos 2,6 GHz (gigahertz) ou mais rápido.

O núcleo e a memória correspondem às configurações --cpus e --memory, que são usadas como parte da opção Executar Comando do Docker.

Implementações de armazenamento

Observação

O MongoDB não é mais compatível com as versões 3.x do contêiner. Em vez disso, os contêineres são compatíveis com o Armazenamento do Azure e com sistemas de arquivos offline.

Implementação Argumento(s) de runtime necessário(s)
Nível de arquivo (padrão) Nenhum argumento de runtime é necessário. O diretório /share será usado.
Blob do Azure Storage:ObjectStore:AzureBlob:ConnectionString={AzureStorageConnectionString}

Implementações de fila

Na v3.x do contêiner, o RabbitMQ não é compatível no momento. As implementações de apoio compatíveis são:

Implementação Argumento(s) de Runtime Uso pretendido
Na memória (padrão) Nenhum argumento de runtime é necessário. Desenvolvimento e teste
Filas do Azure Queue:Azure:ConnectionString={AzureStorageConnectionString} Produção
RabbitMQ Indisponível Produção

Para obter uma redundância adicionada, o contêiner de Leitura v3.x usa um temporizador de visibilidade para garantir que as solicitações possam ser processadas com êxito caso ocorra uma falha, durante a execução em uma configuração de vários contêineres.

Defina o temporizador com Queue:Azure:QueueVisibilityTimeoutInMilliseconds, que definirá o tempo para uma mensagem ficar invisível quando outro trabalho a estiver processando. Para evitar que as páginas sejam processadas de modo redundante, recomendamos definir o período de tempo limite como 120 segundos. O valor padrão é 30 segundos.

Valor padrão Valor recomendado
30000 120000

Próximas etapas