모델 배포
이 문서의 내용
모델 수행 방식에 만족하면 배포할 준비가 된 후 발화에서 예측을 쿼리할 수 있습니다. 모델을 배포하면 예측 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
다음 헤더를 사용하여 요청을 인증합니다.
키
값
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을 사용하여 배포 작업 상태를 가져올 수 있습니다.
배포 작업 상태 가져오기
성공적인 배포 요청을 보내면 작업 상태(엔드포인트, 프로젝트 이름 및 작업 ID 포함)를 확인하기 위한 전체 요청 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}
모델의 학습 상태를 찾기 위한 ID입니다.
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
배포를 교환할 수 있습니다.
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
다음 헤더를 사용하여 요청을 인증합니다.
키
값
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
다음 헤더를 사용하여 요청을 인증합니다.
키
값
Ocp-Apim-Subscription-Key
리소스의 키입니다. API 요청을 인증하는 데 사용됩니다.
API 요청을 보내면 성공을 나타내는 202
응답을 받게 됩니다. 이는 배포가 삭제되었음을 의미합니다.
배포 리소스 할당
여러 지역에 있는 다양한 언어 리소스를 할당하여 프로젝트를 여러 지역에 배포 할 수 있습니다.
Language Studio 의 다른 지역에서 배포 리소스를 할당하려면:
프로젝트를 만드는 데 사용한 리소스에 Cognitive Service 언어 소유자 로 자신을 할당했는지 확인합니다.
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
이 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입니다. 이는 배포 리소스 할당 요청에 대한 응답으로 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"
}
배포 리소스 할당 취소
프로젝트에서 배포 리소스를 할당 취소하거나 제거하면 해당 리소스의 지역에 배포된 모든 배포도 삭제됩니다.
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
다음 헤더를 사용하여 요청을 인증합니다.
키
값
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"
}
다음 단계