PDF 양식 처리 자동화

Azure AI 문서 인텔리전스
Azure AI 서비스
Azure Logic Apps
Azure 기능

이 문서에서는 비용이 많이 들고 유연하지 않은 양식 처리 방법을 비용 효율적이고 유연한 자동화된 PDF 처리로 바꾸는 데 사용할 수 있는 Azure 아키텍처에 대해 설명합니다.

아키텍처

PDF 양식 처리를 위한 아키텍처 다이어그램

이 아키텍처의 PowerPoint 파일을 다운로드합니다.

워크플로

  1. 지정된 Outlook 전자 메일 계정은 PDF 파일을 첨부 파일로 받습니다. 이메일이 도착하면 논리 앱이 트리거하여 전자 메일을 처리합니다. 논리 앱은 Azure Logic Apps의 기능을 사용하여 빌드됩니다.
  2. 논리 앱은 AZURE Data Lake Storage의 컨테이너에 PDF 파일을 업로드합니다.
  3. PDF 파일을 동일한 PDF 컨테이너에 수동으로 또는 프로그래밍 방식으로 업로드할 수도 있습니다.
  4. PDF 컨테이너에 PDF 파일이 도착하면 다른 논리 앱이 트리거되어 PDF 파일에 있는 PDF 양식을 처리합니다.
  5. 논리 앱은 처리를 위해 PDF 파일의 위치를 함수 앱으로 보냅니다. 함수 앱은 Azure Functions의 기능을 사용하여 빌드됩니다.
  6. 함수 앱은 파일의 위치를 수신하고 다음 작업을 수행합니다.
    1. 파일에 여러 페이지가 있는 경우 파일을 단일 페이지로 분할합니다. 각 페이지에는 하나의 독립적인 양식이 포함되어 있습니다. 분할 파일은 Data Lake Storage의 두 번째 컨테이너에 저장됩니다.
    2. Azure REST API인 HTTPS POST를 사용하여 처리를 위해 단일 페이지 PDF 파일의 위치를 AI Document Intelligence로 보냅니다. Azure AI Document Intelligence가 처리를 완료하면 함수 앱에 응답을 다시 전송하여 정보를 데이터 구조로 배치합니다.
    3. 응답 데이터가 포함된 JSON 데이터 파일을 만들고 Data Lake Storage의 세 번째 컨테이너에 파일을 저장합니다.
  7. 양식 처리 논리 앱은 처리된 응답 데이터를 받습니다.
  8. 양식 처리 논리 앱은 처리된 데이터를 Azure Cosmos DB로 전송하여 데이터를 데이터베이스 및 컬렉션에 저장합니다.
  9. Power BI는 Azure Cosmos DB에서 데이터를 가져오고 인사이트와 대시보드를 제공합니다.
  10. Azure Cosmos DB에 있는 데이터에 대해 필요에 따라 추가 처리를 구현할 수 있습니다.

구성 요소

대안

  • Azure Cosmos DB 대신 Azure SQL Database를 사용하여 처리된 양식 데이터를 저장할 수 있습니다.
  • Azure Data Explorer를 사용하여 Data Lake Storage에 저장된 처리된 양식 데이터를 시각화할 수 있습니다.

시나리오 정보

양식 처리는 종종 중요한 비즈니스 기능입니다. 많은 회사에서 여전히 비용이 많이 들고, 시간이 오래 걸리고, 오류가 발생하기 쉬운 수동 프로세스에 의존합니다. 수동 프로세스를 대체하면 비용과 위험이 줄어들고 회사가 더 민첩해집니다.

이 문서에서는 수동 PDF 양식 처리 또는 PDF 양식 처리를 자동화하는 비용이 많이 드는 레거시 시스템을 대체하는 데 사용할 수 있는 아키텍처에 대해 설명합니다. Azure AI Document Intelligence는 PDF 양식을 처리하고 Logic Apps는 워크플로를 제공하며 Functions는 데이터 처리 기능을 제공합니다.

배포 정보는 이 문서의 이 시나리오 배포를 참조하세요.

잠재적인 사용 사례

이 문서에 설명된 솔루션은 다음을 비롯한 다양한 형식의 양식을 처리할 수 있습니다.

  • 송장
  • 결제 레코드
  • 레코드 금고0개
  • 인시던트 레코드
  • 규정 준수 레코드
  • 구매 주문
  • 결제 권한 부여 양식
  • 건강 검진 양식
  • 설문 조사 양식

고려 사항

