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

注意

コンテナー イメージの場所が最近変更されました。 このコンテナーの更新された場所については、この記事をご覧ください。

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

Language Understanding (LUIS) コンテナーは、トレーニング済みまたは発行された Language Understanding モデルを読み込みます。 Docker コンテナーは、LUIS アプリとしてコンテナーの API エンドポイントからクエリ予測にアクセスできるようにします。 コンテナーからクエリ ログを収集し、それらを Language Understanding アプリに再度アップロードすることで、アプリの予測正確性を高めることができます。

次のビデオでは、このコンテナーの使用に関するデモが行われています。

Cognitive Services のコンテナーのデモ

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

前提条件

LUIS コンテナーを実行するには、次の前提条件を確認してください。

必須 目的
Docker エンジン ホスト コンピューターに Docker エンジンをインストールしておく必要があります。 Docker には、macOSWindowsLinux 上で Docker 環境の構成を行うパッケージが用意されています。 Docker やコンテナーの基礎に関する入門情報については、「Docker overview」(Docker の概要) を参照してください。

コンテナーが Azure に接続して課金データを送信できるように、Docker を構成する必要があります。

Windows では、Linux コンテナーをサポートするように Docker を構成することも必要です。

Docker に関する知識 レジストリ、リポジトリ、コンテナー、コンテナー イメージなど、Docker の概念の基本的な理解に加えて、基本的な docker コマンドの知識が必要です。
Azure Cognitive Services リソースおよび LUIS パッケージ アプリ ファイル コンテナーを使用するためには、以下が必要です。

* Cognitive Services Azure リソースおよび関連する課金キー (課金エンドポイント URI)。 どちらの値も、対象リソースの概要ページとキー ページで使用でき、コンテナーを開始するために必要です。
* コンテナーへのマウント済み入力としてパッケージ化されたトレーニング済みまたは発行済みのアプリと、その関連アプリ ID。 パッケージ ファイルは、LUIS ポータルまたはオーサリング API から取得できます。 オーサリング API から LUIS パッケージ アプリを入手している場合は、"オーサリング キー" も必要になります。

これらの要件は、以下の変数にコマンドライン引数を渡すために使用されます。

{AUTHORING_KEY} : このキーは、パッケージ化されたアプリをクラウドの LUIS サービスから取得したり、クエリ ログをクラウドにアップロードしたりするために使用されます。 形式は xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx です。

{APP_ID} : この ID は、アプリを選択するために使用されます。 形式は xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx です。

{API_KEY} :このキーは、コンテナーを起動するために使用されます。 エンドポイント キーは 2 か所で確認できます。 1 つ目は Azure portal です (Cognitive Services リソースのキーの一覧内)。 また、LUIS ポータルの [Keys and endpoints](キーとエンドポイント) の設定ページでもエンドポイント キーを確認できます。 スターター キーは使用しないでください。

{ENDPOINT_URI} :[概要] ページで提供されるエンドポイント。

オーサリング キーとエンドポイント キーには、異なる目的があります。 これらは区別して使用してください。

必須パラメーターの収集

すべての Cognitive Services のコンテナーに対して必須である、3 つの主要なパラメーターがあります。 エンドユーザー使用許諾契約書 (EULA) は、accept の値と共に提示される必要があります。 さらに、エンドポイント URL と API キーの両方が必要です。

エンドポイント URL {ENDPOINT_URI}

エンドポイント URI の値は、Azure portal で、対応する Cognitive Service リソースの [概要] ページで入手できます。 [概要] ページに移動して、エンドポイントの上にマウス ポインターを移動すると、Copy to clipboard アイコンが表示されます。 必要に応じてコピーして使用します。

後で使用するためにエンドポイント URI を収集する

キー {API_KEY}

このキーはコンテナーを起動するために使用され、Azure portal で、対応する Cognitive Service リソースの [キー] ページで入手できます。 [キー] ページに移動し、Copy to clipboard アイコンをクリックします。

後で使用するために 2 つのキーのどちらかを入手する

重要

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

パッケージ ファイルのオーサリング API

パッケージ ファイルのオーサリング API は、次のとおりです。

ホスト コンピューター

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

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

次の表は、コンテナー ホストの最小値と推奨値の一覧です。 要件は、トラフィック量によって変わる場合があります。

