コンテナーのインストールと実行

現在、すべてのモデルについてコンテナーがサポートされているのは Document Intelligence バージョン 2022-08-31 (GA) です。2023-07-31 (GA) は読み取りとレイアウトのみです。

✔️ サポートされているコンテナーのドキュメントについては、Document Intelligence v3.0 コンテナーのインストールと実行に関する記事を参照してください。

このコンテンツの適用対象:checkmarkv3.0 (GA)checkmarkv3.1 (GA)

Azure AI ドキュメント インテリジェンスは、機械学習テクノロジを利用して自動データ処理ソフトウェアを構築できる Azure AI サービスです。 ドキュメント インテリジェンスを使用すると、ドキュメントからテキスト、キーと値のペア、選択マーク、テーブル データなどを識別して抽出できます。 結果は、元のファイル内の関係を含む構造化データとして出力されます。

この記事では、ドキュメント インテリジェンス コンテナーをダウンロード、インストール、実行する方法について説明します。 コンテナーを使用すると、独自の環境でドキュメント インテリジェンス サービスを実行できます。 コンテナーは、特定のセキュリティ要件とデータ ガバナンス要件に適しています。

  • 読み取りレイアウトの各モデルは、Document Intelligence v3.1 コンテナーでサポートされています。

  • ドキュメント インテリジェンス v3.0 コンテナーでは、読み取りレイアウト一般ドキュメントID ドキュメント領収書請求書名刺カスタムの各モデルがサポートされています。

  • 現在、名刺モデルは v2.1 コンテナーでのみサポートされています。

前提条件

開始するには、アクティブな Azure アカウントが必要です。 アカウントがない場合は、無料アカウントを作成できます。

ドキュメント インテリジェンス コンテナーを使用するには、次のものも必要です。

必須 目的
Docker に関する知識 レジストリ、リポジトリ、コンテナー、コンテナー イメージなど、Docker の概念の基本的な理解に加えて、基本的な docker用語とコマンドの知識が必要です。
Docker Engine がインストールされている
  • ホスト コンピューターに Docker エンジンをインストールしておく必要があります。 Docker には、macOSWindowsLinux 上で Docker 環境の構成を行うパッケージが用意されています。 Docker やコンテナーの基礎に関する入門情報については、「Docker overview」(Docker の概要) を参照してください。
  • コンテナーが Azure に接続して課金データを送信できるように、Docker を構成する必要があります。
  • Windows では、Linux コンテナーをサポートするように Docker を構成することも必要です。
ドキュメント インテリジェンス リソース Azure portal のシングルサービス Azure AI ドキュメント インテリジェンスまたはマルチサービス リソース。 コンテナーを使用するには、関連付けられているキーとエンドポイント URI が必要です。 どちらの値も、Azure portal の Document Intelligence の [キーとエンドポイント] ページで入手できます。
  • {FORM_RECOGNIZER_API_KEY}: 利用可能な 2 つのリソース キーのどちらか一方。
  • {FORM_RECOGNIZER_ENDPOINT_URI} : 課金情報を追跡するために使用されるリソースのエンドポイント。
オプション 目的
Azure CLI (コマンド ライン インターフェイス) Azure CLI を使用すると、一連のオンライン コマンドを使用して Azure リソースを作成および管理できます。 Windows、macOS、Linux 環境にインストールが可能で、Docker コンテナーと Azure Cloud Shell で実行できます。

ホスト コンピューターの要件

ホストとは、Docker コンテナーを実行する x64 ベースのコンピューターのことです。 お客様のオンプレミス上のコンピューターを使用できるほか、次のような Azure 内の Docker ホスティング サービスを使用することもできます。

コンテナーの要件と推奨事項

必要なサポート コンテナー

次の表に、ダウンロードする各ドキュメント インテリジェンス コンテナーのサポート コンテナーを示します。 詳細については、「請求先」セクションを参照してください。

機能コンテナー サポート コンテナー
読み取り 必要なし
レイアウト 必要なし
名刺 読み取り
一般的なドキュメント レイアウト
請求書 レイアウト
Receipt 読み取り または レイアウト
身分証明書 読み取り
カスタム テンプレート レイアウト

注意

最小値と推奨値は、Docker の制限に基づくもので、ホスト マシンのリソースに基づくものではありません

