Когда вы удовлетворены тем, как работает модель, она готова к развертыванию и запрашивает прогнозы из речевых фрагментов. Развернутая модель становится доступной для использования через API прогнозирования.
Предварительные условия
Дополнительные сведения см. в статье Жизненный цикл разработки проекта.
Развертывание модели
После проверки производительности модели и принятия решения о её использовании в вашей среде, необходимо назначить модель для развертывания, чтобы иметь возможность взаимодействовать с ней. Назначаемая развертыванию модель становится доступной для использования с помощью API прогнозирования. Рекомендуется создать развертывание под названием production
, которому вы назначите лучшую из созданных на данный момент моделей и используете её в своей системе. Вы можете создать другое развертывание, называемое staging
, и назначить в него модель, над которой вы сейчас работаете, чтобы её протестировать. В проекте может быть не более 10 развертываний.
Чтобы развернуть модель в Language Studio, выполните следующие действия.
В меню слева выберите Развертывание модели.
Выберите " Добавить развертывание", чтобы запустить мастер добавления развертывания .
Выберите Создать новое имя развертывания, чтобы создать новое развертывание и назначить обученную модель из выпадающего списка ниже. В противном случае можно выбрать перезаписать имя существующего развертывания, чтобы модель, используемая существующим развертыванием, была эффективно заменена.
Примечание.
Для перезаписи существующего развертывания не требуется вносить изменения в вызов API прогнозирования, но полученные результаты будут основаны на новой назначенной модели.
Выберите обученную модель в раскрывающемся списке "Модель ".
Выберите "Развернуть", чтобы начать процесс развертывания.
После успешного развертывания рядом с ним появится дата окончания срока действия.
Окончание срока действия развертывания означает, что модель становится недоступной для использования в целях прогнозирования, что обычно происходит через двенадцать месяцев после окончания срока действия конфигурации обучения.
Отправка задания развертывания
Создайте запрос PUT, используя следующий URL-адрес, заголовки и текст JSON, чтобы начать развертывание модели распознавания разговорной речи.
Запросить 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}",
}
Ключ |
Заполнитель |
Значение |
Пример |
метка обученной модели |
{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 |
Используйте следующий заголовок для проверки подлинности запроса.
Ключ |
Значение |
Ocp-Apim-Subscription-Key |
Ключ к вашему ресурсу. Используется для проверки подлинности запросов API. |
Содержимое ответа
После отправки запроса вы получите следующий ответ. Продолжайте опрос этой конечной точки до тех пор, пока значение параметра Состояние не изменится на "Выполнено".
{
"jobId":"{JOB-ID}",
"createdDateTime":"{CREATED-TIME}",
"lastUpdatedDateTime":"{UPDATED-TIME}",
"expirationDateTime":"{EXPIRATION-TIME}",
"status":"running"
}
Поменять местами развертывания
После завершения тестирования модели, назначенной одному развертыванию, вы можете назначить эту модель другому развертыванию. Переключение развертываний включает в себя:
- Передача модели, назначенной первому развертыванию, ко второму развертыванию.
- Переназначение модели, изначально предназначенной для второго развертывания, на первое развертывание.
Этот процесс можно использовать для переключений развертываний production
и staging
, когда требуется взять модель, назначенную развертыванию staging
, и назначить ее развертыванию production
.
Чтобы переключить развертывания из Language Studio, выполните указанные далее действия.
На странице "Развертывание модели" выберите два развертывания, которые вы хотите заменить, и выберите "Переключение развертываний" в верхнем меню.
В появившемся окне выберите имена развертываний, которые вы будете переключать.
Создайте запрос POST, используя следующий URL-адрес, заголовки и текст JSON, чтобы начать задание по переключению развертываний.
Запросить 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}"
}
Ключ |
Заполнитель |
Значение |
Пример |
ИмяПервогоРазвертывания |
{FIRST-DEPLOYMENT-NAME} |
Имя вашего первого развертывания. Это значение чувствительно к регистру. |
production |
secondDeploymentName |
{SECOND-DEPLOYMENT-NAME} |
Название для второго развертывания. Это значение чувствительное к регистру. |
staging |
После отправки запроса API вы получите ответ 202
, указывающий на успешное выполнение.
Удалить развертывание
Чтобы удалить развертывание из Language Studio, выберите Развертывание модели. Затем выберите развертывание, которое нужно удалить, и выберите пункт "Удалить развертывание " в верхнем меню.
Создайте запрос DELETE, используя следующий URL-адрес, заголовки и текст JSON, чтобы удалить развертывание распознавания разговорной речи.
Запросить 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 Services для ресурса, который вы использовали для создания проекта.
- Перейдите на страницу развертывания модели в Language Studio.
- Перейдите на вкладку "Регионы ".
- Выберите Добавить ресурс развертывания.
- Выберите ресурс языка в другом регионе.
Теперь вы готовы развернуть проект в регионах, где назначены ресурсы.
Назначение ресурсов развертывания программным способом требует проверки подлинности Microsoft Entra**. Идентификатор Microsoft Entra используется для подтверждения доступа к ресурсам, которые вы хотите назначить проекту для развертывания в нескольких регионах. Сведения о программном использовании проверки подлинности Microsoft Entra при вызове REST API см. в документации по проверке подлинности служб искусственного интеллекта Azure.
Назначить ресурс
Отправьте запрос POST с помощью следующего URL-адреса, заголовков и текста JSON для назначения ресурсов развертывания.
Запросить 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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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 |
Используйте следующий заголовок для проверки подлинности запроса.
Ключ |
Значение |
Ocp-Apim-Subscription-Key |
Ключ к вашему ресурсу. Используется для проверки подлинности запросов API. |
Текст ответа
После отправки запроса вы получите следующий ответ. Продолжайте опрос этой конечной точки до тех пор, пока значение параметра Состояние не изменится на "Выполнено".
{
"jobId":"{JOB-ID}",
"createdDateTime":"{CREATED-TIME}",
"lastUpdatedDateTime":"{UPDATED-TIME}",
"expirationDateTime":"{EXPIRATION-TIME}",
"status":"running"
}
Отмена назначения ресурсов развертывания
При отмене назначения или удалении ресурса развертывания из проекта вы также удалите все развертывания, развернутые в регионе этого ресурса.
Чтобы отменить назначение или удалить ресурсы развертывания в других регионах с помощью Language Studio:
- Перейдите на вкладку "Регионы " на странице "Развертывание модели ".
- Выберите ресурс, который вы хотите отменить.
- Нажмите кнопку "Удалить назначение ".
- В появившемся окне введите имя ресурса, который требуется удалить.
Отменить присвоение ресурса
Отправьте запрос POST, используя следующий URL-адрес, заголовки и текст JSON, чтобы отменить или удалить ресурсы развертывания из проекта.
Запросить 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} |
Полный путь к идентификатору ресурса, который требуется отменить. Найдено в портале Azure на вкладке "Свойства" ресурса, в поле "Идентификатор ресурса". |
/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} |
Идентификатор задания для получения состояния развертывания вашей задачи. Это значение заголовка, полученное operation-location от API в ответ на ваш запрос на отмену назначения ресурса развертывания. |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx |
{API-VERSION} |
Версия вызываемого API. |
2022-10-01-preview |
Используйте следующий заголовок для проверки подлинности запроса.
Ключ |
Значение |
Ocp-Apim-Subscription-Key |
Ключ к ресурсу. Используется для проверки подлинности запросов API. |
Текст ответа
После отправки запроса вы получите следующий ответ. Продолжайте опрос этой конечной точки до тех пор, пока значение параметра Состояние не изменится на "Выполнено".
{
"jobId":"{JOB-ID}",
"createdDateTime":"{CREATED-TIME}",
"lastUpdatedDateTime":"{UPDATED-TIME}",
"expirationDateTime":"{EXPIRATION-TIME}",
"status":"running"
}
Следующие шаги