将代码从 REST API 的 v3.0 迁移到 v3.1

语音转文本 REST API 用于批量听录自定义语音识别。 以下部分介绍了从版本 3.0 到 3.1 的更改。

重要

语音转文本 REST API v3.2 以预览版提供。 语音转文本 REST API v3.1 已正式发布。 语音转文本 REST API v3.0 将于 2026 年 4 月 1 日停用。 有关详细信息,请参阅语音转文本 REST API v3.0 到 v3.1v3.1 到 v3.2 迁移指南。

基础路径

必须在代码中将基础路径从 /speechtotext/v3.0 更新为 /speechtotext/v3.1。 例如,若要获取 chinanorth2 区域中的基础模型,请使用 https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.1/models/base 而非 https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.0/models/base

请注意以下其他更改:

  • 版本 3.0 中的 /models/{id}/copyto 操作(包括“/”)替换为版本 3.1 中的 /models/{id}:copyto 操作(包括“:”)。
  • 版本 3.0 中的 /webhooks/{id}/ping 操作(包括“/”)替换为版本 3.1 中的 /webhooks/{id}:ping 操作(包括“:”)。
  • 版本 3.0 中的 /webhooks/{id}/test 操作(包括“/”)替换为版本 3.1 中的 /webhooks/{id}:test 操作(包括“:”)。

有关详细信息,请参阅本指南后面的操作 ID

批量听录

注意

请勿使用语音转文本 REST API v3.0 检索通过语音转文本 REST API v3.1 创建的听录。 你将看到如下错误消息:“API 版本不能用于访问此听录。 请使用 API v3.1 或更高版本。”

Transcriptions_Create 操作中,添加了以下三个属性:

  • displayFormWordLevelTimestampsEnabled 属性可用于在听录结果的显示窗体上启用报告单词级时间戳的功能。 结果在听录文件的 displayWords 属性中返回。
  • diarization 属性可用于指定要在执行可选分割聚类(说话人分离)时生成的最小和最大说话人标签数的提示。 借助此功能,该服务现在可以为两个以上的说话人生成说话人标签。 若要使用此属性,还必须将 diarizationEnabled 属性设置为 true。 在 v3.1 API 中,我们增加了说话人识别功能能够识别出的说话人数量,而 v3.0 API 仅支持识别 2 名说话人。 建议将说话人数量保持在 30 名以下,以获取更好的效果。
  • languageIdentification 属性可用于在听录之前为输入的语言标识指定设置。 语言标识最多支持 10 个候选区域设置。 返回的听录将包含所识别语言或你提供的区域设置的新 locale 属性。

filter 属性将添加到 Transcriptions_ListTranscriptions_ListFilesProjects_ListTranscriptions 操作。 filter 表达式可用于选择可用资源的子集。 可以按 displayNamedescriptioncreatedDateTimelastActionDateTimestatuslocale 进行筛选。 例如:filter=createdDateTime gt 2022-02-01T11:00:00Z

如果使用 Webhook 接收有关听录状态的通知,请注意,通过 V3.0 API 创建的 Webhook 无法接收 V3.1 听录请求的通知。 需要通过 V3.1 API 创建一个新的 Webhook 终结点,以便接收 V3.1 听录请求的通知。

自定义语音

数据集

添加了以下操作,用于上传和管理数据集的多个数据块:

为了支持使用 Markdown 数据中的结构化文本进行模型适应,Datasets_Create 操作现在支持 LanguageMarkdown 数据类型。 有关详细信息,请参阅上传数据集

模型

Models_ListBaseModelsModels_GetBaseModel 操作返回每个基础模型支持的适应类型的信息。

"features": {
    "supportsAdaptationsWith": [
        "Acoustic",
        "Language",
        "LanguageMarkdown",
        "Pronunciation"
    ]
}

Models_Create 操作有一个新的 customModelWeightPercent 属性,你可以在其中指定在将自定义语言模型(从纯文本数据或结构化文本数据训练的)与基础语言模型相结合时使用的权重。 有效值为 1 到 100 之间的整数。 默认值目前为 30。

filter 属性将添加到以下操作:

filter 表达式可用于选择可用资源的子集。 可以按 displayNamedescriptioncreatedDateTimelastActionDateTimestatuslocalekind 进行筛选。 例如: filter=locale eq 'en-US'

添加了 Models_ListFiles 操作,以获取通过给定 ID 标识的模型的文件。

添加了 Models_GetFile 操作,用于从模型(使用 ID 进行标识)获取一个特定文件(使用 fileId 进行标识)。 这样你便可以检索 ModelReport 文件,该文件提供有关训练期间处理的数据的信息。

操作 ID

必须在代码中将基础路径从 /speechtotext/v3.0 更新为 /speechtotext/v3.1。 例如,若要获取 chinanorth2 区域中的基础模型,请使用 https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.1/models/base 而非 https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.0/models/base

版本 3.1 中每个 operationId 的名称都以对象名称作为前缀。 例如,对于“创建模型”,operationId 从版本 3.0 中的 CreateModel 更改为版本 3.1 中的 Models_Create