이러한 고려 사항은 워크로드의 품질 개선에 사용할 수 있는 일련의 기본 지침인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

안정성

안정성은 애플리케이션이 고객에 대한 약정을 충족할 수 있도록 보장합니다. 자세한 내용은 안정성 핵심 요소 개요를 참조하세요.

안정적인 워크로드는 복원력이 있고 사용 가능한 워크로드입니다. 복원력은 오류를 복구하여 계속 작동하는 시스템 기능입니다. 복원력의 목표는 오류가 발생한 후에 애플리케이션을 완전히 작동하는 상태로 되돌리기 위한 것입니다. 가용성은 사용자가 필요할 때 워크로드에 액세스할 수 있는지 여부를 측정합니다.

이 아키텍처는 비즈니스 솔루션을 제공하기 위해 신속하게 배포하고 프로토타입을 만들 수 있는 시작 아키텍처로 사용됩니다. 프로토타입이 성공적이면 필요한 경우 아키텍처를 확장하고 개선하여 추가 요구 사항을 충족할 수 있습니다.

이 아키텍처는 확장 가능하고 복원력 있는 Azure 인프라 및 기술을 활용합니다. 예를 들어 Azure Cosmos DB에는 요구 사항에 맞게 구성할 수 있는 기본 제공 중복성 및 전역 적용 범위가 있습니다.

이 솔루션에서 사용하는 Azure 서비스의 가용성 보장은 온라인 서비스에 대한 SLA(서비스 수준 계약)를 참조 하세요.

보안

우수한 보안은 중요한 데이터 및 시스템에 대한 고의적인 공격과 악용을 방어합니다. 자세한 내용은 보안 요소의 개요를 참조하세요.

이 아키텍처에서 사용되는 Outlook 전자 메일 계정은 PDF 양식을 첨부 파일로 받는 전용 전자 메일 계정입니다. 보낸 사람을 신뢰할 수 있는 당사자로만 제한하고 악의적인 행위자가 전자 메일 계정을 스팸 처리하지 못하도록 하는 것이 좋습니다.

이 시나리오 배포에 설명된 이 아키텍처의 구현은 보안을 강화하기 위해 다음 조치를 취합니다.

  • PowerShell 및 Bicep 배포 스크립트는 Azure Key Vault를 사용하여 중요한 정보를 저장하므로 터미널 화면에 표시되거나 배포 로그에 저장되지 않습니다.
  • 관리 ID는 애플리케이션이 Microsoft Entra 인증을 지원하는 리소스에 연결할 때 사용할 수 있도록 Microsoft Entra ID에 자동으로 관리 ID를 제공합니다. 함수 앱은 코드가 개별 보안 주체에 의존하지 않고 중요한 ID 정보를 포함하지 않도록 관리 ID를 사용합니다.

비용 최적화

비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 방법을 찾는 것입니다. 자세한 내용은 비용 최적화 핵심 요소 개요를 참조하세요.

다음은 비용 최적화를 위한 몇 가지 지침입니다.

  • 아키텍처에 종량제 전략을 사용하고 처음부터 대규모 리소스에 투자하는 대신 필요에 따라 스케일 아웃합니다.
  • 이 시나리오 배포에 설명된 아키텍처 구현은 개념 증명에 적합한 시작 솔루션을 배포합니다. 배포 스크립트는 최소한의 리소스 요구 사항으로 작업 아키텍처를 만듭니다. 예를 들어 배포 스크립트는 함수 앱을 실행하는 가장 작은 서버리스 Linux 호스트를 만듭니다.

성능 효율성

성능 효율성은 사용자가 요구 사항을 충족하기 위해 워크로드를 효율적으로 스케일링할 수 있는 기능입니다. 자세한 내용은 성능 효율성 핵심 요소 개요를 참조하세요.

이 아키텍처는 성능 효율성을 개선하는 데 사용할 수 있는 기본 제공 크기 조정 기능이 있는 서비스를 사용합니다. 다음 몇 가지 예를 참조하세요.

  • 서버리스 인프라에서 Azure Logic Apps와 Azure Functions를 모두 호스트할 수 있습니다. 자세한 내용은 Azure Serverless 개요: Azure Logic Apps 및 Azure Functions를 사용하여 클라우드 기반 앱 및 솔루션 만들기를 참조 하세요.
  • 처리량을 자동으로 조정하도록 Azure Cosmos DB를 구성할 수 있습니다. 자세한 내용은 Azure Cosmos DB - NoSQL용 API의 데이터베이스 또는 컨테이너에 대한 자동 크기 조정 처리량 프로비저닝을 참조하세요.

