모델의 성능에 만족하면 이를 배포할 준비가 되었으며, 발화에서 예측을 요청할 수 있습니다. 모델을 배포하면 예측 API를 통해 모델을 사용할 수 있습니다.
필수 조건
- 성공적으로 만든 프로젝트.
- 레이블이 부여된 발화 및 성공적으로 학습된 모델
자세한 내용은 프로젝트 개발 수명 주기를참조하세요.
모델 배포
모델의 성능을 검토하고 환경에서 사용하기에 적합하다는 것을 결정한 후에는 모델을 쿼리할 수 있도록 배포에 할당해야 합니다. 모델을 배포에 할당하면 예측 API를 통해 사용할 수 있습니다. 배포를 production으로 이름 짓고, 지금까지 구축한 최상의 모델을 할당하여 시스템에서 사용할 것을 권장합니다. 현재 작업 중인 모델을 테스트할 수 있도록 할당할 수 있는 staging이라는 또 다른 배포를 만들 수 있습니다. 프로젝트에 최대 10개의 배포를 사용할 수 있습니다.
배포 작업 제출
다음 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 |
헤더
다음 헤더를 사용하여 요청을 인증합니다.
| 키 | 값 |
|---|---|
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을 사용하여 배포 작업 상태를 가져올 수 있습니다.
배포 작업 상태 가져오기
다음 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} |
모델의 학습 상태를 찾기 위한 ID입니다.
location 모델 배포 요청에 대한 응답으로 API에서 받은 헤더 값에 있습니다. |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx |
{API-VERSION} |
호출하는 API 의 버전 입니다. | 2023-04-01 |
헤더
다음 헤더를 사용하여 요청을 인증합니다.
| 키 | 값 |
|---|---|
Ocp-Apim-Subscription-Key |
당신의 리소스에 대한 핵심입니다. API 요청을 인증하는 데 사용됩니다. |
응답 본문
요청을 보내면 다음과 같은 응답을 가져오게 됩니다. status 매개 변수가 "succeeded"로 변경될 때까지 이 엔드포인트를 계속 폴링합니다.
{
"jobId":"{JOB-ID}",
"createdDateTime":"{CREATED-TIME}",
"lastUpdatedDateTime":"{UPDATED-TIME}",
"expirationDateTime":"{EXPIRATION-TIME}",
"status":"running"
}
배포 교환
한 배포에 할당된 모델을 테스트한 후에는 다른 배포에 할당할 수 있습니다. 배포 교환에는 다음이 포함됩니다.
- 첫 번째 배포에 할당된 모델을 사용하고 두 번째 배포에 할당합니다.
- 두 번째 배포에 할당된 모델을 사용하고 첫 번째 배포에 할당합니다.
이 단계는 staging에 할당된 모델을 production에 할당하려 할 때, production 및 staging 배포를 교환하는 데 사용할 수 있습니다.
다음 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 |
헤더
다음 헤더를 사용하여 요청을 인증합니다.
| 키 | 값 |
|---|---|
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 응답을 받게 됩니다.
배포 삭제
다음 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 |
헤더
다음 헤더를 사용하여 요청을 인증합니다.
| 키 | 값 |
|---|---|
Ocp-Apim-Subscription-Key |
당신의 리소스에 대한 핵심입니다. API 요청을 인증하는 데 사용됩니다. |
API 요청을 보내면 성공을 나타내는 응답을 받게 202 됩니다. 즉, 배포가 삭제됩니다.
배포 리소스 할당
여러 지역에 있는 다양한 언어 리소스를 할당하여 프로젝트를 여러 지역에 배포할 수 있습니다.
프로그래밍 방식으로 배포 리소스를 할당하려면 Microsoft Entra 인증**이 필요합니다. Microsoft Entra ID는 다중 지역 배포를 위해 프로젝트에 할당하려는 리소스에 대한 액세스 권한이 있는지 확인하는 데 사용됩니다. REST API를 호출할 때 프로그래밍 방식으로 Microsoft Entra 인증을 사용하려면 Foundry Tools 인증 설명서를 참조하세요.
리소스 할당
다음 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 |
헤더
이 API를 인증하려면 Microsoft Entra 인증을 사용합니다.
본문
다음 샘플 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-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} |
할당된 배포 상태를 확인하는 작업 ID입니다.
operation-location 배포 리소스 할당 요청에 대한 응답으로 API에서 받은 헤더 값에 있습니다. |
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"
}
배포 리소스 할당 취소
프로젝트에서 배포 리소스를 할당 취소하거나 제거할 때 해당 리소스 지역에 배포된 모든 배포를 삭제할 수도 있습니다.
리소스 할당 해제
다음 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 |
헤더
다음 헤더를 사용하여 요청을 인증합니다.
| 키 | 값 |
|---|---|
Ocp-Apim-Subscription-Key |
당신의 리소스에 대한 핵심입니다. API 요청을 인증하는 데 사용됩니다. |
본문
다음 샘플 JSON을 본문으로 사용합니다.
{
"assignedResourceIds": [
"{AZURE-RESOURCE-ID}"
]
}
| 키 | 자리 표시자 | 값 | 예제 |
|---|---|---|---|
assignedResourceIds |
{AZURE-RESOURCE-ID} |
할당을 취소할 전체 리소스 ID 경로입니다. Azure Portal에서 리소스의 속성 탭에 있는 리소스 ID 필드에서 찾을 수 있습니다. | /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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} |
할당된 배포 상태를 확인하는 작업 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"
}