В этой статье описывается масштабируемое и безопасное решение для создания автоматизированного конвейера обработки документов. В решении используется аналитика документов ИИ для структурированного извлечения данных. Модели обработки естественного языка (NLP) и пользовательские модели обогащены данными.
Архитектура
Скачайте файл Visio для этой архитектуры.
Поток данных
В следующих разделах описаны различные этапы процесса извлечения данных.
Прием и извлечение данных
Документы передаются через браузер в интерфейсе веб-приложения. Документы содержат изображения или формат PDF. приложение Azure служба размещает серверное приложение. Решение направляет документы в это приложение через Шлюз приложений Azure. Эта подсистема балансировки нагрузки выполняется с помощью Azure Брандмауэр веб-приложений, которая помогает защитить приложение от распространенных атак и уязвимостей.
Серверное приложение отправляет запрос в конечную точку REST API аналитики документов Azure, которая использует одну из моделей на основе требования к использованию.
К предварительно обученным моделям анализа документов относятся:
- модели OCR для чтения
- модели анализа макета
-
Общий документ. Кроме того, можно использовать модель анализа макета с необязательным параметром строки запроса
features=keyValuePairs
включено.)
предварительно обученные модели сценария включают (не только):
Ответ azure AI Document Intelligence содержит необработанные данные оптического распознавания символов (OCR) и структурированные извлечения в зависимости от модели.
Служба приложений серверное приложение использует значения достоверности для проверки качества извлечения. Если качество ниже указанного порогового значения, приложение помечает данные для проверки вручную. Когда качество извлечения соответствует требованиям, данные вступают в Azure Cosmos DB для потребления нижестоящего приложения. Приложение также может вернуть результаты в интерфейсный браузер.
Другие источники предоставляют изображения, PDF-файлы и другие документы. Источники включают вложения электронной почты и серверы FTP. Такие инструменты, как Фабрика данных Azure и AzCopy, передают эти файлы в Хранилище BLOB-объектов Azure. Azure Logic Apps предлагает конвейеры для автоматического извлечения вложений из сообщений электронной почты.
Когда документ входит в хранилище BLOB-объектов, активируется функция Azure. Функция :
- Отправляет запрос в соответствующую предварительно созданную конечную точку Аналитики документов Azure.
- Получает ответ.
- Оценивает качество извлечения.
Извлеченные данные входят в Azure Cosmos DB для потребления нижестоящего приложения.
Извлеченные данные также можно отправить в поиске ИИ Azure для создания приложений RAG.
Обогащение данных
Конвейер, используемый для обогащения данных, зависит от варианта использования.
Обогащение данных может включать следующие возможности NLP:
- Распознавание именованных сущностей (NER)
- Извлечение персональных данных, ключевых фраз, сведений о работоспособности и других сущностей, зависящих от домена
Чтобы обогатить данные, веб-приложение:
Извлекает извлеченные данные из Azure Cosmos DB.
Отправляет запросы к этим функциям API языка ИИ:
- NER
- Личная информация
- Извлечение ключевых фраз
- Анализ текста для работоспособности
- Пользовательский NER, который находится в предварительной версии
- Анализ тональности
- Интеллектуальный анализ мнений
Получает ответы от API языка ИИ.
Пользовательские модели выполняют обнаружение мошенничества, анализ рисков и другие типы анализа данных:
- Машинное обучение Azure службы обучают и развертывают пользовательские модели.
- Извлеченные данные извлекаются из Azure Cosmos DB.
- Модели получают аналитические сведения от данных.
Эти возможности существуют для вывода:
- Процессы в режиме реального времени. Модели можно развернуть в управляемых сетевых конечных точках или в сетевых конечных точках Kubernetes, где управляемый кластер Kubernetes может находиться в любом месте, включая Служба Azure Kubernetes (AKS).
- Пакетная выводная обработка может выполняться в конечных точках пакетной службы или в Azure Виртуальные машины.
Обогащение данных, например консолидация определенных сведений, сводка и проверка правильности, также можно выполнить путем передачи извлеченных данных в конечную точку Azure OpenAI.
Обогащенные данные входят в Azure Cosmos DB.
Аналитика и визуализации
Приложения используют необработанные OCR, структурированные данные из конечных точек аналитики документов ИИ Azure и обогащенные данные из NLP:
- В Power BI отображаются данные и отображаются отчеты.
- Данные функционируют в качестве источника для поиска ИИ Azure.
- Другие приложения используют данные.
Компоненты
Служба приложений — это платформа как услуга (PaaS) в Azure. Вы можете использовать Служба приложений для размещения веб-приложений, которые можно масштабировать вручную или автоматически. Служба поддерживает различные языки и платформы, такие как ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP и Python.
Шлюз приложений — это подсистема балансировки нагрузки уровня 7 (уровня приложения), которая управляет трафиком в веб-приложения. Вы можете запустить Шлюз приложений с помощью Azure Брандмауэр веб-приложений, чтобы защитить веб-приложения от распространенных эксплойтов и уязвимостей.
Функции Azure — это бессерверная платформа вычислений, которую можно использовать для создания приложений. С помощью функций можно использовать триггеры и привязки для реагирования на изменения в службах Azure, таких как хранилище BLOB-объектов и Azure Cosmos DB. Функции могут выполнять запланированные задачи, обрабатывать данные в режиме реального времени и обрабатывать очереди обмена сообщениями.
Аналитика документов Azure является частью служб ИИ Azure. Azure AI Document Intelligence предлагает коллекцию готовых конечных точек для извлечения данных из различных документов и форм для создания интеллектуальных решений для обработки документов в организациях без обучения и создания конкретных моделей с нуля для каждого типа документа или решения. Служба также предлагает создавать собственные пользовательские модели с минимальными усилиями и использовать модель с помощью соответствующего идентификатора модели в масштабе. Несколько пользовательских моделей можно назначить одному идентификатору модели, создав составную модель. Требования к входным данным зависят от модели к модели. Выходной формат — JSON.
служба хранилища Azure — это облачное хранилище, включающее объект, большой двоичный объект, файл, диск, очередь и хранилище таблиц.
Хранилище BLOB-объектов — это служба, которая является частью служба хранилища Azure. Хранилище BLOB-объектов предлагает оптимизированное облачное хранилище для больших объемов неструктурированных данных.
Azure Data Lake Storage — это масштабируемое безопасное озеро данных для высокопроизводительных рабочих нагрузок аналитики. Данные обычно берутся из нескольких разнородных источников и могут быть структурированы, полуструктурированными или неструктурированными. Azure Data Lake Storage 2-го поколения объединяет возможности Azure Data Lake Storage 1-го поколения с хранилищем BLOB-объектов. В качестве решения следующего поколения Data Lake Storage 2-го поколения обеспечивает семантику файловой системы, безопасность на уровне файлов и масштабирование. Но она также предлагает многоуровневые хранилища, высокий уровень доступности и аварийное восстановление хранилища BLOB-объектов.
Azure Cosmos DB — это полностью управляемая, масштабируемая база данных NoSQL. Azure Cosmos DB обеспечивает безопасность корпоративного уровня и поддерживает API для многих баз данных, языков и платформ. Примерами являются SQL, MongoDB, Gremlin, Table и Apache Cassandra. Бессерверные и автоматические параметры масштабирования в Azure Cosmos DB эффективно управляют требованиями емкости приложений.
Язык ИИ предлагает множество служб NLP, которые можно использовать для понимания и анализа текста. Некоторые из этих служб настраиваются, такие как NER, настраиваемая классификация текста, понимание общения и ответы на вопросы.
Машинное обучение — это открытая платформа для управления разработкой и развертыванием моделей машинного обучения в масштабе. Машинное обучение обслуживает уровни навыков различных пользователей, таких как специалисты по обработке и анализу данных или бизнес-аналитики. Платформа поддерживает часто используемые открытые платформы и предлагает автоматическое выделение признаков и алгоритмов. Вы можете развернуть модели для вывода с помощью конечных точек, где можно использовать сетевые конечные точки для вывода в режиме реального времени и пакетных конечных точек для выполнения асинхронного или длительного вывода. Если вы создаете пользовательскую модель путем тонкой настройки базовой модели из каталога моделей , вы также можете развернуть эту модель как конечных точек API без сервера. Вы также можете развернуть модели для AKS и кластера Kubernetes с поддержкой Azure Arc для вывода.
AKS — это полностью управляемая служба Kubernetes, которая упрощает развертывание контейнерных приложений и управление ими. AKS предлагает бессерверную технологию Kubernetes, интегрированную интеграцию и непрерывную доставку (CI/CD), а также безопасность и управление корпоративным классом.
Power BI — это набор программных служб и приложений, где можно посмотреть данные аналитики.
поиска в Azure — это облачная служба поиска, которая предоставляет инфраструктуру, API и средства поиска. С помощью службы "Поиск ИИ Azure" можно создавать возможности поиска через частное, разнородное содержимое в веб-приложениях, мобильных и корпоративных приложениях.
Альтернативные варианты
Для массовой обработки документов можно использовать API пакетного анализа документов
аналитики документов. Вы можете использовать многомодальных моделей Azure OpenAI для извлечения текста из изображений.
Вы можете использовать
Azure AI Content Understanding (предварительная версия) для приема документов, изображений, видео и аудио, вариантов использования .Вы можете использовать Azure AI Foundry для создания, тестирования & развертывания пользовательских моделей, а также разработки, оценки, развертывания & мониторинга созданных приложений ИИ.
Вы можете выбрать другую службу вычислений Azure вместо службы приложений для размещения приложения.
Для постоянного хранения извлеченных данных можно использовать любую реляционную базу данных, в том числе:
Подробности сценария
Автоматизация обработки документов и извлечения данных является неотъемлемой задачей в организациях во всех отраслях по вертикали. ИИ является одним из проверенных решений в этом процессе, хотя достижение 100 процентов точности является далекой реальностью. Но использование искусственного интеллекта для цифровизации вместо чисто ручных процессов может сократить усилия вручную до 90 процентов.
Оптическое распознавание символов (OCR) может извлекать содержимое из изображений и PDF-файлов, которые составляют большую часть документов, используемых организациями. В этом процессе используется поиск ключевых слов и сопоставление регулярных выражений. Эти механизмы извлекают соответствующие данные из полнотекстового текста и создают структурированные выходные данные. Этот подход имеет недостатки. Изменение процесса после извлечения в соответствии с изменяющимися форматами документов требует значительных усилий по обслуживанию.
Потенциальные варианты использования
Это решение идеально подходит для финансовой отрасли. Он также может применяться к автомобильной, туристической и гостиничной промышленности. Следующие задачи могут воспользоваться этим решением:
- Утверждение отчетов о расходах
- Обработка счетов, квитанций и счетов за страховые претензии и финансовые аудиты
- Обработка утверждений, включающих счета, сводки выгрузки и другие документы
- Автоматизация утверждений о работе (SoW)
- Автоматизация извлечения идентификаторов для целей проверки, как с паспортами или лицензиями водителя
- Автоматизация процесса ввода данных визитной карточки в системы управления посетителями
- Определение шаблонов покупок и дублирование финансовых документов для обнаружения мошенничества
- Автоматизация структурированного извлечения данных из неструктурированного документа в сценариях извлечения дополненного поколения
Рекомендации
Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая является набором руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.
Надежность
Надежность гарантирует, что ваше приложение позволит вам выполнить ваши обязательства перед клиентами. Дополнительные сведения см . в контрольном списке проверки конструктора для обеспечения надежности.
Устойчивость
Устойчивость решения зависит от режимов сбоя отдельных служб, таких как Служба приложений, Функции, Azure Cosmos DB, хранилище и Шлюз приложений. Дополнительные сведения см . в контрольном списке устойчивости для конкретных служб Azure.
Вы можете сделать Azure AI Document Intelligence устойчивым. Возможности включают разработку, чтобы выполнить отработку отказа в другой регион и разделить рабочую нагрузку на два или более регионов. Дополнительные сведения см. в статье "Резервное копирование и восстановление моделей аналитики документов ИИ Azure".
Машинное обучение службы зависят от многих служб Azure. Чтобы обеспечить устойчивость, необходимо настроить каждую службу для обеспечения устойчивости. Дополнительные сведения см. в разделе "Отработка отказа" для обеспечения непрерывности бизнес-процессов и аварийного восстановления.
Availability
Доступность архитектуры зависит от служб Azure, составляющих решение:
Аналитика документов Azure является частью служб ИИ Azure. Сведения о гарантии доступности этой службы см . в соглашении об уровне обслуживания для служб ИИ Azure.
Язык ИИ является частью служб ИИ Azure. Сведения о гарантии доступности этих служб см. в разделе об уровне обслуживания для служб ИИ Azure.
Azure Cosmos DB обеспечивает высокий уровень доступности, сохраняя четыре реплики данных в каждом регионе и реплицируя данные в разных регионах. Точное обеспечение доступности зависит от того, реплицируется ли вы в одном регионе или в нескольких регионах. Дополнительные сведения см. в статье "Обеспечение высокого уровня доступности с помощью Azure Cosmos DB".
Хранилище BLOB-объектов предлагает варианты избыточности, которые помогают обеспечить высокий уровень доступности. Вы можете использовать любой из этих подходов для репликации данных три раза в основном регионе:
- В одном физическом расположении для локально избыточного хранилища (LRS).
- В трех зонах доступности, использующих различные параметры доступности. Дополнительные сведения см. в разделе "Устойчивость и параметры доступности". Этот вариант лучше подходит для приложений, требующих высокой доступности.
Гарантии доступности других служб Azure в решении см. в следующих ресурсах:
Безопасность
Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в контрольном списке проверки конструктора для безопасности.
Azure Брандмауэр веб-приложений помогает защитить приложение от распространенных уязвимостей. Этот параметр Шлюз приложений использует правила Open Worldwide Application Security Project (OWASP) для предотвращения атак, таких как межсайтовые сценарии, перехваты сеансов и другие эксплойты.
Чтобы улучшить безопасность Служба приложений, рассмотрите следующие варианты:
- Служба приложений доступ к ресурсам в Azure виртуальная сеть через интеграцию виртуальной сети.
- Вы можете использовать Служба приложений в Среда службы приложений, который развертывается в выделенной виртуальной сети. Этот подход помогает изолировать подключение между Служба приложений и другими ресурсами в виртуальной сети.
Дополнительные сведения см. в разделе "Безопасность" в службе приложение Azure.
Хранилище BLOB-объектов и Azure Cosmos DB шифруют неактивных данных. Эти службы можно защитить с помощью конечных точек службы или частных конечных точек.
Функции Azure поддерживает интеграцию виртуальной сети. С помощью этой функции приложения-функции могут получать доступ к ресурсам в виртуальной сети. Дополнительные сведения см. в сетевых параметрах Функций Azure.
Вы можете настроить azure AI Document Intelligence и AI Language для доступа из определенных виртуальных сетей или из частных конечных точек. Эти службы шифруют неактивных данных. Ключи подписки, маркеры или идентификатор Microsoft Entra можно использовать для проверки подлинности запросов к этим службам. Дополнительные сведения см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Машинное обучение предлагает множество уровней безопасности:
- Проверка подлинности рабочей области обеспечивает управление удостоверениями и доступом.
- Вы можете использовать авторизацию для управления доступом к рабочей области.
- Защита ресурсов рабочей области позволяет улучшить сетевую безопасность.
- С помощью TLS можно защитить веб-службы, развернутые с помощью Машинное обучение.
- Чтобы защитить данные, можно изменить ключи доступа для учетных записей служба хранилища Azure, которые Машинное обучение используются.
Оптимизация затрат
Оптимизация затрат заключается в поиске способов уменьшения ненужных расходов и повышения эффективности работы. Дополнительные сведения см . в контрольном списке проверки конструктора для оптимизации затрат.
Стоимость реализации этого решения зависит от того, какие компоненты вы используете и какие параметры вы выбираете для каждого компонента.
Многие факторы могут повлиять на цену каждого компонента:
- Количество обрабатываемых документов
- Число одновременных запросов, получаемых приложением
- Размер хранимых данных после обработки
- Регион развертывания
Эти ресурсы предоставляют сведения о ценах на компоненты:
- Цены на аналитику документов ИИ
- Цены на службу приложений
- Цены на решение "Функции Azure"
- Цены на Шлюз приложений
- Цены на Хранилище BLOB-объектов
- Страница цен на Azure Cosmos DB
- Ценообразование языково службы
- Цены на Машинное обучение Azure
- цен на Azure OpenAI Service
После принятия решения о ценовой категории для каждого компонента используйте калькулятор цен Azure для оценки стоимости решения.
Уровень производительности
Эффективность производительности — это возможность масштабирования рабочей нагрузки в соответствии с требованиями, заданными пользователями. Дополнительные сведения см . в контрольном списке проверки конструктора для повышения эффективности.
Служба приложений может автоматически масштабироваться и в зависимости от нагрузки приложения. Дополнительные сведения см. в разделе "Создание параметра автомасштабирования для ресурсов Azure" на основе данных о производительности или расписания.
Функции Azure может автоматически масштабироваться или вручную. Выбранный план размещения определяет поведение масштабирования приложений-функций. Дополнительные сведения см. в разделе Варианты размещения Функций Azure.
По умолчанию Azure AI Document Intelligence поддерживает 15 одновременных запросов в секунду. Это значение можно увеличить, создав запрос в службу поддержки Azure с запросом на увеличение квоты.
Для пользовательских моделей, развертываемых в сетевых конечных точках для вывода в режиме реального времени, автомасштабирование можно включить с помощью функции автомасштабирования в Azure Monitor. Это можно управлять с помощью Azure CLI, REST API, пакета SDK для Python, портала Azure и т. д.
Для пакетного вывода модели развертываются в конечных точках пакетной службы, которые выполняются в вычислительных кластерах машинного обучения Azure (AML) или кластерах Kubernetes. В случае вычислительных кластеров AML поддерживаются автоматическое масштабирование вычислительных ресурсов и масштабирование вычислений до нуля. Минимальное и максимальное число экземпляров определяется во время создания вычислительного кластера, а количество экземпляров, которые будут использоваться для вывода пакетной службы, определены в определении пакетного развертывания .
Для языка ИИ применяются ограничения скорости и данных. Дополнительные сведения см. в следующих ресурсах:
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Автор субъекта:
- Jyotsna Ravi | Главный инженер клиента
- Диксит Арора | Старший инженер клиента
Следующие шаги
- Что такое аналитика документов ИИ?
- Использование пакетов SDK для аналитики документов ИИ Azure или REST API
- Что такое язык ИИ?
- Что такое Машинное обучение Azure?
- Общие сведения о Функциях Azure
- Настройка Функции Azure с виртуальной сетью
- What is Azure Application Gateway? (Что собой представляет шлюз приложений Azure)
- Что такое Azure Брандмауэр веб-приложений в Шлюз приложений Azure?
- Руководство. Доступ к локальному SQL Server из управляемой виртуальной сети фабрики данных с помощью частной конечной точки
- Документация по службе хранилища Azure