Миграция на версию 3.x контейнера OCR чтения

Если вы используете версию 2 контейнера OCR визуального распознавания ИИ Azure, используйте эту статью, чтобы узнать, как обновить приложение для использования контейнера версии 3.x.

Изменения API

Контейнер Read версии 3.2 использует версию 3 API визуального распознавания Azure и имеет следующие конечные точки:

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

Дополнительные сведения об обновлении приложений для использования API чтения см. в руководстве по миграции REST API azure AI версии 3. Синхронные операции поддерживаются только в контейнерах.

Изменения конфигурации

  • ReadEngineConfig:ResultExpirationPeriod более не поддерживаются. Контейнер с распознаванием текста с доступом на чтение содержит встроенное задание cron, которое удаляет связанные с запросом результаты и метаданные через 48 часов.
  • Cache:Redis:Configuration более не поддерживаются. Кэш в контейнерах версии 3.x не используется, поэтому его не нужно настраивать.

Требования к памяти

Требования и рекомендации основаны на тестах производительности с одним запросом в секунду. Для тестов использовалось отсканированное изображение делового письма размером 523 КБ, которое содержит 29 строк и 803 символа. В следующей таблице приводится минимальный и рекомендуемый объем ресурсов, выделяемых для каждого OCR-контейнера с доступом на чтение.

Контейнер Минимальная конфигурация Рекомендуемая конфигурация
См. 3.2 2022-04-30 4 ядра, 8 ГБ памяти 8 ядер, 16 ГБ памяти

Частота каждого ядра должна быть минимум 2,6 ГГц.

Ядра и память соответствуют параметрам --cpus и --memory, которые используются как часть команды docker run.

Реализации службы хранилища

Примечание.

MongoDB больше не поддерживается в контейнерах версии 3.x. Вместо этого контейнеры поддерживают службу хранилища Azure и автономные файловые системы.

Внедрение Обязательные аргументы среды выполнения
Уровень файла (по умолчанию) Аргументы среды выполнения не требуются. Будет использоваться каталог /share.
Большой двоичный объект Azure Storage:ObjectStore:AzureBlob:ConnectionString={AzureStorageConnectionString}

Реализации очередей

RabbitMQ в настоящее время не поддерживается в версии контейнера 3.x. Поддерживаются следующие резервные реализации:

Внедрение Аргументы среды выполнения предполагаемое использование;
В памяти (по умолчанию) Аргументы среды выполнения не требуются. Разработка и тестирование
Azure Queues Queue:Azure:ConnectionString={AzureStorageConnectionString} Производственный экземпляр
RabbitMQ Рекомендации недоступны Производственный экземпляр

Для повышения избыточности контейнер с доступом на чтение версии 3.x использует таймер видимости. Это также обеспечивает успешную обработку запросов в случае сбоя при многоконтейнерной установке.

Установите таймер с помощью Queue:Azure:QueueVisibilityTimeoutInMilliseconds. В результате будет задано время, в течение которого сообщение будет невидимым при обработке другой рабочей ролью. Чтобы избежать избыточной обработки страниц, рекомендуется установить период ожидания в 120 секунд. Значение по умолчанию — 30 секунд.

Default value Рекомендуемое значение
30 000 120000

Следующие шаги