部署模型
本文內容
一旦您滿意模型的執行方式,就可以部署模型,並查詢其來自語句的預測。 部署模型可供透過 預測 API 使用。
必要條件
如需詳細資訊,請參閱 專案開發生命週期 。
部署模型
檢閱模型效能並決定適合在環境中使用之後,您必須將它指派給部署,才能進行查詢。 將模型指派給部署可讓您透過 預測 API 使用。 建議您建立名為 production
的部署,以指派到目前為止所建置的最佳模型,並在系統中使用它。 您可以建立另一個稱為 staging
的部署,您可以將您目前正在處理的模型指派給該部署,以進行測試。 您的專案中最多可以有 10 個部署。
若要從 Language Studio 內 部署模型:
從左側功能表中選取 [部署模型 ]。
選取 [新增部署] 以啟動 [新增部署] 精靈。
選取 [建立新的部署] 以建立新的部署,並從下方的下拉式清單中指派定型的模型。 否則,您可以選取 [覆寫現有的部署名稱] ,以有效地取代現有部署所使用的模型。
注意
覆寫現有的部署不需要變更預測 API 呼叫,但您得到的結果會以新指派的模型為基礎。
從 [模型] 下拉式清單中選取定型的模型。
選取 [部署] 以啟動部署作業。
部署成功之後,到期日會出現在它旁邊。 部署到期 是當部署的模型無法用於預測時,通常發生在 定型組態到期後的 12 個月。
提交部署作業
使用下列 URL、標頭和 JSON 主體建立 PUT 要求,以開始部署對話式語言理解模型。
要求 URL
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}?api-version={API-VERSION}
預留位置
值
範例
{ENDPOINT}
用於驗證 API 要求的端點。
https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME}
專案名稱。 此值區分大小寫。
myProject
{DEPLOYMENT-NAME}
部署的名稱。 此值區分大小寫。
staging
{API-VERSION}
您正在呼叫的 API 版本 。
2023-04-01
使用下列標頭來驗證您的要求。
Key
值
Ocp-Apim-Subscription-Key
資源的索引鍵。 用於驗證 API 要求。
要求本文
{
"trainedModelLabel": "{MODEL-NAME}",
}
按鍵
預留位置
值
範例
trainedModelLabel
{MODEL-NAME}
模型名稱會指派給您的部署。 您只能指派已成功定型的模型。 此值區分大小寫。
myModel
傳送 API 要求之後,您會收到 202
指出成功的回應。 在回應標頭中,擷 operation-location
取值。 其格式如下:
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
您可以使用此 URL 來取得部署作業狀態。
取得部署作業狀態
當您傳送成功的部署要求時,檢查作業狀態的完整要求 URL (包括端點、專案名稱和作業識別碼) 會包含在回應的 operation-location
標頭中。
使用下列 GET 要求來取得部署作業的狀態。 將預留位置值取代為您自己的值。
要求 URL
{ENDPOINT}/language/authoring/analyze-conversations/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}
用來尋找模型定型狀態的識別碼。
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION}
您正在呼叫的 API 版本 。
2023-04-01
使用下列標頭來驗證您的要求。
Key
值
Ocp-Apim-Subscription-Key
資源的索引鍵。 用於驗證 API 要求。
回應本文
傳送要求之後,您會收到下列回應。 請持續輪詢此端點, 直到狀態 參數變更為「成功」為止。
{
"jobId":"{JOB-ID}",
"createdDateTime":"{CREATED-TIME}",
"lastUpdatedDateTime":"{UPDATED-TIME}",
"expirationDateTime":"{EXPIRATION-TIME}",
"status":"running"
}
交換部署
測試指派給某個部署的模型之後,您可能會想要將模型指派給另一個部署。 交換部署牽涉到:
取得指派給第一個部署的模型,並將它指派給第二個部署。
取得指派給第二個部署的模型,並將它指派給第一個部署。
當您想要取得指派 staging
的模型並將其指派給 production
時,這可用來交換和 production
staging
部署。
從 Language Studio 內 交換部署
在 [部署模型] 頁面中,選取您想要交換的兩個部署,然後選取頂端功能表中的 [交換部署] 。
從出現的視窗中,選取您要交換的部署名稱。
使用下列 URL、標頭和 JSON 主體建立 POST 要求,以啟動交換部署作業。
要求 URL
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/:swap?api-version={API-VERSION}
預留位置
值
範例
{ENDPOINT}
用於驗證 API 要求的端點。
https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME}
專案名稱。 此值區分大小寫。
myProject
{API-VERSION}
您正在呼叫的 API 版本 。
2023-04-01
使用下列標頭來驗證您的要求。
Key
值
Ocp-Apim-Subscription-Key
資源的索引鍵。 用於驗證 API 要求。
要求本文
{
"firstDeploymentName": "{FIRST-DEPLOYMENT-NAME}",
"secondDeploymentName": "{SECOND-DEPLOYMENT-NAME}"
}
按鍵
預留位置
值
範例
firstDeploymentName
{FIRST-DEPLOYMENT-NAME}
第一個部署的名稱。 此值區分大小寫。
production
secondDeploymentName
{SECOND-DEPLOYMENT-NAME}
第二個部署的名稱。 此值區分大小寫。
staging
傳送 API 要求之後,您會收到 202
指出成功的回應。
刪除部署
若要從 Language Studio 中刪除 部署,請選取 [ 部署模型 ] 頁面。 然後選取要刪除的部署,並選取頂端功能表中的 [刪除部署]
使用下列 URL、標頭和 JSON 主體建立 DELETE 要求,以刪除對話式語言理解部署。
要求 URL
{ENDPOINT}/language/authoring/analyze-conversations/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 版本 。
2023-04-01
使用下列標頭來驗證您的要求。
Key
值
Ocp-Apim-Subscription-Key
資源的索引鍵。 用於驗證 API 要求。
傳送 API 要求之後,您會收到 202
指出成功回應,這表示您的部署已刪除。
指派部署資源
您可以 指派存在於不同區域中 的不同語言資源,將專案部署至多個區域。
若要在 Language Studio 中指派其他區域中的 部署資源:
請確定您已為自己指派用來建立專案資源的認知服務語言擁有者 。
移至 在 Language Studio 中部署模型 頁面。
選取 [區域] 索引標籤。
選取 [新增部署資源]。
選取另一個區域中的語言資源。
您現在已準備好將專案部署至已指派資源的區域。
以程式設計方式指派部署資源需要 Microsoft Entra 驗證**。 Microsoft Entra ID 可用來確認您可以存取想要指派給專案以進行多重區域部署的資源。 若要在進行 REST API 呼叫時以程式設計方式使用 Microsoft Entra 驗證,請參閱 Azure AI 服務驗證檔 。
指派資源
使用下列 URL、標頭和 JSON 主體提交 POST 要求,以指派部署資源。
要求 URL
建立 API 要求時,請使用下列 URL。 以您自己的值取代下方的預留位置值。
{ENDPOINT}/language/authoring/analyze-conversations/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。
本文
使用下列範例 JSON 作為主體。
{
"resourcesMetadata": [
{
"azureResourceId": "{AZURE-RESOURCE-ID}",
"customDomain": "{CUSTOM-DOMAIN}",
"region": "{REGION-CODE}"
}
]
}
按鍵
預留位置
值
範例
azureResourceId
{AZURE-RESOURCE-ID}
您想要指派的完整資源識別碼路徑。 在資源 [資源 識別碼] 欄位的 [屬性 ] 索引標籤底下的 [Azure 入口網站中找到。
/subscriptions/12345678-0000-0000-0000-0000abcd1234/resourceGroups/ContosoResourceGroup/providers/Microsoft.CognitiveServices/accounts/ContosoResource
customDomain
{CUSTOM-DOMAIN}
您要指派之資源的自訂子域。 在資源 [金鑰和端點] 索引標籤下的 [Azure 入口網站中找到,URL 中 [端點 ] 欄位的 一部分https://<your-custom-subdomain>.cognitiveservices.azure.com/
contosoresource
region
{REGION-CODE}
區功能變數代碼,指定您要指派之資源的區域。 在資源的 [金鑰和端點 ] 索引標籤下方 的 [Azure 入口網站中找到,做為 [ 位置/區域 ] 欄位的一部分。
eastus
取得指派資源狀態
使用下列 GET 要求來取得指派部署資源作業的狀態。 以您自己的值取代下方的預留位置值。
要求 URL
{ENDPOINT}/language/authoring/analyze-conversations/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}
取得指派部署狀態的作業識別碼。 這是 operation-location
您在回應指派部署資源要求時從 API 收到的標頭值。
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION}
您要呼叫的 API 版本。
2022-10-01-preview
使用下列標頭來驗證您的要求。
Key
值
Ocp-Apim-Subscription-Key
資源的索引鍵。 用於驗證 API 要求。
回應本文
傳送要求之後,您會收到下列回應。 請持續輪詢此端點, 直到狀態 參數變更為「成功」為止。
{
"jobId":"{JOB-ID}",
"createdDateTime":"{CREATED-TIME}",
"lastUpdatedDateTime":"{UPDATED-TIME}",
"expirationDateTime":"{EXPIRATION-TIME}",
"status":"running"
}
取消指派部署資源
從專案取消指派或移除部署資源時,您也會刪除已部署至該資源區域的所有部署。
若要使用 Language Studio 取消指派或移除其他區域中的部署資源:
移至 [部署模型] 頁面中的 [ 區域] 索引 標籤 。
選取您想要取消指派的資源。
選取 [移除指派] 按鈕。
在出現的視窗中,輸入您想要移除的資源名稱。
取消指派資源
使用下列 URL、標頭和 JSON 主體提交 POST 要求,以取消指派或移除專案的部署資源。
要求 URL
建立 API 要求時,請使用下列 URL。 以您自己的值取代下方的預留位置值。
{ENDPOINT}/language/authoring/analyze-conversations/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
使用下列標頭來驗證您的要求。
Key
值
Ocp-Apim-Subscription-Key
資源的索引鍵。 用於驗證 API 要求。
本文
使用下列範例 JSON 作為主體。
{
"assignedResourceIds": [
"{AZURE-RESOURCE-ID}"
]
}
按鍵
預留位置
值
範例
assignedResourceIds
{AZURE-RESOURCE-ID}
您想要取消指派的完整資源識別碼路徑。 在資源 [屬性 ] 索引標籤底 下的 [Azure 入口網站中找到作為 [資源識別碼 ] 欄位。
/subscriptions/d73a1925-0000-0000-0000-0000c5fe888e/resourceGroups/ContosoResourceGroup/providers/Microsoft.CognitiveServices/accounts/ContosoResource
取得取消指派資源狀態
使用下列 GET 要求來取得未指派部署資源作業的狀態。 以您自己的值取代下方的預留位置值。
要求 URL
{ENDPOINT}/language/authoring/analyze-conversations/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}
取得指派部署狀態的作業識別碼。 這是 operation-location
您從 API 收到的標頭值,以回應未指派的部署資源要求。
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION}
您要呼叫的 API 版本。
2022-10-01-preview
使用下列標頭來驗證您的要求。
Key
值
Ocp-Apim-Subscription-Key
資源的索引鍵。 用於驗證 API 要求。
回應本文
傳送要求之後,您會收到下列回應。 請持續輪詢此端點, 直到狀態 參數變更為「成功」為止。
{
"jobId":"{JOB-ID}",
"createdDateTime":"{CREATED-TIME}",
"lastUpdatedDateTime":"{UPDATED-TIME}",
"expirationDateTime":"{EXPIRATION-TIME}",
"status":"running"
}
下一步