시나리오 배포

이 아키텍처의 기본적인 버전인 솔루션 가속기를 배포하고 자체 솔루션을 배포하기 위한 시작점으로 사용할 수 있습니다. 액셀러레이터에 대한 참조 구현에는 코드, 배포 스크립트 및 배포 가이드가 포함됩니다.

액셀러레이터는 PDF 양식을 수신하고, 데이터 필드를 추출하고, Azure Cosmos DB에 데이터를 저장합니다. Power BI는 데이터를 시각화합니다. 이 디자인은 모듈식 메타데이터 기반 방법론을 사용합니다. 하드 코딩된 양식 필드가 없습니다. PDF 양식을 처리할 수 있습니다.

코드 수정 없이 액셀러레이터를 있는 그대로 사용하여 안전 양식, 청구서, 인시던트 레코드 등과 같은 단일 페이지 PDF 양식을 처리하고 시각화할 수 있습니다. 이를 사용하려면 샘플 PDF 양식을 수집하고, 새 모델을 학습하여 양식의 레이아웃을 학습하고, 모델을 솔루션에 연결하기만 하면 됩니다. 또한 데이터 세트에 대한 Power BI 보고서를 다시 디자인하여 원하는 인사이트를 제공해야 합니다.

구현에서는 Azure AI Document Intelligence Studio를 사용하여 사용자 지정 모델을 만듭니다. 가속기는 기계 학습 모델에 저장된 필드 이름을 참조로 사용하여 다른 양식을 처리합니다. 사용자 지정 빌드 기계 학습 모델을 만들려면 5개의 샘플 양식만 필요합니다. 최대 100개의 사용자 지정 빌드 모델을 병합하여 다양한 양식을 처리할 수 있는 복합 기계 학습 모델을 만들 수 있습니다.

배포 리포지토리

솔루션 가속기에 대한 GitHub 리포지토리는 이 솔루션에 대한 배포 가이드가 포함된 Azure PDF 양식 처리 자동화 솔루션 가속기에 있습니다.

배포 사전 요구 사항

배포하려면 Azure 구독이 필요합니다. 무료 구독에 대한 자세한 내용은 Azure 체험 계정을 사용하여 클라우드에서 빌드를 참조 하세요.

액셀러레이터에서 사용되는 서비스에 대해 알아보려면 다음 항목에 나열된 개요 및 참조 문서를 참조하세요.

배포 고려 사항

새 유형의 PDF 양식을 처리하려면 샘플 PDF 파일을 사용하여 새 기계 학습 모델을 만듭니다. 모델이 준비되면 모델 ID를 솔루션에 연결합니다.

이 컨테이너 이름은 GitHub 리포지토리에서 가져오는 배포 스크립트에서 구성할 수 있습니다.

아키텍처는 HA(고가용성) 또는 DR(재해 복구) 요구 사항을 해결하지 않습니다. 프로덕션 배포를 위해 현재 아키텍처를 확장하고 향상하려면 다음 권장 사항 및 모범 사례를 고려하세요.

  • 요구 사항에 따라 HA/DR 아키텍처를 디자인하고 해당하는 경우 기본 제공 중복 기능을 사용합니다.
  • Bicep 배포 코드를 업데이트하여 처리 볼륨을 처리할 수 있는 컴퓨팅 환경을 만듭니다.
  • HA/DR 요구 사항을 충족하도록 아키텍처 구성 요소의 인스턴스를 더 만들도록 Bicep 배포 코드를 업데이트합니다.
  • 스토리지를 디자인하고 프로비전할 때 Azure Storage 중복성의 지침을 따릅니다.
  • 논리 앱을 디자인하고 프로비전할 때 비즈니스 연속성 및 재해 복구의 지침을 따릅니다.
  • 함수 앱을 디자인하고 프로비전할 때 Azure Functions의 안정성에 대한 지침을 따릅니다.
  • Azure Cosmos DB를 사용하여 만든 데이터베이스를 디자인하고 프로비전할 때 Azure Cosmos DB를 사용하여 고가용성 달성의 지침을 따릅니다.
  • 대량의 PDF 양식을 처리하기 위해 이 시스템을 프로덕션 환경에 배치하는 것을 고려하면 배포 스크립트를 수정하여 더 많은 리소스가 있는 Linux 호스트를 만들 수 있습니다. 이렇게 하려면 deploy-functionsapp.bicep 내에서 코드를 수정합니다.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

보안 주체 작성자:

기타 기여자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.

다음 단계