コンテナー 最小値 推奨 TPS
(最小、最大)
LUIS 1 コア、2 GB メモリ 1 コア、4 GB メモリ 20、40
  • 各コアは少なくとも 2.6 ギガヘルツ (GHz) 以上にする必要があります。
  • TPS - 1 秒あたりのトランザクション数

コアとメモリは、docker run コマンドの一部として使用される --cpus--memory の設定に対応します。

docker pull によるコンテナー イメージの取得

docker pull コマンドを使用して mcr.microsoft.com/azure-cognitive-services/language/luis リポジトリからコンテナー イメージをダウンロードします。

docker pull mcr.microsoft.com/azure-cognitive-services/language/luis:latest

上記のコマンドで使用されている latest など、利用可能なタグの詳細な説明については、Docker Hub の LUIS に関するページを参照してください。

ヒント

docker images コマンドを使用して、ダウンロードしたコンテナー イメージを一覧表示できます。 たとえば、次のコマンドは、ダウンロードした各コンテナー イメージの ID、リポジトリ、およびタグが表として書式設定されて表示されます。

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

IMAGE ID         REPOSITORY                TAG
<image-id>       <repository-path/name>    <tag-name>

コンテナーを使用する方法

コンテナーをホスト コンピューター上に用意できたら、次の手順を使用してコンテナーを操作します。

Language Understanding (LUIS) コンテナーを使用する手順

  1. LUIS ポータルまたは LUIS API からコンテナーのパッケージをエクスポートします。
  2. ホスト コンピューター上の必要な input ディレクトリにパッケージ ファイルを移動します。 LUIS パッケージ ファイルの名前変更、改変、上書き、または展開は行わないでください。
  3. 必要な "入力マウント" と課金設定で コンテナーを実行します。 docker run コマンドの他のもご覧いただけます。
  4. コンテナーの予測エンドポイントに対してクエリを実行します
  5. コンテナーの操作が完了したら、LUIS ポータルで出力マウントからエンドポイント ログをインポートし、コンテナーを停止します。
  6. LUIS ポータルの [Review endpoint utterances](エンドポイントの発話の確認) ページで アクティブ ラーニングを使用して、アプリを強化します。

コンテナーで実行中のアプリに変更を加えることはできません。 コンテナー内のアプリに変更を加えるには、LUIS ポータルを使用して LUIS サービスでアプリに変更を加えるか、または LUIS のオーサリング API を使用する必要があります。 そのうえで、アプリをトレーニングまたは発行し、新しいパッケージをダウンロードして、もう一度コンテナーを実行します。

コンテナー内の LUIS アプリを再度 LUIS サービスにエクスポートすることはできません。 アップロードできるのは、クエリ ログだけです。

パッケージ化されたアプリの LUIS からのエクスポート

ユーザーの発話の予測クエリに回答するには、トレーニング済みまたは発行済みの LUIS アプリが LUIS コンテナーに必要です。 LUIS アプリを取得するためには、トレーニング済みまたは発行済みのパッケージ API を使用します。

その既定の場所は、お客様が docker run コマンドを実行する場所を起点とした input サブディレクトリです。

パッケージ ファイルを任意のディレクトリに配置してください。Docker コンテナーを実行する際には、そのディレクトリを入力マウントとして参照します。

パッケージの種類

入力マウント ディレクトリには、運用ステージングバージョン付き の各モデルのアプリを同時に含めることができます。 すべてのパッケージがマウントされます。

パッケージの種類 クエリ エンドポイント API クエリの利用可能性 パッケージのファイル名の形式
バージョン付き GET、POST コンテナーのみ {APP_ID}_v{APP_VERSION}.gz
ステージング GET、POST Azure とコンテナー {APP_ID}_STAGING.gz
Production GET、POST Azure とコンテナー {APP_ID}_PRODUCTION.gz

重要

LUIS パッケージ ファイルの名前変更、改変、上書き、または展開は行わないでください。

パッケージの前提条件

LUIS アプリケーションをパッケージ化する前に、以下を用意する必要があります。

パッケージ化の要件 詳細
Azure Cognitive Services リソース インスタンス サポートされているリージョンは次のとおりです

米国西部 (westus)
西ヨーロッパ (westeurope)
オーストラリア東部 (australiaeast)
トレーニング済みまたは発行済みの LUIS アプリ サポートされていない依存関係を含んでいないこと。
ホスト コンピューターのファイル システムへのアクセス ホスト コンピューターで入力マウントが許可されている必要があります。

LUIS ポータルからアプリ パッケージをエクスポートする

