部署自定义语音模型
本文介绍如何为自定义语音模型部署终结点。 除了批量听录之外,还必须部署自定义终结点才能使用自定义语音模型。
可以为基本模型或自定义模型部署终结点,然后更新终结点,以便使用更好的训练模型。
注意
F0
语音资源使用的终结点在 7 天后删除。
添加部署终结点
若要创建自定义终结点,请执行以下步骤:
登录 Speech Studio。
选择“自定义语音识别”> 你的项目名称 >“部署模型”。
如果这是你的第一个终结点,你会注意到表中未列出任何终结点。 创建一个终结点后,即可使用此页面跟踪每个已部署的终结点。
选择“部署模型”以启动新的终结点向导。
在“新建终结点”页上,输入自定义终结点的名称和说明。
选择要与终结点关联的自定义模型。
(可选)可以选中该框以启用终结点流量的音频和诊断日志记录。
选择“添加”以保存并部署终结点。
在主“部署模型”页上,有关新终结点的详细信息(例如名称、说明、状态和到期日期)将显示在表中。 使用自定义模型实例化新终结点最长可能需要 30 分钟才能完成。 当部署状态更改为“成功”时,终结点便可供使用。
重要
记下模型到期日期。 这是可以使用自定义模型进行语音识别的最后日期。 有关详细信息,请参阅模型和终结点生命周期。
选择此终结点链接可查看特定于该终结点的信息,例如终结点密钥、终结点 URL 和示例代码。
若要创建终结点并部署模型,请使用 spx csr endpoint create
命令。 根据以下说明构造请求参数:
- 将
project
参数设置为现有项目的 ID。 建议这样做,以便还可以在 Speech Studio 中查看和管理终结点。 可以运行spx csr project list
命令来获取可用项目。 - 将所需的
model
参数设置为要部署到终结点的模型的 ID。 - 设置所需的
language
参数。 终结点区域设置必须与模型区域设置相匹配。 以后无法更改区域设置。 语音 CLIlanguage
参数对应于 JSON 请求和响应中的locale
属性。 - 设置所需的
name
参数。 这是 Speech Studio 中显示的名称。 语音 CLIname
参数对应于 JSON 请求和响应中的displayName
属性。 - (可选)可设置
logging
参数。 将其设置为enabled
,以启用终结点流量的音频和诊断日志记录。 默认为false
。
下面是用于创建终结点和部署模型的语音 CLI 命令示例:
spx csr endpoint create --api-version v3.2 --project YourProjectId --model YourModelId --name "My Endpoint" --description "My Endpoint Description" --language "en-US"
你应该会收到以下格式的响应正文:
{
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/endpoints/a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"model": {
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd"
},
"links": {
"logs": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/endpoints/a07164e8-22d1-4eb7-aa31-bf6bb1097f37/files/logs",
"restInteractive": "https://chinanorth.stt.speech.azure.cn/speech/recognition/interactive/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"restConversation": "https://chinanorth.stt.speech.azure.cn/speech/recognition/conversation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"restDictation": "https://chinanorth.stt.speech.azure.cn/speech/recognition/dictation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"webSocketInteractive": "wss://chinanorth.stt.speech.azure.cn/speech/recognition/interactive/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"webSocketConversation": "wss://chinanorth.stt.speech.azure.cn/speech/recognition/conversation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"webSocketDictation": "wss://chinanorth.stt.speech.azure.cn/speech/recognition/dictation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37"
},
"project": {
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"properties": {
"loggingEnabled": true
},
"lastActionDateTime": "2024-07-15T16:29:36Z",
"status": "NotStarted",
"createdDateTime": "2024-07-15T16:29:36Z",
"locale": "en-US",
"displayName": "My Endpoint",
"description": "My Endpoint Description"
}
响应正文中的顶级 self
属性是终结点的 URI。 使用此 URI 可获取有关终结点项目、模型和日志的详细信息。 还可以使用此 URI 更新终结点。
有关终结点的语音 CLI 帮助,请运行以下命令:
spx help csr endpoint
若要创建终结点并部署模型,请使用语音转文本 REST API 的 Endpoints_Create 操作。 根据以下说明构造请求正文:
- 将
project
属性设置为现有项目的 URI。 建议这样做,以便还可以在 Speech Studio 中查看和管理终结点。 可以发出 Projects_List 请求来获取可用项目。 - 将所需的
model
属性设置为要部署到终结点的模型的 URI。 - 设置所需的
locale
属性。 终结点区域设置必须与模型区域设置相匹配。 以后无法更改区域设置。 - 设置所需的
displayName
属性。 这是 Speech Studio 中显示的名称。 - (可选)可在
properties
中设置loggingEnabled
属性。 将其设置为true
,以启用终结点流量的音频和诊断日志记录。 默认为false
。
使用 URI 发出 HTTP POST 请求,如以下 Endpoints_Create 示例所示。 将 YourSubscriptionKey
替换为语音资源密钥,将 YourServiceRegion
替换为语音资源区域,并按前面所述设置请求正文属性。
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
"project": {
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"properties": {
"loggingEnabled": true
},
"displayName": "My Endpoint",
"description": "My Endpoint Description",
"model": {
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/models/base/ae8d1643-53e4-4554-be4c-221dcfb471c5"
},
"locale": "en-US",
}' "https://YourServiceRegion.api.cognitive.azure.cn/speechtotext/v3.2/endpoints"
你应该会收到以下格式的响应正文:
{
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/endpoints/a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"model": {
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd"
},
"links": {
"logs": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/endpoints/a07164e8-22d1-4eb7-aa31-bf6bb1097f37/files/logs",
"restInteractive": "https://chinanorth.stt.speech.azure.cn/speech/recognition/interactive/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"restConversation": "https://chinanorth.stt.speech.azure.cn/speech/recognition/conversation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"restDictation": "https://chinanorth.stt.speech.azure.cn/speech/recognition/dictation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"webSocketInteractive": "wss://chinanorth.stt.speech.azure.cn/speech/recognition/interactive/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"webSocketConversation": "wss://chinanorth.stt.speech.azure.cn/speech/recognition/conversation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"webSocketDictation": "wss://chinanorth.stt.speech.azure.cn/speech/recognition/dictation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37"
},
"project": {
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"properties": {
"loggingEnabled": true
},
"lastActionDateTime": "2024-07-15T16:29:36Z",
"status": "NotStarted",
"createdDateTime": "2024-07-15T16:29:36Z",
"locale": "en-US",
"displayName": "My Endpoint",
"description": "My Endpoint Description"
}
响应正文中的顶级 self
属性是终结点的 URI。 使用此 URI 可获取终结点项目、模型和日志的详细信息。 还可以使用此 URI 更新或删除终结点。
更改模型和重新部署终结点
可以更新终结点,以使用由同一语音资源创建的另一个模型。 如前所述,必须在模型过期之前更新终结点的模型。
若要使用新模型并重新部署自定义终结点,请执行以下操作:
- 登录 Speech Studio。
- 选择“自定义语音识别”> 你的项目名称 >“部署模型”。
- 按名称选择指向终结点的链接,然后选择“更改模型”。
- 选择你希望终结点使用的新模型。
- 选择“完成”以保存并重新部署终结点。
若要使用新模型重新部署自定义终结点,请使用 spx csr model update
命令。 根据以下说明构造请求参数:
- 将所需的
endpoint
参数设置为要部署的终结点的 ID。 - 将所需的
model
参数设置为要部署到终结点的模型的 ID。
以下是使用新模型重新部署自定义终结点的示例语音 CLI 命令:
spx csr endpoint update --api-version v3.2 --endpoint YourEndpointId --model YourModelId
你应该会收到以下格式的响应正文:
{
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/endpoints/a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"model": {
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd"
},
"links": {
"logs": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/endpoints/a07164e8-22d1-4eb7-aa31-bf6bb1097f37/files/logs",
"restInteractive": "https://chinanorth.stt.speech.azure.cn/speech/recognition/interactive/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"restConversation": "https://chinanorth.stt.speech.azure.cn/speech/recognition/conversation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"restDictation": "https://chinanorth.stt.speech.azure.cn/speech/recognition/dictation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"webSocketInteractive": "wss://chinanorth.stt.speech.azure.cn/speech/recognition/interactive/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"webSocketConversation": "wss://chinanorth.stt.speech.azure.cn/speech/recognition/conversation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"webSocketDictation": "wss://chinanorth.stt.speech.azure.cn/speech/recognition/dictation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37"
},
"project": {
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"properties": {
"loggingEnabled": true
},
"lastActionDateTime": "2024-07-15T16:30:12Z",
"status": "Succeeded",
"createdDateTime": "2024-07-15T16:29:36Z",
"locale": "en-US",
"displayName": "My Endpoint",
"description": "My Endpoint Description"
}
有关终结点的语音 CLI 帮助,请运行以下命令:
spx help csr endpoint
若要使用新模型重新部署自定义终结点,请使用语音转文本 REST API 的 Endpoints_Update 操作。 根据以下说明构造请求正文:
- 将
model
属性设置为要部署到终结点的模型的 URI。
使用 URI 发出 HTTP PATCH 请求,如以下示例所示。 将 YourSubscriptionKey
替换为语音资源密钥,将 YourServiceRegion
替换为语音资源区域,将 YourEndpointId
替换为终结点 ID,并按前面所述设置请求正文属性。
curl -v -X PATCH -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
"model": {
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd"
},
}' "https://YourServiceRegion.api.cognitive.azure.cn/speechtotext/v3.2/endpoints/YourEndpointId"
你应该会收到以下格式的响应正文:
{
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/endpoints/a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"model": {
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd"
},
"links": {
"logs": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/endpoints/a07164e8-22d1-4eb7-aa31-bf6bb1097f37/files/logs",
"restInteractive": "https://chinanorth.stt.speech.azure.cn/speech/recognition/interactive/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"restConversation": "https://chinanorth.stt.speech.azure.cn/speech/recognition/conversation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"restDictation": "https://chinanorth.stt.speech.azure.cn/speech/recognition/dictation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"webSocketInteractive": "wss://chinanorth.stt.speech.azure.cn/speech/recognition/interactive/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"webSocketConversation": "wss://chinanorth.stt.speech.azure.cn/speech/recognition/conversation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"webSocketDictation": "wss://chinanorth.stt.speech.azure.cn/speech/recognition/dictation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37"
},
"project": {
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"properties": {
"loggingEnabled": true
},
"lastActionDateTime": "2024-07-15T16:30:12Z",
"status": "Succeeded",
"createdDateTime": "2024-07-15T16:29:36Z",
"locale": "en-US",
"displayName": "My Endpoint",
"description": "My Endpoint Description"
}
重新部署需要数分钟才能完成。 同时,终结点将使用以前的模型,而不会中断服务。
查看日志记录数据
如果在创建终结点时配置了日志记录数据,则可以导出该数据。
若要下载终结点日志,请执行以下操作:
- 登录 Speech Studio。
- 选择“自定义语音识别”> 你的项目名称 >“部署模型”。
- 按终结点名称选择链接。
- 在“内容日志记录”下,选择“下载日志”。
若要获取终结点的日志,请使用 spx csr endpoint list
命令。 根据以下说明构造请求参数:
- 将所需的
endpoint
参数设置为要获取日志的终结点的 ID。
以下是获取终结点日志的示例语音 CLI 命令:
spx csr endpoint list --api-version v3.2 --endpoint YourEndpointId
每个日志文件的位置(其中包含更多详细信息)将在响应正文中返回。
若要获取终结点日志,请先使用语音转文本 REST API 的 Endpoints_Get 操作。
使用 URI 提出 HTTP GET 请求,如以下示例所示。 将 YourEndpointId
替换为终结点 ID,将 YourSubscriptionKey
替换为语音资源密钥,将 YourServiceRegion
替换为语音资源区域。
curl -v -X GET "https://YourServiceRegion.api.cognitive.azure.cn/speechtotext/v3.2/endpoints/YourEndpointId" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"
你应该会收到以下格式的响应正文:
{
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/endpoints/a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"model": {
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd"
},
"links": {
"logs": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/endpoints/a07164e8-22d1-4eb7-aa31-bf6bb1097f37/files/logs",
"restInteractive": "https://chinanorth.stt.speech.azure.cn/speech/recognition/interactive/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"restConversation": "https://chinanorth.stt.speech.azure.cn/speech/recognition/conversation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"restDictation": "https://chinanorth.stt.speech.azure.cn/speech/recognition/dictation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"webSocketInteractive": "wss://chinanorth.stt.speech.azure.cn/speech/recognition/interactive/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"webSocketConversation": "wss://chinanorth.stt.speech.azure.cn/speech/recognition/conversation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
"webSocketDictation": "wss://chinanorth.stt.speech.azure.cn/speech/recognition/dictation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37"
},
"project": {
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"properties": {
"loggingEnabled": true
},
"lastActionDateTime": "2024-07-15T16:30:12Z",
"status": "Succeeded",
"createdDateTime": "2024-07-15T16:29:36Z",
"locale": "en-US",
"displayName": "My Endpoint",
"description": "My Endpoint Description"
}
使用上一个响应正文中的“日志”URI 发出 HTTP GET 请求。 将 YourEndpointId
替换为终结点 ID,将 YourSubscriptionKey
替换为语音资源密钥,将 YourServiceRegion
替换为语音资源区域。
curl -v -X GET "https://YourServiceRegion.api.cognitive.azure.cn/speechtotext/v3.2/endpoints/YourEndpointId/files/logs" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"
每个日志文件的位置(其中包含更多详细信息)将在响应正文中返回。
日志记录数据在 Microsoft 拥有的存储上可以使用 30 天,之后会被删除。 如果你自己的存储帐户已关联到 Azure AI 服务订阅,则不会自动删除日志记录数据。