モデルのパフォーマンスに満足したら、デプロイの準備が完了します。そして、それを使用してテキストを分類します。 モデルをデプロイすると、Prediction API で使えるようになります。
前提条件
- Azure ストレージ アカウントが構成されているカスタム テキスト分類プロジェクト。
- ストレージ アカウントに アップロードされる テキスト データ。
- ラベルが付けられたデータと正しくトレーニングされたモデル
- モデルの評価の詳細を調べて、モデルのパフォーマンスを確認した。
プロジェクト開発ライフサイクルを参照してください。
モデルのデプロイ (REST API)
モデルのパフォーマンスを確認し、環境で使用できると判断したら、それをデプロイに割り当ててクエリを実行できるようにする必要があります。 モデルをデプロイに割り当てると、予測 API を通じて使用できるようになります。 これまでに構築した最適なモデルを割り当て、システムで使用する production という名前のデプロイを作成することをお勧めします。
staging という名前の別のデプロイを作成し、現在作業しているモデルをそれに割り当ててテストすることができます。 プロジェクトでは、最大 10 個のデプロイを使用できます。
デプロイ ジョブを送信する
デプロイ ジョブを送信するには、次の URL、ヘッダー、JSON 本文を使って PUT 要求を送信します。 プレースホルダーの値をあなた自身の値に置き換えてください。
{Endpoint}/language/authoring/analyze-text/projects/{projectName}/deployments/{deploymentName}?api-version={API-VERSION}
| プレースホルダー | 値 | 例 |
|---|---|---|
{ENDPOINT} |
API 要求を認証するためのエンドポイント。 | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 | myProject |
{DEPLOYMENT-NAME} |
デプロイの名前。 この値は、大文字と小文字が区別されます。 | staging |
{API-VERSION} |
呼び出している API のバージョン。 参照される値は、リリースされた最新バージョン用です。 その他の利用可能な API バージョンの詳細を確認する | 2022-05-01 |
ヘッダー
要求を認証するには、次のヘッダーを使います。
| キー | 値 |
|---|---|
Ocp-Apim-Subscription-Key |
リソースへのキー。 API 要求の認証に使われます。 |
要求本文
要求の本文で次の JSON を使います。 デプロイに割り当てるモデルの名前を使います。
{
"trainedModelLabel": "{MODEL-NAME}"
}
| キー | プレースホルダー | 値 | 例 |
|---|---|---|---|
| trainedModelLabel | {MODEL-NAME} |
デプロイに割り当てられているモデル名。 正常にトレーニングされたモデルのみ割り当てることができます。 この値は、大文字と小文字が区別されます。 | myModel |
API 要求を送信すると、ジョブが正しく送信されたことを示す 202 応答を受け取ります。 応答ヘッダーで、次のように書式設定された operation-location 値を抽出します。
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
この操作は非同期であるため、{JOB ID} を使って要求が識別されます。 この URL を使ってデプロイの状態を取得できます。
デプロイ ジョブの状態を取得する
次の GET 要求を使って、デプロイ ジョブの状態に関するクエリを実行します。 前のステップで取得した URL を使うことも、プレースホルダーの値を実際の値に置き換えることもできます。
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
| プレースホルダー | 値 | 例 |
|---|---|---|
{ENDPOINT} |
API 要求を認証するためのエンドポイント。 | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 | myProject |
{DEPLOYMENT-NAME} |
デプロイの名前。 この値は、大文字と小文字が区別されます。 | staging |
{JOB-ID} |
モデルのトレーニングの状態を取得するための ID。 これは、前の手順で受け取った location ヘッダー値にあります。 |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx |
{API-VERSION} |
呼び出している API のバージョン。 参照される値は、リリースされた最新バージョン用です。 その他の利用可能な API バージョンの詳細を確認する | 2022-05-01 |
ヘッダー
要求を認証するには、次のヘッダーを使います。
| キー | 値 |
|---|---|
Ocp-Apim-Subscription-Key |
リソースへのキー。 API 要求の認証に使われます。 |
応答本文
要求を送信すると、次の応答が返されます。
status パラメーターが "succeeded" に変化するまで、このエンドポイントのポーリングを続けます。 要求の成功を示す 200 コードを取得します。
{
"jobId":"{JOB-ID}",
"createdDateTime":"{CREATED-TIME}",
"lastUpdatedDateTime":"{UPDATED-TIME}",
"expirationDateTime":"{EXPIRATION-TIME}",
"status":"running"
}
スワップ デプロイ (REST API)
あるデプロイに割り当てられたモデルをテストし、別のデプロイに割り当てたい場合は、デプロイをスワップできます。 デプロイをスワップするときは、最初のデプロイに割り当てたモデルを取得し、2 番目のデプロイに割り当てます。 次に、2 番目のデプロイに割り当てたモデルを取得して、最初のデプロイに割り当てます。 この手順は、productionに割り当てられたモデルを取得してstagingに割り当てる場合に、stagingとproductionデプロイをスワップするために使用できます。
デプロイ スワップ ジョブを始めるには、次の URL、ヘッダー、JSON 本文を使って POST 要求を作ります。
要求 URL
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/deployments/:swap?api-version={API-VERSION}
| プレースホルダー | 値 | 例 |
|---|---|---|
{ENDPOINT} |
API 要求を認証するためのエンドポイント。 | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 | myProject |
{API-VERSION} |
呼び出している API のバージョン。 参照される値は、リリースされた最新 のモデル バージョン 用です。 | 2022-05-01 |
ヘッダー
要求を認証するには、次のヘッダーを使います。
| キー | 値 |
|---|---|
Ocp-Apim-Subscription-Key |
リソースへのキー。 API 要求の認証に使われます。 |
要求本文
{
"firstDeploymentName": "{FIRST-DEPLOYMENT-NAME}",
"secondDeploymentName": "{SECOND-DEPLOYMENT-NAME}"
}
| キー | プレースホルダー | 値 | 例 |
|---|---|---|---|
| firstDeploymentName | {FIRST-DEPLOYMENT-NAME} |
1 番目のデプロイの名前。 この値は、大文字と小文字が区別されます。 | production |
| secondDeploymentName | {SECOND-DEPLOYMENT-NAME} |
2 番目のデプロイの名前。 この値は、大文字と小文字が区別されます。 | staging |
API 要求を送信すると、成功を示す 202 応答を受け取ります。
デプロイの削除 (REST API)
デプロイを削除するには、次の URL、ヘッダー、JSON 本文を使って DELETE 要求を作成します。
要求 URL
{Endpoint}/language/authoring/analyze-text/projects/{PROJECT-NAME}/deployments/{deploymentName}?api-version={API-VERSION}
| プレースホルダー | 値 | 例 |
|---|---|---|
{ENDPOINT} |
API 要求を認証するためのエンドポイント。 | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 | myProject |
{DEPLOYMENT-NAME} |
デプロイの名前。 この値は、大文字と小文字が区別されます。 | prod |
{API-VERSION} |
呼び出している API のバージョン。 参照される値は、リリースされた最新バージョン用です。 その他の利用可能な API バージョンの詳細を確認する | 2022-05-01 |
ヘッダー
要求を認証するには、次のヘッダーを使います。
| キー | 値 |
|---|---|
Ocp-Apim-Subscription-Key |
リソースへのキー。 API 要求の認証に使われます。 |
API 要求を送信すると、成功を示す 202 応答が返されます。これは、デプロイが削除されていることを意味します。 呼び出しが成功すると、ジョブの状態を確認するために使用する Operation-Location ヘッダーが返されます。
デプロイ リソースの割り当て (REST API)
異なるリージョンに存在する異なる Language リソースを割り当てることで、プロジェクトを複数のリージョンにデプロイすることができます。
デプロイ リソースをプログラムで割り当てるには、Microsoft Entra 認証が必要です。 Microsoft Entra ID は、複数リージョンのデプロイのためにプロジェクトに割り当てる際に関心のあるリソースへのアクセス権があることを確認するために使用されます。 REST API 呼び出しを行うときに Microsoft Entra 認証をプログラムで使用する方法については、 Foundry Tools のドキュメントを参照してください。
リソースを割り当てる
以下の URL、ヘッダー、JSON 本文を使って POST 要求を送信し、デプロイ リソースを割り当てます。
要求 URL
API 要求を作るときは、次の URL を使います。 プレースホルダーの値をあなた自身の値に置き換えてください。
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/resources/:assign?api-version={API-VERSION}
| プレースホルダー | 値 | 例 |
|---|---|---|
{ENDPOINT} |
API 要求を認証するためのエンドポイント。 | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 | myProject |
{API-VERSION} |
呼び出している API のバージョン。 | 2022-10-01-preview |
ヘッダー
Microsoft Entra 認証を使用して、この API を認証します。
Body
次のサンプル JSON を本文として使います。
{
"resourcesMetadata": [
{
"azureResourceId": "{AZURE-RESOURCE-ID}",
"customDomain": "{CUSTOM-DOMAIN}",
"region": "{REGION-CODE}"
}
]
}
| キー | プレースホルダー | 値 | 例 |
|---|---|---|---|
azureResourceId |
{AZURE-RESOURCE-ID} |
割り当てる完全なリソース ID パス。 Azure portal で、リソースの [プロパティ] タブの [リソース ID] フィールドにあります。 | /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoResourceGroup/providers/Microsoft.CognitiveServices/accounts/ContosoResource |
customDomain |
{CUSTOM-DOMAIN} |
割り当てるリソースのカスタム サブドメイン。 Azure portal で、リソースの [キーとエンドポイント] タブの [エンドポイント] フィールドとして URL https://<your-custom-subdomain>.cognitiveservices.azure.com/ に含まれます |
contosoresource |
region |
{REGION-CODE} |
割り当てるリソースのリージョンを指定するリージョン コード。 Azure portal で、リソースの [キーとエンドポイント] タブの [場所/地域] フィールドにあります。 | eastus |
リソースの割り当て状態を取得する
デプロイ リソース割り当てジョブの状態を取得するには、次の GET 要求を使います。 プレースホルダーの値をあなた自身の値に置き換えてください。
要求 URL
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/resources/assign/jobs/{JOB-ID}?api-version={API-VERSION}
| プレースホルダー | 値 | 例 |
|---|---|---|
{ENDPOINT} |
API 要求を認証するためのエンドポイント。 | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 | myProject |
{JOB-ID} |
デプロイ割り当て状態を取得するジョブ ID。 これは、デプロイ リソースの割り当て要求に応答して API から受け取った operation-location ヘッダー値にあります。 |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx |
{API-VERSION} |
呼び出している API のバージョン。 | 2022-10-01-preview |
ヘッダー
要求を認証するには、次のヘッダーを使います。
| キー | 値 |
|---|---|
Ocp-Apim-Subscription-Key |
リソースへのキー。 API 要求の認証に使われます。 |
応答本文
要求を送信すると、次の応答が返されます。
status パラメーターが succeeded に変わるまで、このエンドポイントのポーリングを続けます。
{
"jobId":"{JOB-ID}",
"createdDateTime":"{CREATED-TIME}",
"lastUpdatedDateTime":"{UPDATED-TIME}",
"expirationDateTime":"{EXPIRATION-TIME}",
"status":"running"
}
デプロイ リソースの割り当てを解除する (REST API)
プロジェクトからデプロイ リソースの割り当てを解除または削除すると、そのリソース リージョンに以前にデプロイされたすべてのデプロイも削除されます。
リソースの割り当てを解除する
プロジェクトからデプロイ リソースの割り当てを解除または削除するには、以下の URL、ヘッダー、JSON 本文を使って POST 要求を送信します。
要求 URL
API 要求を作るときは、次の URL を使います。 プレースホルダーの値をあなた自身の値に置き換えてください。
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/resources/:unassign?api-version={API-VERSION}
| プレースホルダー | 値 | 例 |
|---|---|---|
{ENDPOINT} |
API 要求を認証するためのエンドポイント。 | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 | myProject |
{API-VERSION} |
呼び出している API のバージョン。 | 2022-10-01-preview |
ヘッダー
要求を認証するには、次のヘッダーを使います。
| キー | 値 |
|---|---|
Ocp-Apim-Subscription-Key |
リソースへのキー。 API 要求の認証に使われます。 |
Body
次のサンプル JSON を本文として使います。
{
"assignedResourceIds": [
"{AZURE-RESOURCE-ID}"
]
}
| キー | プレースホルダー | 値 | 例 |
|---|---|---|---|
assignedResourceIds |
{AZURE-RESOURCE-ID} |
割り当て解除する完全なリソース ID パス。 Azure portal で、リソースの [プロパティ] タブの [リソース ID] フィールドにあります。 | /subscriptions/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1/resourceGroups/ContosoResourceGroup/providers/Microsoft.CognitiveServices/accounts/ContosoResource |
リソースの割り当て解除状態を取得する
デプロイ リソースの割り当て解除ジョブの状態を取得するには、次の GET 要求を使います。 プレースホルダーの値をあなた自身の値に置き換えてください。
要求 URL
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/resources/unassign/jobs/{JOB-ID}?api-version={API-VERSION}
| プレースホルダー | 値 | 例 |
|---|---|---|
{ENDPOINT} |
API 要求を認証するためのエンドポイント。 | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 | myProject |
{JOB-ID} |
デプロイ割り当て状態を取得するジョブ ID。 これは、デプロイ リソースの割り当て解除要求の応答で API から受け取った operation-location ヘッダー値内にあります。 |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx |
{API-VERSION} |
呼び出している API のバージョン。 | 2022-10-01-preview |
ヘッダー
要求を認証するには、次のヘッダーを使います。
| キー | 値 |
|---|---|
Ocp-Apim-Subscription-Key |
リソースへのキー。 API 要求の認証に使われます。 |
応答本文
要求を送信すると、次の応答が返されます。 status パラメーターが "succeeded" に変化するまで、このエンドポイントのポーリングを続けます。
{
"jobId":"{JOB-ID}",
"createdDateTime":"{CREATED-TIME}",
"lastUpdatedDateTime":"{UPDATED-TIME}",
"expirationDateTime":"{EXPIRATION-TIME}",
"status":"running"
}