LUIS ポータルには、トレーニング済みアプリまたは発行済みアプリのパッケージをエクスポートする機能が備わっています。

LUIS ポータルから発行済みアプリのパッケージをエクスポートする

発行済みアプリのパッケージは、 [マイ アプリ] 一覧ページから入手できます。

  1. LUIS ポータルにサインオンします。
  2. 一覧でアプリ名の左側にあるチェック ボックスをオンにします。
  3. 一覧の上にあるコンテキスト ツール バーから [エクスポート] 項目を選択します。
  4. [Export for container (GZIP)](コンテナー用にエクスポート (GZIP)) を選択します。
  5. [運用スロット] または [ステージング スロット] の環境を選択します。
  6. ブラウザーからパッケージがダウンロードされます。

アプリ ページの [エクスポート] メニューからコンテナー用の発行済みパッケージをエクスポートする

LUIS ポータルからバージョン付きアプリのパッケージをエクスポートする

バージョン付きアプリのパッケージは、 [バージョン] 一覧ページから入手できます。

  1. LUIS ポータルにサインオンします。
  2. 一覧でアプリを選択します。
  3. アプリのナビゲーション バーで [管理] を選択します。
  4. 左側のナビゲーション バーで [バージョン] を選択します。
  5. 一覧でバージョン名の左側にあるチェック ボックスをオンにします。
  6. 一覧の上にあるコンテキスト ツール バーから [エクスポート] 項目を選択します。
  7. [Export for container (GZIP)](コンテナー用にエクスポート (GZIP)) を選択します。
  8. ブラウザーからパッケージがダウンロードされます。

[バージョン] ページの [エクスポート] メニューからコンテナーのトレーニング済みパッケージをエクスポートする

API から発行済みアプリのパッケージをエクスポートする

お客様が既に発行した LUIS アプリをパッケージ化するには、以下の REST API メソッドを使用します。 API 呼び出しのプレースホルダーは、HTTP 仕様の下の表を使用して、お客様独自の適切な値に置き換えてください。

GET /luis/api/v2.0/package/{APP_ID}/slot/{SLOT_NAME}/gzip HTTP/1.1
Host: {AZURE_REGION}.api.cognitive.microsoft.com
Ocp-Apim-Subscription-Key: {AUTHORING_KEY}
プレースホルダー
{APP_ID} 発行済み LUIS アプリのアプリケーション ID。
{SLOT_NAME} 発行済み LUIS アプリの環境。 次のいずれかの値を使用します。
PRODUCTION
STAGING
{AUTHORING_KEY} 発行済み LUIS アプリに使用する LUIS アカウントのオーサリング キー。
LUIS ポータルの [ユーザー設定] ページからオーサリング キーを取得できます。
{AZURE_REGION} 適切な Azure リージョン:

westus - 米国西部
westeurope - 西ヨーロッパ
australiaeast - オーストラリア東部

発行済みパッケージをダウンロードする場合は、こちらの API ドキュメントを参照してください。 正常にダウンロードされた場合、LUIS パッケージ ファイルが返されます。 コンテナーの入力マウントに指定した保存場所にファイルを保存してください。

API からバージョン付きアプリのパッケージをエクスポートする

お客様が既にトレーニングした LUIS アプリケーションをパッケージ化するには、以下の REST API メソッドを使用します。 API 呼び出しのプレースホルダーは、HTTP 仕様の下の表を使用して、お客様独自の適切な値に置き換えてください。

GET /luis/api/v2.0/package/{APP_ID}/versions/{APP_VERSION}/gzip HTTP/1.1
Host: {AZURE_REGION}.api.cognitive.microsoft.com
Ocp-Apim-Subscription-Key: {AUTHORING_KEY}
プレースホルダー
{APP_ID} トレーニング済み LUIS アプリのアプリケーション ID。
{APP_VERSION} トレーニング済み LUIS アプリのアプリケーション バージョン。
{AUTHORING_KEY} 発行済み LUIS アプリに使用する LUIS アカウントのオーサリング キー。
LUIS ポータルの [ユーザー設定] ページからオーサリング キーを取得できます。
{AZURE_REGION} 適切な Azure リージョン:

westus - 米国西部
westeurope - 西ヨーロッパ
australiaeast - オーストラリア東部

バージョン付きのパッケージをダウンロードするには、こちらの API ドキュメントを参照してください。 正常にダウンロードされた場合、LUIS パッケージ ファイルが返されます。 コンテナーの入力マウントに指定した保存場所にファイルを保存してください。

