컨테이너 설치 및 실행

컨테이너에 대한 지원은 현재 모든 모델의 경우 문서 인텔리전스 버전 2022-08-31 (GA)와 읽기 및 레이아웃 전용의 경우 2023-07-31 (GA)에서 사용할 수 있습니다.

✔️ 지원되는 컨테이너 설명서는 문서 인텔리전스 v3.0 컨테이너 설치 및 실행을 참조하세요.

이 콘텐츠의 적용 대상은 다음과 같습니다.checkmarkv3.0(GA)checkmarkv3.1(GA)

Azure AI 문서 인텔리전스는 컴퓨터 학습 기술을 사용하여 자동화된 데이터 처리 소프트웨어를 빌드할 수 있는 Azure AI 서비스입니다. 문서 인텔리전스를 사용하면 문서에서 텍스트, 키/값 쌍, 선택 표시, 테이블 데이터 등을 식별하고 추출할 수 있습니다. 결과는 원본 파일의 관계를 포함하는 구조화된 데이터로 전달됩니다.

이 문서에서는 문서 인텔리전스 컨테이너를 다운로드, 설치 및 실행하는 방법을 알아봅니다. 컨테이너를 사용하면 자체 환경에서 문서 인텔리전스 서비스를 실행할 수 있습니다. 컨테이너는 특정 보안 및 데이터 거버넌스 요구 사항에 적합합니다.

  • 읽기레이아웃 모델은 문서 이텔리전스 v3.1 컨테이너에서 지원됩니다.

  • 읽기, 레이아웃, 일반 문서, ID 문서, 영수증, 청구서, 명함사용자 지정 모델은 문서 인텔리전스 v3.0 컨테이너에서 지원됩니다.

  • 명함 모델은 현재 v2.1 컨테이너에서만 지원됩니다.

필수 조건

시작하려면 활성 Azure 계정이 필요합니다. 계정이 없는 경우 무료 계정에 만들 수 있습니다.

문서 인텔리전스 컨테이너를 사용하려면 다음 사항도 필요합니다.

Required 목적
Docker 사용 경험 기본 docker용어와 명령에 대한 지식뿐만 아니라 레지스트리, 리포지토리, 컨테이너 및 컨테이너 이미지와 같은 Docker 개념을 기본적으로 이해하고 있어야 합니다.
Docker Engine 설치됨
  • 호스트 컴퓨터에 설치된 Docker 엔진이 필요합니다. Docker는 macOS, WindowsLinux에서 Docker 환경을 구성하는 패키지를 제공합니다. Docker 및 컨테이너에 대한 기본 사항은 Docker 개요를 참조하세요.
  • Docker는 컨테이너에서 Azure에 연결하여 청구 데이터를 보낼 수 있도록 구성해야 합니다.
  • Windows에서 Docker가 Linux 컨테이너를 지원하도록 구성해야 합니다.
문서 인텔리전스 리소스 Azure Portal의 단일 서비스 Azure AI 문서 인텔리전스 또는 다중 서비스 리소스입니다. 컨테이너를 사용하려면 연결된 키와 엔드포인트 URI가 있어야 합니다. 두 값 모두 Azure Portal 문서 인텔리전스 키 및 엔드포인트 페이지에서 사용할 수 있습니다.
  • {FORM_RECOGNIZER_KEY}: 사용 가능한 두 개의 리소스 키 중 하나입니다.
  • {FORM_RECOGNIZER_ENDPOINT_URI}: 청구 정보를 추적하는 데 사용되는 리소스의 엔드포인트입니다.
선택 사항 목적
Azure CLI(명령줄 인터페이스) Azure CLI를 사용하면 온라인 명령 세트를 사용하여 Azure 리소스를 만들고 관리할 수 있습니다. Windows, macOS 및 Linux 환경에 설치할 수 있으며 Docker 컨테이너와 Azure Cloud Shell에서 실행할 수 있습니다.

호스트 컴퓨터 요구 사항

호스트는 Docker 컨테이너를 실행하는 x64 기반 컴퓨터입니다. 다음과 같이 Azure에서 컴퓨터 온-프레미스 또는 Docker 호스팅 서비스일 수 있습니다.

컨테이너 요구 사항 및 추천

필수 지원 컨테이너

다음 표에는 다운로드하는 각 문서 인텔리전스 컨테이너에 대한 지원 컨테이너가 나열되어 있습니다. 자세한 내용은 청구 섹션을 참조하세요.

기능 컨테이너 지원 컨테이너
읽음 필요하지 않음
레이아웃 필요하지 않음
명함 읽음
일반 문서 레이아웃
청구서 레이아웃
영수증 읽기 또는 레이아웃
ID 문서 읽음
사용자 지정 템플릿 레이아웃

참고 항목

최소 및 추천 값은 호스트 머신 리소스가 아니라 Docker 제한을 기반으로 합니다.

