Установка и запуск контейнеров Распознаватель документов версии 2.1

Эта статья относится к флажку:Распознаватель документов версии 2.1Распознаватель документов версии 2.1.

Распознаватель документов Azure входит в состав сервисов прикладного ИИ и позволяет создавать программное обеспечение для автоматизированной обработки данных с использованием технологии машинного обучения. Распознаватель документов позволяет идентифицировать и извлекать текст, пары ключ — значение, метки выбора, данные таблицы и многое другое из документов формы. Результаты предоставляются в виде структурированных данных, которые включают в себя связи в исходном файле.

В этой статье содержатся сведения о загрузке, установке и запуске контейнеров Распознавателя документов Azure. Контейнеры позволяют запускать службу Распознавателя документов Azure в вашей собственной среде. Контейнеры соответствуют конкретным требованиям к безопасности и управлению данными. Функциональные возможности распознавателя документов поддерживают шесть контейнеров функций Распознавателя документов Azure: Макет, Визитная карточка, Удостоверение, Квитанция, Счет и Пользовательский (для контейнеров "Квитанция", "Визитная карточка" и "Удостоверение" вам также понадобится контейнер OCR Чтение).

Важно!

Предварительные требования

Для начала вам потребуется активная учетная запись Azure. Если ее нет, можно создать бесплатную учетную запись.

Для использования контейнеров Распознавателя документов Azure также понадобится следующее.

Обязательно Назначение
Опыт работы с Docker У вас должны быть базовые знания о концепциях Docker, таких как реестры, репозитории, контейнеры и образы контейнеров, а также знание основной dockerтерминологии и команд.
Модуль Docker установлен
  • На главном компьютере должен быть установлен модуль Docker. Docker предоставляет пакеты, которые настраивают среду Docker в ОС macOS, Windows и Linux. Ознакомьтесь с общими сведениями о Docker и контейнерах.
  • Docker нужно настроить таким образом, чтобы контейнеры могли подключать и отправлять данные о выставлении счетов в Azure.
  • В Windows для поддержки контейнеров Linux также должен быть настроен Docker.
Ресурс Распознавателя документов Распознаватель документов Azure с одной службой или Cognitive Services с несколькими службами на портале Azure. Чтобы использовать контейнеры, необходимо иметь соответствующий ключ и универсальный код ресурса (URI) конечной точки. Оба значения доступны на странице Ключи и конечная точка для распознавателя форм портала Azure.
  • {FORM_RECOGNIZER_KEY} : один из двух доступных ключей ресурсов.
  • {FORM_RECOGNIZER_ENDPOINT_URI} : конечная точка для ресурса, используемая для трассировки сведений о выставлении счетов.