docker run によるコンテナーの実行

コンテナーを実行するには、docker run コマンドを使用します。 {ENDPOINT_URI}{API_KEY} の値を取得する方法の詳細については、「必須パラメーターの収集」を参照してください。

docker run コマンドのを利用できます。

docker run --rm -it -p 5000:5000 ^
--memory 4g ^
--cpus 2 ^
--mount type=bind,src=c:\input,target=/input ^
--mount type=bind,src=c:\output\,target=/output ^
mcr.microsoft.com/azure-cognitive-services/language/luis ^
Eula=accept ^
Billing={ENDPOINT_URI} ^
ApiKey={API_KEY}
  • この例では、Windows 上のアクセス許可の競合を防ぐために、C: ドライブのディレクトリを使用しています。 特定のディレクトリを入力ディレクトリとして使用する必要がある場合は、Docker サービスのアクセス許可の付与が必要なことがあります。
  • Docker コンテナーについて高度な知識がある場合を除き、引数の順序は変更しないでください。
  • 別のオペレーティング システムを使用している場合は、正しいコンソール/ターミナル、マウント用のフォルダー構文、ご利用のシステムの行連結文字を使用します。 これらの例では、行連結文字 ^ を使用した Windows コンソールを想定しています。 コンテナーは Linux オペレーティング システムであるため、ターゲット マウントでは Linux スタイルのフォルダー構文を使用します。

このコマンドは、次の操作を行います。

  • LUIS コンテナー イメージからコンテナーを実行します
  • コンテナー ホスト上の入力マウント (C:\input) から LUIS アプリを読み込みます
  • 2 つの CPU コアと 4 ギガバイト (GB) のメモリを割り当てます
  • TCP ポート 5000 を公開し、コンテナーに pseudo-TTY を割り当てます
  • コンテナー ホスト上の出力マウント (C:\output) にコンテナーと LUIS のログを保存します
  • コンテナーの終了後にそれを自動的に削除します。 ホスト コンピューター上のコンテナー イメージは引き続き利用できます。

docker run コマンドの他のもご覧いただけます。

重要

コンテナーを実行するには、EulaBillingApiKey の各オプションを指定する必要があります。そうしないと、コンテナーが起動しません。 詳細については、「課金」を参照してください。 ApiKey の値は、LUIS ポータルの [Azure リソース] ページにある [キー] です。また、Azure Cognitive Services リソース キー ページで確認することもできます。

同じホスト上で複数のコンテナーを実行する

公開されているポートを使って複数のコンテナーを実行する予定の場合、必ず各コンテナーを別の公開されているポートで実行してください。 たとえば、最初のコンテナーをポート 5000 上で、2 番目のコンテナーを 5001 上で実行します。

このコンテナーと、別の Azure Cognitive Services コンテナーを HOST 上で同時に実行することができます。 同じ Cognitive Services コンテナーの複数のコンテナーを実行することもできます。

コンテナーによってサポートされる エンドポイント API

コンテナーでは、API の V2 バージョンと V3 バージョンの両方を利用できます。

コンテナーの予測エンドポイントに対するクエリの実行

コンテナーには、REST ベースのクエリ予測エンドポイント API が用意されています。 発行済み (ステージングまたは運用) アプリのエンドポイントには、バージョン付きのアプリのエンドポイントとは 異なる ルートがあります。

コンテナーの API のホストとしては http://localhost:5000 を使用します。

パッケージの種類 HTTP 動詞 ルート クエリ パラメーター
公開済み GET、POST /luis/v3.0/apps/{appId}/slots/{slotName}/predict? query={query}
[&verbose]
[&log]
[&show-all-intents]
バージョン付き GET、POST /luis/v3.0/apps/{appId}/versions/{versionId}/predict? query={query}
[&verbose]
[&log]
[&show-all-intents]

クエリ パラメーターを使用すると、クエリの応答で何がどのように返されるかを構成できます。

Query parameter (クエリ パラメーター) Type 目的
query string ユーザーの発話。
verbose boolean 予測されるモデルのすべてのメタデータを返すかどうかを示すブール値。 既定値は false です。
log boolean クエリをログします。これは後でアクティブ ラーニングに使用できます。 既定値は false です。
show-all-intents boolean すべての意図を返すか、上位のスコアリングの意図のみを返すかを示すブール値。 既定値は false です。

LUIS アプリに対するクエリの実行