路径 方法 版本 3.1 操作 ID 版本 3.0 操作 ID
/datasets GET Datasets_List GetDatasets
/datasets POST Datasets_Create CreateDataset
/datasets/{id} DELETE Datasets_Delete DeleteDataset
/datasets/{id} GET Datasets_Get GetDataset
/datasets/{id} 修补程序 Datasets_Update UpdateDataset
/datasets/{id}/blocks:commit POST Datasets_CommitBlocks 不适用
/datasets/{id}/blocks GET Datasets_GetBlocks 不适用
/datasets/{id}/blocks PUT Datasets_UploadBlock 不适用
/datasets/{id}/files GET Datasets_ListFiles GetDatasetFiles
/datasets/{id}/files/{fileId} GET Datasets_GetFile GetDatasetFile
/datasets/locales GET Datasets_ListSupportedLocales GetSupportedLocalesForDatasets
/datasets/upload POST Datasets_Upload UploadDatasetFromForm
/endpoints GET Endpoints_List GetEndpoints
/endpoints POST Endpoints_Create CreateEndpoint
/endpoints/{id} DELETE Endpoints_Delete DeleteEndpoint
/endpoints/{id} GET Endpoints_Get GetEndpoint
/endpoints/{id} 修补程序 Endpoints_Update UpdateEndpoint
/endpoints/{id}/files/logs DELETE Endpoints_DeleteLogs DeleteEndpointLogs
/endpoints/{id}/files/logs GET Endpoints_ListLogs GetEndpointLogs
/endpoints/{id}/files/logs/{logId} DELETE Endpoints_DeleteLog DeleteEndpointLog
/endpoints/{id}/files/logs/{logId} GET Endpoints_GetLog GetEndpointLog
/endpoints/base/{locale}/files/logs DELETE Endpoints_DeleteBaseModelLogs DeleteBaseModelLogs
/endpoints/base/{locale}/files/logs GET Endpoints_ListBaseModelLogs GetBaseModelLogs
/endpoints/base/{locale}/files/logs/{logId} DELETE Endpoints_DeleteBaseModelLog DeleteBaseModelLog
/endpoints/base/{locale}/files/logs/{logId} GET Endpoints_GetBaseModelLog GetBaseModelLog
/endpoints/locales GET Endpoints_ListSupportedLocales GetSupportedLocalesForEndpoints
/evaluations GET Evaluations_List GetEvaluations
/evaluations POST Evaluations_Create CreateEvaluation
/evaluations/{id} DELETE Evaluations_Delete DeleteEvaluation
/evaluations/{id} GET Evaluations_Get GetEvaluation
/evaluations/{id} 修补程序 Evaluations_Update UpdateEvaluation
/evaluations/{id}/files GET Evaluations_ListFiles GetEvaluationFiles
/evaluations/{id}/files/{fileId} GET Evaluations_GetFile GetEvaluationFile
/evaluations/locales GET Evaluations_ListSupportedLocales GetSupportedLocalesForEvaluations
/healthstatus GET HealthStatus_Get GetHealthStatus
/models GET Models_ListCustomModels GetModels
/models POST Models_Create CreateModel
/models/{id}:copyto1 POST Models_CopyTo CopyModelToSubscription
/models/{id} DELETE Models_Delete DeleteModel
/models/{id} GET Models_GetCustomModel GetModel
/models/{id} 修补程序 Models_Update UpdateModel
/models/{id}/files GET Models_ListFiles 不适用
/models/{id}/files/{fileId} GET Models_GetFile 不适用
/models/{id}/manifest GET Models_GetCustomModelManifest GetModelManifest
/models/base GET Models_ListBaseModels GetBaseModels
/models/base/{id} GET Models_GetBaseModel GetBaseModel
/models/base/{id}/manifest GET Models_GetBaseModelManifest GetBaseModelManifest
/models/locales GET Models_ListSupportedLocales GetSupportedLocalesForModels
/projects GET Projects_List GetProjects
/projects POST Projects_Create CreateProject
/projects/{id} DELETE Projects_Delete DeleteProject
/projects/{id} GET Projects_Get GetProject
/projects/{id} 修补程序 Projects_Update UpdateProject
/projects/{id}/datasets GET Projects_ListDatasets GetDatasetsForProject
/projects/{id}/endpoints GET Projects_ListEndpoints GetEndpointsForProject
/projects/{id}/evaluations GET Projects_ListEvaluations GetEvaluationsForProject
/projects/{id}/models GET Projects_ListModels GetModelsForProject
/projects/{id}/transcriptions GET Projects_ListTranscriptions GetTranscriptionsForProject
/projects/locales GET Projects_ListSupportedLocales GetSupportedProjectLocales
/transcriptions GET Transcriptions_List GetTranscriptions
/transcriptions POST Transcriptions_Create CreateTranscription
/transcriptions/{id} DELETE Transcriptions_Delete DeleteTranscription
/transcriptions/{id} GET Transcriptions_Get GetTranscription
/transcriptions/{id} 修补程序 Transcriptions_Update UpdateTranscription
/transcriptions/{id}/files GET Transcriptions_ListFiles GetTranscriptionFiles
/transcriptions/{id}/files/{fileId} GET Transcriptions_GetFile GetTranscriptionFile
/transcriptions/locales GET Transcriptions_ListSupportedLocales GetSupportedLocalesForTranscriptions
/webhooks GET WebHooks_List GetHooks
/webhooks POST WebHooks_Create CreateHook
/webhooks/{id}:ping2 POST WebHooks_Ping PingHook
/webhooks/{id}:test3 POST WebHooks_Test TestHook
/webhooks/{id} DELETE WebHooks_Delete DeleteHook
/webhooks/{id} GET WebHooks_Get GetHook
/webhooks/{id} 修补程序 WebHooks_Update UpdateHook

1 版本 3.0 中的 /models/{id}/copyto 操作(包括“/”)替换为版本 3.1 中的 /models/{id}:copyto 操作(包括“:”)。

2 版本 3.0 中的 /webhooks/{id}/ping 操作(包括“/”)替换为版本 3.1 中的 /webhooks/{id}:ping 操作(包括“:”)。

3 版本 3.0 中的 /webhooks/{id}/test 操作(包括“/”)替换为版本 3.1 中的 /webhooks/{id}:test 操作(包括“:”)。

后续步骤