ドキュメント インテリジェンス コンテナー
コンテナー 最小値 推奨
Read 8 コア、10 GB のメモリ 8 コア、24 GB のメモリ
Layout 8 コア、16 GB のメモリ 8 コア、24 GB のメモリ
Business Card 8 コア、16 GB のメモリ 8 コア、24 GB のメモリ
General Document 8 コア、12 GB のメモリ 8 コア、24 GB のメモリ
ID Document 8 コア、8 GB のメモリ 8 コア、24 GB のメモリ
Invoice 8 コア、16 GB のメモリ 8 コア、24 GB のメモリ
Receipt 8 コア、11 GB のメモリ 8 コア、24 GB のメモリ
Custom Template 8 コア、16 GB のメモリ 8 コア、24 GB のメモリ
  • 各コアは少なくとも 2.6 ギガヘルツ (GHz) 以上にする必要があります。
  • コアとメモリは、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 に設定されていることを確認します。

  • EULABillingApiKey の各値が指定されている必要があります。指定されてない場合、コンテナーは起動できません。

重要

キーは、ドキュメント インテリジェンス リソースにアクセスするために使用されます。 キーを共有しないでください。 Azure Key Vault を使用するなどして、安全に保管してください。 これらのキーを定期的に再生成することもお勧めします。 API 呼び出しを行うために必要なキーは 1 つだけです。 最初のキーを再生成するときに、2 番目のキーを使用してサービスに継続的にアクセスすることができます。

次のコード サンプルは、ドキュメント インテリジェンス レイアウト コンテナーを実行する自己完結 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

サービスが実行されていることを検証する

コンテナーが実行されていることを検証する方法は複数あります。

  • コンテナーでは、コンテナーが実行されていることを視覚的に検証するために、\ にホームページを用意しています。

  • 使い慣れた Web ブラウザーを開いて、問題のコンテナーの外部 IP アドレスと公開ポートに移動できます。 一覧で示されている要求 URL を使って、コンテナーが実行中であることを確認します。 一覧で示されている要求 URL の例は http://localhost:5000 ですが、実際のコンテナーは異なる可能性があります。 実際のコンテナーの外部 IP アドレスと公開ポートに移動していることに注意してください。

    要求 URL 目的
    http://localhost:5000/ コンテナーには、ホーム ページが用意されています。
    http://localhost:5000/ready GET で要求することで、コンテナーがモデルに対するクエリを受け取る準備ができていることを確認できます。 この要求は Kubernetes の liveness probe と readiness probe に対して使用できます。
    http://localhost:5000/status GET で要求することで、コンテナーを起動するために使用された API キーが有効であるかどうかを、エンドポイント クエリを発生させずに確認できます。 この要求は Kubernetes の liveness probe と readiness probe に対して使用できます。
    http://localhost:5000/swagger コンテナーには、エンドポイントの完全なドキュメント一式と、 [Try it out](試してみる) の機能が用意されています。 この機能を使用すると、コードを一切記述することなく、お客様の設定を Web ベースの 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 コマンドは、次の 3 つのオプションのすべてに有効な値が指定された場合にコンテナーを起動します。

オプション 説明
ApiKey 課金情報を追跡するために使われる Azure AI サービス リソースのキー。
このオプションの値には、Billing に指定されたプロビジョニング済みのリソースのキーが設定されている必要があります。
Billing 課金情報を追跡するために使われる Azure AI サービス リソースのエンドポイント。
このオプションの値には、プロビジョニング済みの Azure リソースのエンドポイント URI が設定されている必要があります。
Eula お客様がコンテナーのライセンスに同意したことを示します。
このオプションの値は accept に設定する必要があります。

これらのオプションの詳細については、「コンテナーの構成」を参照してください。

まとめ

これで終わりです。 この記事では、ドキュメント インテリジェンス コンテナーの概念と、コンテナーのダウンロード、インストール、および実行のワークフローについて学習しました。 要約すると:

  • ドキュメント インテリジェンスは、Docker 用の 7 つの Linux コンテナーを提供します。
  • コンテナー イメージは mcr からダウンロードされます。
  • コンテナー イメージを Docker で実行します。
  • コンテナーをインスタンス化するときには、課金情報を指定する必要があります。

重要

Azure AI コンテナーは、計測のために Azure に接続していないと、実行のライセンスが許可されません。 お客様は、コンテナーが常に計測サービスに課金情報を伝えられるようにする必要があります。 Azure AI コンテナーによって、お客様のデータ (解析対象の画像やテキストなど) が Microsoft に送信されることはありません。

次のステップ