発行済みアプリのコンテナーに対してクエリを実行するためのサンプル CURL コマンド:

スロット内のモデルに対してクエリを実行するには、次の API を使用します。

curl -G \
-d verbose=false \
-d log=true \
--data-urlencode "query=turn the lights on" \
"http://localhost:5000/luis/v3.0/apps/{APP_ID}/slots/production/predict"

ステージング 環境に対するクエリを作成するには、ルート内の productionstaging に置き換えます。

http://localhost:5000/luis/v3.0/apps/{APP_ID}/slots/staging/predict

バージョン付きのモデルに対してクエリを実行するには、次の API を使用します。

curl -G \
-d verbose=false \
-d log=false \
--data-urlencode "query=turn the lights on" \
"http://localhost:5000/luis/v3.0/apps/{APP_ID}/versions/{APP_VERSION}/predict"

アクティブ ラーニングに使用するエンドポイント ログのインポート

LUIS コンテナーの出力マウントが指定された場合、アプリのクエリ ログ ファイルは出力ディレクトリに保存されます。ここで、{INSTANCE_ID} はコンテナー ID です。 アプリのクエリ ログには、LUIS コンテナーに送信された予測クエリごとに、クエリ、応答、タイムスタンプが記録されます。

次の場所は、コンテナーのログ ファイルに使用される入れ子になったディレクトリ構造を示しています。

/output/luis/{INSTANCE_ID}/

LUIS ポータルから、お客様のアプリを選択し、 [Import endpoint logs](エンドポイント ログのインポート) を選択して、それらのログをアップロードします。

アクティブ ラーニングに使用するコンテナーのログ ファイルをインポートする

ログがアップロードされたら、LUIS ポータルでエンドポイント発話を確認します。

コンテナーが実行されていることを検証する

コンテナーが実行されていることを検証する方法は複数あります。 問題になっているコンテナーの "外部 IP" アドレスと公開ポートを特定し、任意の Web ブラウザーを開きます。 以下に示した各種の要求 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 ヘッダーと HTTP 本文の必要な形式を示すサンプル CURL コマンドが得られます。

コンテナーのホーム ページ

コンテナーの停止

コンテナーをシャットダウンするには、コンテナーが実行されているコマンドライン環境で、Ctrl + C キーを押します。

トラブルシューティング

出力マウントとログを有効にした状態でコンテナーを実行すると、コンテナーによってログ ファイルが生成されます。これらはコンテナーの起動時または実行時に発生した問題のトラブルシューティングに役立ちます。

ヒント

トラブルシューティング情報とガイダンスの詳細については、「Cognitive Services コンテナーについてよくあるご質問 (FAQ)」を参照してください。

課金

LUIS コンテナーでは、お客様の Azure アカウントの Cognitive Services リソースを使用して課金情報が Azure に送信されます。

コンテナーへのクエリは、ApiKey に使用される Azure リソースの価格レベルで課金されます。

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

Azure に接続する

コンテナーには、実行する課金引数の値が必要です。 これらの値により、コンテナーは課金エンドポイントに接続することができます。 コンテナーから、約 10 ~ 15 分ごとに使用状況が報告されます。 許可された時間枠内でコンテナーが Azure に接続しなかった場合、コンテナーは引き続き実行されますが、課金エンドポイントが復元されるまでクエリには対応しません。 接続は、10 ~15 分の同じ時間間隔で、10 回試行されます。 10 回以内に課金エンドポイントに接続できなかった場合、コンテナーによる要求の処理は停止されます。 課金のために Microsoft に送信される情報の例については、Cognitive Services コンテナーについてよく寄せられる質問を参照してください。

課金引数

docker run コマンドは、次の 3 つのオプションのすべてに有効な値が指定された場合にコンテナーを起動します。

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

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

まとめ

この記事では、Language Understanding (LUIS) コンテナーの概念のほか、そのダウンロード、インストール、および実行のワークフローについて学習しました。 要約すると:

  • Language Understanding (LUIS) からは、発話のエンドポイント クエリ予測を提供する Docker 用 Linux コンテナーが 1 つ提供されます。
  • コンテナー イメージは Microsoft Container Registry (MCR) からダウンロードされます。
  • コンテナー イメージを Docker で実行します。
  • REST API を使用して、コンテナーのホスト URI を指定することにより、コンテナーのエンドポイントに対してクエリを実行できます。
  • コンテナーをインスタンス化するときは、課金情報を指定する必要があります。

重要

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

次のステップ