Ресурс API Компьютерного зрения Для обработки визитных карточек, удостоверений или карточек квитанций вам потребуется компьютерное зрение.
  • Функция "Распознавание текста" доступна либо в виде ресурса Azure (REST API или пакет SDK), либо в виде контейнераcognitive-services-recognize-text. Взимается обычная плата за выставление счетов.
  • При использовании контейнера cognitive-services-recognize-text убедитесь, что ваш ключ активации функций компьютерного зрения для контейнера Распознавателя документов Azure является ключом, указанным в команде для компьютерного зрения docker run или docker compose для контейнера cognitive-services-recognize-text, а конечная точка выставления счетов — это конечная точка контейнера (например, http://localhost:5000). При совместном использовании контейнеров Компьютерного зрения и Распознавателя документов в одному узле их нельзя одновременно запустить с помощью порта 5000, заданного по умолчанию.

Передайте ключ и конечные точки для облака Azure Компьютерного зрения или контейнера Cognitive Services:
  • {COMPUTER_VISION_KEY} : один из двух доступных ключей ресурсов.
  • {COMPUTER_VISION_ENDPOINT_URI} : конечная точка для ресурса, используемая для трассировки сведений о выставлении счетов.
Необязательно Цель
Интерфейс командной строки Azure (Azure CLI) Azure CLI позволяет использовать набор онлайн-команд для создания ресурсов Azure и управления ими. Интерфейс доступен для установки в средах Windows, macOS и Linux и может запускаться в контейнере Docker и в Azure Cloud Shell.

Запрос разрешения на запуск контейнера

Заполните и отправьте Приложение Azure Cognitive Services для закрытых служб, чтобы запросить доступ к контейнеру.

В форме нужно указать сведения о себе, компании и пользовательском сценарии, для которого будет использоваться контейнер. После отправки формы команда Azure Cognitive Services рассмотрит ее и сообщит о своем решении в течение 10 рабочих дней.

Важно!

  • В форме необходимо указать адрес электронной почты, связанный с идентификатором подписки Azure.
  • Используемый для запуска контейнера ресурс Azure должен быть создан с утвержденным идентификатором подписки Azure.
  • Проверьте электронную почту (папки "Входящие" и "Спам") на наличие писем от Майкрософт о статусе вашей заявки.

После утверждения можно скачать контейнер из реестра Microsoft Container Registry (MCR), как описано далее в этой статье, а затем запустить его.

Запуск контейнера невозможен без утвержденной подписки Azure.

Требования к компьютеру узла

Узел — это 64-разрядный компьютер, на котором выполняется контейнер Docker. Это может быть компьютер в локальной среде или служба размещения Docker в Azure, включая следующие решения:

Требования к контейнеру и рекомендации

Необходимые вспомогательные контейнеры

В следующей таблице перечислены контейнеры поддержки для каждого скачанного контейнера Распознавателя документов. Дополнительные сведения приведены в разделе Выставление счетов.

Контейнер элементов Контейнеры поддержки
Макет Отсутствуют
Визитная карточка Компьютерное зрение. Чтение
Удостоверение Компьютерное зрение. Чтение
Накладная Макет
Карточка квитанции Компьютерное зрение. Чтение
Пользовательский Пользовательский API, Настраиваемый защищенный, Макет

Примечание

Минимальные и рекомендуемые значения основаны на ограничениях Docker, а не на ресурсах узла.

Контейнеры "Чтение", "Макет" и "Предварительно созданный"
Контейнер Минимальные Рекомендуемая
См. 3.2 8 ядра, 16 ГБ памяти 8 ядра, 24 ГБ памяти
Макет 2.1 8 ядра, 16 ГБ памяти 8 ядра, 24 ГБ памяти
Визитная карточка 2.1 2 ядра, 4 ГБ памяти 4 ядра, 4 ГБ памяти
Документ идентификатора 2.1 1 ядро, 2 ГБ памяти 2 ядра, 2 ГБ памяти
Счет 2.1 4 ядра, 8 ГБ памяти 8 ядра, 8 ГБ памяти
Квитанция 2.1 4 ядра, 8 ГБ памяти 8 ядра, 8 ГБ памяти
Пользовательские контейнеры

Следующие требования к компьютеру узла применимы для обучения и анализа запросов.

Контейнер Минимальные Рекомендуемая
Пользовательский язык API 0,5 ядра, 0,5 ГБ памяти 1 ядро, 1 ГБ памяти
Настраиваемый защищенный 4 ядра, 2 ГБ памяти 8 ядра, 4 ГБ памяти
  • Частота каждого ядра должна быть минимум 2,6 ГГц.
  • Ядро и память соответствуют параметрам --cpus и --memory, которые используются как часть команды docker compose или docker run.

Совет

Используйте команду docker images, чтобы получить список скачанных образов контейнеров. Например, следующая команда возвращает таблицу со списком идентификаторов, репозиториев и тегов для каждого скачанного образа контейнера:

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

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

Запустите контейнер с помощью команды docker-compose up.

  • Замените значения {ENDPOINT_URI} и {API_KEY} на URI конечной точки ресурса и ключ со страницы ресурса Azure.

    Снимок экрана: страница

  • Для параметра EULA (лицензионное соглашение) должно быть установлено значение "accept" (принять).

  • Необходимо указать значения EULA, Billing и Key; в противном случае контейнер не запустится.

Важно!

Ключи используются для доступа к вашему ресурсу Распознавателя документов. Не предоставляйте доступ к ключам другим пользователям. Храните их защищенным образом, например в Azure Key Vault. Также рекомендуется регулярно повторно создавать эти ключи. Для вызова API необходим только один ключ. При повторном создании первого ключа второй ключ можно использовать для бесперебойного доступа к службе.

Следующий пример кода является автономным docker compose примером запуска контейнера макета Распознаватель документов. При работе в docker compose используйте файл YAML для настройки служб приложения. Затем с помощью команды docker-compose up вы создаете и запускаете все службы из своей конфигурации. Введите значения {FORM_RECOGNIZER_ENDPOINT_URI} и {{FORM_RECOGNIZER_KEY} для своего экземпляра контейнера "Макет".

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

Теперь можно запустить службу с помощью команды docker compose.

docker-compose up

Пример средства маркировки и Экземпляры контейнеров Azure (ACI)

Сведения об использовании примера средства маркировки с экземпляром контейнера Azure см. в статье Развертывание примера средства маркировки.

Убедитесь, что сервер запущен.

Есть несколько способов проверить, что контейнер запущен:

  • Контейнер предоставляет домашнюю страницу \ в качестве визуальной проверки того, что контейнер работает.

  • Вы можете открыть свой любимый веб-браузер и перейти к внешнему IP-адресу и открытому порту соответствующего контейнера. Используйте перечисленные URL-адреса запроса, чтобы проверить, выполняется ли контейнер. Приведенные в списке примеры URL-адресов запросов : http://localhost:5000, но конкретный контейнер может отличаться. Помните, что вы переходите к Внешнему IP-адресу и открытому порту контейнера.

    URL-адрес запроса Назначение
    http://localhost:5000/ Контейнер предоставляет домашнюю страницу.
    http://localhost:5000/ready Запрос с помощью команды GET это подтверждает, что контейнер готов принять запрос к модели. Этот запрос может использоваться для проб активности и готовности Kubernetes.
    http://localhost:5000/status Запрос с помощью команды GET проверяет, действителен ли ключ API, используемый для запуска контейнера, без запроса конечной точки. Этот запрос может использоваться для проб активности и готовности Kubernetes.
    http://localhost:5000/swagger Контейнер предоставляет полный набор документации по конечным точкам и функции Попробовать. Эта функция позволяет ввести параметры в веб-форму HTML и создать запрос без необходимости писать код. После возвращения результатов запроса предоставляется пример команды CURL с примером требуемого формата HTTP-заголовков и текста.

Снимок экрана: страница приветствия контейнера Azure.

Остановка контейнеров

Чтобы остановить контейнеры, используйте следующую команду.

docker-compose down

Выставление счетов

Контейнеры Распознавателя документов отправляют данные для выставления счетов в Azure с помощью ресурса Распознавателя документов в учетной записи Azure.

Запросы к контейнеру оплачиваются согласно ценовой категории ресурсов Azure, используемой для Key. Вам будет выставлен счет за каждый экземпляр контейнера, используемый для обработки ваших документов и изображений. Таким образом, если вы используете функцию визитной карточки, вам будет выставлен счет за экземпляры контейнера BusinessCard и Computer Vision Read Распознавателя документов. Если вы используете функцию накладной, вам будет выставлен счет за экземпляры контейнера Invoice и Layout Распознавателя документов. См. сведения о Распознавателе документов Azure и стоимости контейнера Чтение для компьютерного зрения.

Контейнеры Azure Cognitive Services не лицензируются для запуска без подключения к конечной точке измерения показателей/выставления счетов. Контейнеры должны быть включены, чтобы всегда передавать сведения о выставлении счетов с конечной точкой выставления счетов. Контейнеры Cognitive Services не отправляют в корпорацию Майкрософт данные клиента, например анализируемые изображения или тексты.

Подключение к Azure

Для запуска контейнера необходимо указать значения аргументов, касающихся выставления счетов. Эти значения обеспечивают подключение контейнера к конечной точке выставления счетов. Отчеты об использовании контейнера примерно каждые 10—15 минут. Если контейнер не подключится к Azure в течение допустимого периода времени, контейнер будет продолжать работать, но не будет обслуживать запросы, пока не будет восстановлена конечная точка выставления счетов. Попытки подключения выполняются 10 раз на протяжении одинакового интервала времени (10–15 минут). Если контейнеру не удается подключиться к конечной точке выставления счетов за 10 попыток, он останавливает запросы на обслуживание. Пример сведений, отправляемых в корпорацию Майкрософт для выставления счетов, см. в разделе Часто задаваемые вопросы о контейнере Cognitive Services.

Аргументы для выставления счетов

Команда docker-compose up запустит контейнер, если указаны следующие три параметра с допустимыми значениями.

Параметр Описание
Key Ключ ресурса Cognitive Services, используемый для отслеживания информации о выставлении счетов.
Этому параметру следует присвоить значение ключа для подготовленного ресурса, который указан в Billing.
Billing Конечная точка ресурса Cognitive Services, используемая для отслеживания информации о выставлении счетов.
Этому параметру следует присвоить URI конечной точки подготовленного ресурса Azure.
Eula Указывает, что вы приняли условия лицензии для контейнера.
Для этого параметра следует задать значение accept.

Дополнительные сведения об этих параметрах см. в статье Настройка контейнеров.

Итоги

Вот и все! В этой статье представлены основные понятия и рабочий процесс для загрузки, установки и выполнения контейнеров Распознавателя документов Azure. В разделе "Сводка" сделайте следующее.

  • Распознаватель документов предоставляет семь контейнеров Linux для Docker.
  • Образы контейнеров загружаются из mcr.
  • Образы контейнеров выполняются в Docker.
  • При создании экземпляра контейнера необходимо указать данные для выставления счетов.

Важно!

Контейнеры Cognitive Services не лицензируются для запуска без подключения к Azure для отслеживания использования. Клиенты должны разрешить контейнерам непрерывную передачу данных для выставления счетов в службу контроля потребления. Контейнеры Cognitive Services не отправляют в корпорацию Майкрософт данные клиента (например анализируемые изображения или тексты).

Дальнейшие действия