문서 인텔리전스 컨테이너
Container 최소 권장
Read 8개 코어, 10GB 메모리 8개 코어, 24GB 메모리
Layout 8개 코어, 16GB 메모리 8개 코어, 24GB 메모리
Business Card 8개 코어, 16GB 메모리 8개 코어, 24GB 메모리
General Document 8개 코어, 12GB 메모리 8개 코어, 24GB 메모리
ID Document 8개 코어, 8GB 메모리 8개 코어, 24GB 메모리
Invoice 8개 코어, 16GB 메모리 8개 코어, 24GB 메모리
Receipt 8개 코어, 11GB 메모리 8개 코어, 24GB 메모리
Custom Template 8개 코어, 16GB 메모리 8개 코어, 24GB 메모리
  • 각 코어는 속도가 2.6GHz 이상이어야 합니다.
  • docker compose 또는 docker run 명령의 일부로 사용되는 --cpus--memory 설정에 해당하는 코어 및 메모리

docker images 명령을 사용하여 다운로드한 컨테이너 이미지를 나열할 수 있습니다. 예를 들어 다음 명령은 다운로드한 각 컨테이너 이미지의 ID, 리포지토리 및 태그를 테이블 형식으로 나열합니다.

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} 값을 Azure 리소스 페이지의 리소스 엔드포인트 URI 및 키로 바꿉니다.

    Screenshot of Azure portal keys and endpoint page.

  • EULA 값이 accept로 설정되어 있는지 확인합니다.

  • EULA, Billing, ApiKey 값을 지정해야 합니다. 지정하지 않으면 컨테이너가 시작되지 않습니다.

Important

키는 문서 인텔리전스 리소스에 액세스하는 데 사용됩니다. 키를 공유하지 마시고 예를 들어 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.0
    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

서비스가 실행 중인지 확인합니다.

컨테이너가 실행되고 있는지 확인하는 방법에는 여러 가지가 있습니다.

  • 컨테이너는 \에서 컨테이너가 실행 중인지 시각적으로 확인할 수 있는 홈페이지를 제공합니다.

  • 즐겨 찾는 웹 브라우저를 열고 확인하려는 컨테이너의 외부 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 양식으로 설정을 입력할 수 있고 코드 작성 없이 쿼리를 만들 수 있습니다. 쿼리가 반환되면 필요한 HTTP 헤더 및 본문 형식을 보여 주는 예제 CURL 명령이 제공됩니다.

Screenshot of Azure containers welcome page.

컨테이너 중지

컨테이너를 중지하려면 다음 명령을 사용합니다.

docker-compose down

결제

문서 인텔리전스 컨테이너는 Azure 계정의 문서 인텔리전스 리소스를 사용하여 Azure에 청구 정보를 보냅니다.

컨테이너에 대한 쿼리는 API Key에 사용되는 Azure 리소스의 가격 책정 계층으로 청구됩니다. 문서와 이미지를 처리하는 데 사용되는 각 컨테이너 인스턴스에 대해 요금이 청구됩니다.

Azure에 연결

컨테이너에는 실행할 청구 인수 값이 필요합니다. 이러한 값을 통해 컨테이너는 청구 엔드포인트에 연결할 수 있습니다. 컨테이너는 약 10 ~ 15분마다 사용량을 보고합니다. 컨테이너가 허용되는 시간 내에서 Azure에 연결되지 않으면 컨테이너는 계속 실행되지만 청구 엔드포인트가 복원될 때까지 쿼리를 처리하지 않습니다. 10 ~ 15분 간격으로 동시에 10회 동안 연결이 시도됩니다. 10회 시도 안에 청구 엔드포인트에 연결할 수 없는 경우 컨테이너는 요청 처리를 중지합니다. 청구를 위해 Microsoft로 전송되는 정보의 예는 Azure AI 컨테이너 FAQ를 참조하세요.

청구 인수

다음 세 가지 옵션 모두에 유효한 값이 제공되면 docker-compose up 명령이 컨테이너를 시작합니다.

옵션 설명
ApiKey 청구 정보를 추적하는 데 사용되는 Azure AI 서비스 리소스의 키입니다.
이 옵션의 값은 Billing에 지정된 프로비저닝된 리소스에 대한 API 키로 설정해야 합니다.
Billing 청구 정보를 추적하는 데 사용되는 Azure AI 서비스 리소스의 엔드포인트입니다.
이 옵션의 값은 프로비저닝된 Azure 리소스의 엔드포인트 URI로 설정해야 합니다.
Eula 컨테이너에 대한 라이선스에 동의했음을 나타냅니다.
이 옵션의 값은 동의로 설정해야 합니다.

이러한 옵션에 대한 자세한 내용은 컨테이너 구성을 참조하세요.

요약

이번 내용은 여기까지입니다! 이 문서에서는 문서 인텔리전스 컨테이너 다운로드, 설치 및 실행에 대한 개념과 워크플로를 알아보았습니다. 요약:

  • 문서 인텔리전스는 Docker용 Linux 컨테이너 7개를 제공합니다.
  • 컨테이너 이미지는 mcr에서 다운로드합니다.
  • 컨테이너 이미지는 Docker에서 실행됩니다.
  • 컨테이너를 인스턴스화할 때 청구 정보를 지정해야 합니다.

Important

Azure AI 컨테이너는 측정을 위해 Azure에 연결하지 않고 실행할 수 있는 라이선스가 부여되지 않습니다. 고객은 컨테이너에서 항상 계량 서비스와 청구 정보를 통신할 수 있도록 설정해야 합니다. Azure AI 컨테이너는 고객 데이터(예: 분석 중인 이미지 또는 텍스트)를 Microsoft에 보내지 않습니다.

다음 단계