Это содержимое относится к: версии 3.0 (GA) версии 3.1 (GA)
Аналитика документов Azure — это служба ИИ Azure, которая позволяет создавать автоматизированное программное обеспечение для обработки данных с помощью технологии машинного обучения. Аналитика документов позволяет выявлять и извлекать текст, пары "ключ-значение", метки выделения, табличные данные и многое другое из документов. Результаты предоставляются в виде структурированных данных, которые .. /включает связи в исходном файле. Контейнеры обрабатывают только предоставленные им данные и используют только те ресурсы, к которых они могут получить доступ. Контейнеры не могут обрабатывать данные из других регионов.
В этой статье вы узнаете, как скачать, установить и запустить контейнеры аналитики документов. Контейнеры позволяют запускать службу аналитики документов в собственной среде. Контейнеры соответствуют конкретным требованиям к безопасности и управлению данными.
Модели чтения, макета, документа идентификатора, квитанции и счета поддерживаются контейнерами Аналитики документов версии 3.1.
Модели чтения, макета, общего документа, визитной карточки и пользовательских моделей поддерживаются контейнерами Аналитики документов версии 3.0.
Поддерживаемые версии
Поддержка контейнеров в настоящее время доступна в версии v3.0: 2022-08-31 (GA)
Аналитики документов для всех моделей и v3.1 2023-07-31 (GA)
для моделей чтения, макета, документа идентификатора, квитанции и счета:
Необходимые компоненты
Чтобы приступить к работе, требуется активная учетная запись Azure. Если ее нет, можно создать бесплатную учетную запись.
Для использования контейнеров аналитики документов также требуется следующее:
Обязательное поле |
Характер использования |
Знакомство с Docker |
У вас должно быть базовое понимание концепций Docker, таких как реестры, репозитории, контейнеры и образы контейнеров, а также знание базовой docker терминологии и команд. |
Модуль Docker установлен |
- На главном компьютере должен быть установлен модуль Docker. Docker предоставляет пакеты, которые настраивают среду Docker в ОС macOS, Windows и Linux. Ознакомьтесь с общими сведениями о Docker и контейнерах.
- Docker нужно настроить таким образом, чтобы контейнеры могли подключать и отправлять данные о выставлении счетов в Azure.
- В Windows для поддержки контейнеров Linux также должен быть настроен Docker.
|
Ресурс аналитики документов |
Однослужба Azure AI Document Intelligence или ресурс с несколькими службами в портал Azure. Чтобы использовать контейнеры, необходимо иметь соответствующий ключ и универсальный код ресурса (URI) конечной точки. Оба значения доступны на странице портал Azure ключей аналитики документов и конечной точки:- {FORM_RECOGNIZER_KEY}: один из двух доступных ключей ресурсов.
- {FORM_RECOGNIZER_ENDPOINT_URI}: конечная точка для ресурса, используемая для трассировки сведений о выставлении счетов.
|
Необязательно |
Характер использования |
Azure CLI (интерфейс командной строки) |
Azure CLI позволяет использовать набор онлайн-команд для создания ресурсов Azure и управления ими. Интерфейс доступен для установки в средах Windows, macOS и Linux и может запускаться в контейнере Docker и в Azure Cloud Shell. |
Требования к компьютеру узла
Узел — это 64-разрядный компьютер, на котором выполняется контейнер Docker. Это может быть компьютер в локальной среде или служба размещения Docker в Azure, включая следующие решения:
Примечание.
Обратите внимание, что контейнер Studio нельзя развернуть и запустить в Служба Azure Kubernetes. Контейнер Studio поддерживается только для запуска на локальном компьютере.
Требования к контейнеру и рекомендации
Обязательные вспомогательные контейнеры
В следующей таблице перечислены один или несколько вспомогательных контейнеров для каждого скачиваемого контейнера аналитики документов. Дополнительные сведения приведены в разделе Выставление счетов.
Контейнер элементов |
Поддержка контейнеров |
Чтение |
Необязательное |
Макет |
Необязательное |
Визитная карточка |
Чтение |
Общий документ |
Макет |
Счет-фактура |
Макет |
Квитанция |
Чтение или макет |
Удостоверение |
Чтение |
Пользовательский шаблон |
Макет |
Рекомендуемые ядра ЦП и память
Примечание.
Минимальные и рекомендуемые значения основаны на ограничениях Docker, а не на ресурсах узла.
Контейнеры аналитики документов
Контейнер |
Минимальная конфигурация |
Рекомендуемая конфигурация |
Read |
8 ядра, 10 ГБ памяти |
8 ядра, 24 ГБ памяти |
Layout |
8 ядра, 16 ГБ памяти |
8 ядра, 24 ГБ памяти |
Business Card |
8 ядра, 16 ГБ памяти |
8 ядра, 24 ГБ памяти |
General Document |
8 ядра, 12 ГБ памяти |
8 ядра, 24 ГБ памяти |
ID Document |
8 ядра, 8 ГБ памяти |
8 ядра, 24 ГБ памяти |
Invoice |
8 ядра, 16 ГБ памяти |
8 ядра, 24 ГБ памяти |
Receipt |
8 ядра, 11 ГБ памяти |
8 ядра, 24 ГБ памяти |
Custom Template |
8 ядра, 16 ГБ памяти |
8 ядра, 24 ГБ памяти |
- Частота каждого ядра должна быть минимум 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
для значения задано значение.
Значение EULA
, Billing
и ApiKey
значения должны быть указаны; в противном случае контейнер не может запуститься.
Внимание
Ключи используются для доступа к ресурсу Аналитики документов. Не предоставляйте доступ к ключам. Храните их защищенным образом, например в Azure Key Vault. Также рекомендуется регулярно обновлять эти ключи. Для вызова API необходим только один ключ. При повторном создании первого ключа можно использовать второй ключ для продолжения доступа к службе.
Следующий пример кода является автономным docker compose
примером для запуска контейнера макета аналитики документов. При работе в docker compose
используйте файл YAML для настройки служб приложения. Затем с помощью команды вы создадите docker-compose up
и запустите все службы из конфигурации. Введите значения {FORM_RECOGNIZER_ENDPOINT_URI} и {FORM_RECOGNIZER_KEY} для экземпляра контейнера Макета.
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
Теперь можно запустить службу с помощью команды docker compose.
docker-compose up
Следующий пример кода является автономным docker compose
примером для запуска контейнера общего документа аналитики документов. При работе в docker compose
используйте файл YAML для настройки служб приложения. Затем с помощью команды docker-compose up
вы создаете и запускаете все службы из своей конфигурации. Введите значения {FORM_RECOGNIZER_ENDPOINT_URI} и {FORM_RECOGNIZER_KEY} для экземпляров контейнеров общего документа и макета.
version: "3.9"
services:
azure-cognitive-service-document:
container_name: azure-cognitive-service-document
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/document-3.0
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
- AzureCognitiveServiceLayoutHost=http://azure-cognitive-service-layout:5000
ports:
- "5000:5050"
azure-cognitive-service-layout:
container_name: azure-cognitive-service-layout
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.0
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
Теперь можно запустить службу с помощью команды docker compose.
docker-compose up
Учитывая ресурсы на компьютере, контейнер "Общие документы" может занять некоторое время для запуска.
Следующий пример кода является автономным docker compose
примером для запуска контейнера макета аналитики документов. При работе в docker compose
используйте файл YAML для настройки служб приложения. Затем с помощью команды docker-compose up
вы создаете и запускаете все службы из своей конфигурации. Введите значения {FORM_RECOGNIZER_ENDPOINT_URI} и {FORM_RECOGNIZER_KEY} для экземпляра контейнера Макета.
version: "3.9"
services:
azure-form-recognizer-layout:
container_name: azure-form-recognizer-layout
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.1
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
ports:
- "5000:5000"
networks:
- ocrvnet
networks:
ocrvnet:
driver: bridge
Теперь можно запустить службу с помощью команды docker compose.
docker-compose up
Следующий пример кода является автономным docker compose
примером для запуска контейнера "Аналитика документов". При работе в docker compose
используйте файл YAML для настройки служб приложения. Затем с помощью команды docker-compose up
вы создаете и запускаете все службы из своей конфигурации. Введите значения {FORM_RECOGNIZER_ENDPOINT_URI} и {FORM_RECOGNIZER_KEY} для экземпляров контейнеров "Счет" и "Макет".
Вы должны использовать образ макета общедоступной версии 3.1 в качестве вышестоящего плана для моделей выставления счетов 3.0 GA и 3.1 GA.
version: "3.9"
services:
azure-cognitive-service-invoice:
container_name: azure-cognitive-service-invoice
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice-3.1
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
- AzureCognitiveServiceLayoutHost=http://azure-cognitive-service-layout:5000
ports:
- "5000:5050"
azure-cognitive-service-layout:
container_name: azure-cognitive-service-layout
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.1
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
Теперь можно запустить службу с помощью команды docker compose.
docker-compose up
Следующий пример кода является автономным docker compose
примером для запуска контейнера общего документа аналитики документов. При работе в docker compose
используйте файл YAML для настройки служб приложения. Затем с помощью команды docker-compose up
вы создаете и запускаете все службы из своей конфигурации. Введите значения {FORM_RECOGNIZER_ENDPOINT_URI} и {FORM_RECOGNIZER_KEY} для экземпляров контейнеров квитанции и чтения.
Вы можете использовать изображение макета общедоступной версии 3.1 в качестве вышестоящего элемента вместо изображения чтения.
version: "3.9"
services:
azure-cognitive-service-receipt:
container_name: azure-cognitive-service-receipt
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/receipt-3.1
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
- AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
ports:
- "5000:5050"
azure-cognitive-service-read:
container_name: azure-cognitive-service-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}
Теперь можно запустить службу с помощью команды docker compose.
docker-compose up
Следующий пример кода является автономным docker compose
примером для запуска контейнера общего документа аналитики документов. При работе в docker compose
используйте файл YAML для настройки служб приложения. Затем с помощью команды docker-compose up
вы создаете и запускаете все службы из своей конфигурации. Введите значения {FORM_RECOGNIZER_ENDPOINT_URI} и {FORM_RECOGNIZER_KEY} для экземпляров идентификатора и чтения контейнеров.
Вы можете использовать изображение макета общедоступной версии 3.1 в качестве вышестоящего элемента вместо изображения чтения.
version: "3.9"
services:
azure-cognitive-service-id-document:
container_name: azure-cognitive-service-id-document
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/id-document-3.1
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
- AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
ports:
- "5000:5050"
azure-cognitive-service-read:
container_name: azure-cognitive-service-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}
Теперь можно запустить службу с помощью команды docker compose.
docker-compose up
version: "3.9"
services:
azure-cognitive-service-invoice:
container_name: azure-cognitive-service-businesscard
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/businesscard-3.0
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
- AzureCognitiveServiceLayoutHost=http://azure-cognitive-service-layout:5000
ports:
- "5000:5050"
azure-cognitive-service-layout:
container_name: azure-cognitive-service-layout
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.0
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- apiKey={FORM_RECOGNIZER_KEY}
Помимо предварительных требований, необходимо выполнить следующие действия, чтобы обработать пользовательский документ:
Создайте папку и сохраните следующие файлы
- Присвойте этому файлу папки имя.
- Мы ссылаемся на путь к файлу для этой папки как {FILE_MOUNT_PATH}.
- Скопируйте путь к файлу в удобном расположении, необходимо добавить его в env-файл . Например, если папка называется файлами, расположенными в той же папке, что
docker-compose
и файл, запись ENV-файла является FILE_MOUNT_PATH="./files"
Создайте папку для хранения журналов, написанных службой аналитики документов на локальном компьютере.
- Назовите эту папку output.
- Мы ссылаемся на путь к файлу для этой папки как {OUTPUT_MOUNT_PATH}.
- Скопируйте путь к файлу в удобном расположении, необходимо добавить его в env-файл . Как пример, если папка называется выходными данными, расположенными в той же папке, что
docker-compose
и файл, запись ENV-файла является OUTPUT_MOUNT_PATH="./output"
Создание папки для хранения общего доступа к внутренней обработке между контейнерами
- Назовите эту папку shared.
- Мы ссылаемся на путь к файлу для этой папки как {SHARED_MOUNT_PATH}.
- Скопируйте путь к файлу в удобном расположении, необходимо добавить его в env-файл . Например, если папка называется общей, расположенная в той же папке, что
docker-compose
и файл, запись env-файла имеет значение SHARED_MOUNT_PATH="./shared"
- Назовите эту базу данных папок.
- Мы ссылаемся на путь к файлу для этой папки как {DB_MOUNT_PATH}.
- Скопируйте путь к файлу в удобном расположении, необходимо добавить его в env-файл . Как пример, если папка называется db, расположенная в той же папке, что
docker-compose
и файл, запись ENV-файла имеет значение DB_MOUNT_PATH="./db"
Создание файла среды
Назовите этот файл .env.
Настройте следующие переменные среды.
SHARED_MOUNT_PATH="./shared"
OUTPUT_MOUNT_PATH="./output"
FILE_MOUNT_PATH="./files"
DB_MOUNT_PATH="./db"
FORM_RECOGNIZER_ENDPOINT_URI="YourFormRecognizerEndpoint"
FORM_RECOGNIZER_KEY="YourFormRecognizerKey"
NGINX_CONF_FILE="./nginx.conf"
Создание файла nginx
Назовите этот файл nginx.conf.
Укажите следующую конфигурацию.
worker_processes 1;
events { worker_connections 1024; }
http {
sendfile on;
client_max_body_size 90M;
upstream docker-custom {
server azure-cognitive-service-custom-template:5000;
}
upstream docker-layout {
server azure-cognitive-service-layout:5000;
}
server {
listen 5000;
location = / {
proxy_set_header Host $host:$server_port;
proxy_set_header Referer $scheme://$host:$server_port;
proxy_pass http://docker-custom/;
}
location /status {
proxy_pass http://docker-custom/status;
}
location /test {
return 200 $scheme://$host:$server_port;
}
location /ready {
proxy_pass http://docker-custom/ready;
}
location /swagger {
proxy_pass http://docker-custom/swagger;
}
location /formrecognizer/documentModels/prebuilt-layout {
proxy_set_header Host $host:$server_port;
proxy_set_header Referer $scheme://$host:$server_port;
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Headers' 'cache-control,content-type,ocp-apim-subscription-key,x-ms-useragent' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
add_header 'Access-Control-Expose-Headers' '*' always;
if ($request_method = 'OPTIONS') {
return 200;
}
proxy_pass http://docker-layout/formrecognizer/documentModels/prebuilt-layout;
}
location /formrecognizer/documentModels {
proxy_set_header Host $host:$server_port;
proxy_set_header Referer $scheme://$host:$server_port;
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Headers' 'cache-control,content-type,ocp-apim-subscription-key,x-ms-useragent' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE' always;
add_header 'Access-Control-Expose-Headers' '*' always;
if ($request_method = 'OPTIONS') {
return 200;
}
proxy_pass http://docker-custom/formrecognizer/documentModels;
}
location /formrecognizer/operations {
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Headers' 'cache-control,content-type,ocp-apim-subscription-key,x-ms-useragent' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE, PATCH' always;
add_header 'Access-Control-Expose-Headers' '*' always;
if ($request_method = OPTIONS ) {
return 200;
}
proxy_pass http://docker-custom/formrecognizer/operations;
}
}
}
Создание файла создания docker
Назовите этот файл docker-compose.yml.
Следующий пример кода — это автономный docker compose
пример для запуска контейнеров шаблонов аналитики документов, Студии и пользовательских шаблонов. При работе в docker compose
используйте файл YAML для настройки служб приложения. Затем с помощью команды docker-compose up
вы создаете и запускаете все службы из своей конфигурации.
version: '3.3'
services:
nginx:
image: nginx:alpine
container_name: reverseproxy
volumes:
- ${NGINX_CONF_FILE}:/etc/nginx/nginx.conf
ports:
- "5000:5000"
layout:
container_name: azure-cognitive-service-layout
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.0:latest
environment:
eula: accept
apikey: ${FORM_RECOGNIZER_KEY}
billing: ${FORM_RECOGNIZER_ENDPOINT_URI}
Logging:Console:LogLevel:Default: Information
SharedRootFolder: /shared
Mounts:Shared: /shared
Mounts:Output: /logs
volumes:
- type: bind
source: ${SHARED_MOUNT_PATH}
target: /shared
- type: bind
source: ${OUTPUT_MOUNT_PATH}
target: /logs
expose:
- "5000"
custom-template:
container_name: azure-cognitive-service-custom-template
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/custom-template-3.0:latest
restart: always
depends_on:
- layout
environment:
AzureCognitiveServiceLayoutHost: http://azure-cognitive-service-layout:5000
eula: accept
apikey: ${FORM_RECOGNIZER_KEY}
billing: ${FORM_RECOGNIZER_ENDPOINT_URI}
Logging:Console:LogLevel:Default: Information
SharedRootFolder: /shared
Mounts:Shared: /shared
Mounts:Output: /logs
volumes:
- type: bind
source: ${SHARED_MOUNT_PATH}
target: /shared
- type: bind
source: ${OUTPUT_MOUNT_PATH}
target: /logs
expose:
- "5000"
studio:
container_name: form-recognizer-studio
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/studio:3.0
environment:
ONPREM_LOCALFILE_BASEPATH: /onprem_folder
STORAGE_DATABASE_CONNECTION_STRING: /onprem_db/Application.db
volumes:
- type: bind
source: ${FILE_MOUNT_PATH} # path to your local folder
target: /onprem_folder
- type: bind
source: ${DB_MOUNT_PATH} # path to your local folder
target: /onprem_db
ports:
- "5001:5001"
user: "1000:1000" # echo $(id -u):$(id -g)
Пользовательский контейнер шаблона и контейнер макета могут использовать служба хранилища Azure очереди или в очередях памяти. Storage:ObjectStore:AzureBlob:ConnectionString
queue:azure:connectionstring
Переменные среды и переменные среды должны быть заданы только в том случае, если вы используете служба хранилища Azure очереди. При локальном запуске удалите эти переменные.
Убедитесь, что служба запущена.
Необходимо проверить, что служба запущена и работает. Выполните эти команды в оболочке Ubuntu.
$cd <folder containing the docker-compose file>
$source .env
$docker-compose up
Для контейнеров пользовательских шаблонов требуется несколько различных конфигураций и поддержка других необязательных конфигураций.
Параметр |
Обязательно |
Описание: |
EULA |
Да |
Пример принятия лицензий: Eula=accept |
Выставление счетов |
Да |
URI конечной точки выставления счетов ресурса FR |
ApiKey |
Да |
Ключ конечной точки ресурса FR |
Очередь:Azure:ConnectionString |
No |
Строка подключения очереди Azure |
Storage:ObjectStore:AzureBlob:ConnectionString |
No |
Строка подключения BLOB-объектов Azure |
HealthCheck:MemoryUpperboundInMB |
No |
Порог памяти для создания отчетов о неработоспособных действиях. По умолчанию: то же самое, что и рекомендуемая память |
StorageTimeToLiveInMinutes |
No |
TTL длительность удаления всех промежуточных и конечных файлов. По умолчанию: два дня может TTL быть задано от пяти минут до семи дней. |
Task:MaxRunningTimeSpanInMinutes |
No |
Максимальное время выполнения для обработки запроса в качестве времени ожидания. Значение по умолчанию: 60 минут |
HTTP_PROXY_BYPASS_URLS |
No |
Укажите URL-адреса для обхода прокси-сервера: HTTP_PROXY_BYPASS_URLS = abc.com, xyz.com |
AzureCognitiveServiceReadHost (только для получения, контейнеров IdDocument) |
Да |
Укажите пример URI контейнера чтения:AzureCognitiveServiceReadHost=http://onprem-frread:5000 |
AzureCognitiveServiceLayoutHost (только для документов, контейнеров счетов) |
Да |
Укажите URI контейнера макета: AzureCognitiveServiceLayoutHost=http://onprem-frlayout:5000 |
Обучение модели с помощью Document Intelligence Studio
Соберите по крайней мере пять форм одного типа. Эти данные используются для обучения модели и тестирования формы. Можно использовать образец набора данных (загрузите и распакуйте sample_data.zip).
Убедившись, что контейнеры запущены, откройте браузер и перейдите к конечной точке, в которой развернуты контейнеры. Если это развертывание является локальным компьютером, конечная точка .[http://localhost:5001](http://localhost:5001)
Выберите плитку пользовательской модели извлечения.
Create project
Выберите параметр.
Укажите имя проекта и при необходимости описание
На шаге "Настройка ресурса" укажите конечную точку пользовательской модели шаблона. Если вы развернули контейнеры на локальном компьютере, используйте этот URL-адрес [http://localhost:5000](http://localhost:5000)
.
Укажите вложенную папку, в которой данные обучения находятся в папке файлов.
Наконец, создайте проект
Теперь у вас должен быть созданный проект, готовый к маркировке. Отправьте данные обучения и начните работу с метками. Если вы не знакомы с метками, ознакомьтесь со сборкой и обучением пользовательской модели.
Обучение с помощью API
Если вы планируете вызывать API-интерфейсы непосредственно для обучения модели, для обучения пользовательской модели шаблона API требуется ZIP-файл в кодировке Base64, который является содержимым проекта маркировки. Вы можете опустить PDF-файлы или файлы изображений и отправлять только JSON-файлы.
Получив метку набора данных и *.ocr.json, *.labels.json и файлы fields.json, добавленные в ZIP-файл, используйте команды PowerShell для создания строки в кодировке Base64.
$bytes = [System.IO.File]::ReadAllBytes("<your_zip_file>.zip")
$b64String = [System.Convert]::ToBase64String($bytes, [System.Base64FormattingOptions]::None)
Используйте API модели сборки для отправки запроса.
POST http://localhost:5000/formrecognizer/documentModels:build?api-version=2023-07-31
{
"modelId": "mymodel",
"description": "test model",
"buildMode": "template",
"base64Source": "<Your base64 encoded string>",
"tags": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}
Убедитесь, что сервер запущен.
Есть несколько способов проверить, что контейнер запущен:
Контейнер предоставляет домашнюю страницу \
в качестве визуальной проверки того, что контейнер работает.
Вы можете открыть свой любимый веб-браузер и перейти к внешнему 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 и формат текста. |
|
|
Остановка контейнеров
Чтобы остановить контейнеры, используйте следующую команду.
docker-compose down
Выставление счетов
Контейнеры аналитики документов отправляют сведения о выставлении счетов в Azure с помощью ресурса Аналитики документов в учетной записи Azure.
Запросы к контейнеру выставляются по ценовой категории ресурса Azure, используемого для API Key
. Выставление счетов вычисляется для каждого экземпляра контейнера, используемого для обработки документов и изображений.
Если вы получите следующую ошибку: контейнер не имеет допустимого состояния. Сбой проверки подписки с ключом API OutOfQuota не является квотой. Это индикатор того, что контейнеры не обмен данными в конечной точке выставления счетов.
Подключение к Azure
Для запуска контейнера необходимо указать значения аргументов, касающихся выставления счетов. Эти значения обеспечивают подключение контейнера к конечной точке выставления счетов. Отчеты об использовании контейнера примерно каждые 10—15 минут. Если контейнер не подключится к Azure в течение допустимого периода времени, контейнер будет продолжать работать, но не будет обслуживать запросы, пока не будет восстановлена конечная точка выставления счетов. Попытки подключения выполняются 10 раз на протяжении одинакового интервала времени (10–15 минут). Если контейнеру не удается подключиться к конечной точке выставления счетов за 10 попыток, он останавливает запросы на обслуживание. См. часто задаваемые вопросы о контейнере ИИ Azure, чтобы получить пример информации, отправляемой в Корпорацию Майкрософт для выставления счетов.
Аргументы для выставления счетов
Команда docker-compose up запускает контейнер, когда все три из следующих параметров предоставляются допустимыми значениями:
Вариант |
Описание |
ApiKey |
Ключ ресурса служб ИИ Azure, используемого для отслеживания сведений о выставлении счетов. Значение этого параметра должно быть задано в качестве ключа для подготовленного ресурса, указанного в Billing . |
Billing |
Конечная точка ресурса служб искусственного интеллекта Azure, используемая для отслеживания сведений о выставлении счетов. Этому параметру следует присвоить URI конечной точки подготовленного ресурса Azure. |
Eula |
Указывает, что вы приняли условия лицензии для контейнера. Для этого параметра следует задать значение accept. |
Дополнительные сведения об этих параметрах см. в статье Настройка контейнеров.
Итоги
Вот и все! В этой статье вы узнали основные понятия и рабочие процессы для скачивания, установки и запуска контейнеров аналитики документов. Сводка:
- Аналитика документов предоставляет семь контейнеров Linux для Docker.
- Образы контейнеров загружаются из mcr.
- Образы контейнеров выполняются в Docker.
- При создании экземпляра контейнера необходимо указать данные для выставления счетов.
Внимание
Контейнеры ИИ Azure не лицензируются для запуска без подключения к Azure для измерения. Клиенты должны разрешить контейнерам непрерывную передачу данных для выставления счетов в службу контроля потребления. Контейнеры ИИ Azure не отправляют данные клиента (например, изображение или текст, анализируемый) в корпорацию Майкрософт.
Следующие шаги