语音服务配额和限制

本文将介绍一个快速参考,并详细说明了 Azure AI 服务中语音服务的配额和限制。 此信息适用于服务的所有定价层。 它也包含避免请求限制的一些最佳做法。

有关免费 (F0) 定价层,还请参见定价页中的每月津贴。

配额和限制参考

以下部分提供了适用于语音服务的配额和限制的快速指南。

有关标准 (S0) 语音资源的可调整配额的信息,请参阅其他说明最佳做法调整说明。 免费 (F0) 语音资源的配额和限制不可调整。

重要

如果将语音资源从“免费(F0)”定价层切换到“标准(S0)”定价层,则相应配额的更改可能需要长达数小时的时间。

每个资源的语音转文本配额和限制

本部分介绍了每个语音资源的语音转文本配额和限制。 除非另有说明,否则限制不可调整。

实时语音转文本和语音翻译

你可以将实时语音转文本与语音 SDK适用于短音频的语音转文本 REST API 一起使用。

重要

这些限制适用于并发实时语音转文本请求和语音翻译请求的总和。 例如,如果有 60 个并发语音转文本请求以及 40 个并发语音翻译请求,则将达到 100 个并发请求的限制。

Quota 免费 (F0) 标准 (S0)
并发请求限制 - 基础模型终结点 1

此限制不可调整。
100(默认值)

对于标准 (S0) 资源,此限制可调整。 请参阅其他说明最佳做法调整说明
并发请求限制 - 自定义终结点 1

此限制不可调整。
100(默认值)

对于标准 (S0) 资源,此限制可调整。 请参阅其他说明最佳做法调整说明

批量听录

Quota 免费 (F0) 标准 (S0)
语音转文本 REST API 的限制 不可用于 F0 每 10 秒 100 个请求(每分钟 600 个请求)
最大音频输入文件大小 空值 1 GB
每个容器的最大 Blob 数 空值 10000
每个听录请求的最大文件数(当使用多个内容 URL 作为输入时)。 空值 1000
启用了分割聚类的听录的最大音频长度。 不可用 每个文件 240 分钟

模型自定义

创建自定义语音模型时,此表中的限制适用于每个语音资源。

Quota 免费 (F0) 标准 (S0)
REST API 限制 每 10 秒 100 个请求(每分钟 600 个请求) 每 10 秒 100 个请求(每分钟 600 个请求)
语音数据集的最大数目 2 500
数据导入的最大声学数据集文件大小 2 GB 2 GB
数据导入的最大语言数据集文件大小 200 MB 1.5 GB
数据导入的最大发音数据集文件大小 1 KB 1 MB
使用 Models_Create API 请求中的 text 参数时的最大文本大小 200 KB 500 KB

每个资源的文本转语音配额和限制

本部分介绍了每个语音资源的文本转语音配额和限制。

实时文本转语音

可以使用语音 SDK文本转语音 REST API 来进行实时文本转语音。 除非另有说明,否则限制不可调整。

Quota 免费 (F0) 标准 (S0)
预生成神经语音的每个时间段的事务数上限。 每 60 秒 20 个事务

此限制不可调整。
每秒 200 个事务 (TPS)(默认值)

对于标准 (S0) 资源,此限制可上调至 1000 TPS。 请参阅其他说明最佳做法调整说明
每个请求已生成的最大音频长度 10 分钟 10 分钟
SSML 中非重复 <voice><audio> 标记的最大总数 50 50
WebSocket 每轮的最大 SSML 消息大小 64 KB 64 KB

有声内容创作工具

Quota 免费 (F0) 标准 (S0)
文件大小(SSML 的纯文本)1 每个文件 3,000 个字符 每个文件 20,000 个字符
文件大小(词典文件)2 每个文件 30KB 每个文件 100KB
SSML 中的可计费字符 每个文件 15,000 个字符 每个文件 100,000 个字符
导出到音频库 1 个并发任务 空值

1 限制仅适用于 SSML 的纯文本,并且不包括标记。

2 不收取词典文件字符的费用。 只有 SSML 的词典元素才会计为计费字符。 要了解详细信息,请参阅可计费字符

详细说明、配额调整和最佳做法

某些语音服务配额可调整。 本部分提供了其他说明、最佳做法和调整说明。

对于标准 (S0) 资源,以下配额可调整。 免费 (F0) 请求限制不可调整。

在请求增加配额之前(如果适用),请检查当前的 TPS(每秒事务数),并确保存在增加配额的必要性。 语音服务使用自动缩放技术在点播模式下引入所需的计算资源。 同时,语音服务尝试放弃维护过多的硬件容量来降低成本。

我们来看一个示例。 假设你的应用程序收到响应代码 429,则表示请求过多。 即使工作负载在配额和限制参考定义的限制范围内,应用程序也会接收此响应。 最可能的解释是,语音服务正在按你的需求进行扩展,并且尚未达到所需规模。 因此,该服务不会立即提供足够的资源来处理请求。 在这种情况下,增加配额将无济于事。 在大多数情况下,语音服务将会很快进行纵向扩展,并将解决导致响应代码 429 的问题。

在自动缩放期间缓解限制的常规最佳做法

若要最大程度地减少与限制相关的问题,可以使用以下方法:

  • 在应用程序中实现重试逻辑
  • 避免工作负载的急剧变化。 逐步增大工作负载。 例如,假设应用程序使用文本转语音,且当前工作负载为 5 TPS。 接下来,你将负载增加到 20 TPS(即原来的四倍)。 语音服务立即开始扩展以满足新负载,但无法在一秒钟内根据需要进行缩放。 某些请求收到响应代码 429(请求太多)。
  • 测试不同负载增加模式。 有关详细信息,请参阅工作负载模式示例
  • 在不同的区域中创建更多语音服务资源,并在区域间分配工作负载。 (在相同的区域中创建多个语音服务资源不会影响性能,因为所有资源都将由同一后端群集提供服务)。

下一部分介绍调整配额的特定案例。

语音转文本:提高实时语音转文本并发请求限制

默认情况下,对于基础模型中的每个资源和自定义模型中的每个自定义终结点,并发实时语音转文本和语音翻译请求的总和均限制为 100 个。 对于标准定价层,可以增加此数量。 提交请求之前,请确保熟悉本文前面所述的资料,如缓解限制的最佳做法。

备注

基础模型和自定义模型的并发请求限制需要单独调整。 语音服务资源可以与托管许多自定义模型部署的多个自定义终结点相关联。 如果需要,每个自定义终结点的限制调整必须单独进行请求。

提高并发请求的限制不会直接影响成本。 语音服务使用要求你只为使用内容付费的付款模型。 此限制定义了服务在开始限制请求之前可缩放的程度。

不能在 Azure 门户、命令行工具或 API 请求中查看并发请求限制参数的现有值。 若要验证现有值,请创建 Azure 支持请求。

准备好所需信息

  • 对于基础模型:
    • 语音资源 ID
    • 区域
  • 对于自定义模型:
    • 区域
    • 自定义终结点 ID

如何获取基础模型的信息:

  1. 转到 Azure 门户
  2. 选择要增加并发请求限制的语音服务资源。
  3. 从“资源管理”组选择“属性”。
  4. 复制并保存以下字段的值:
    • 资源 ID
    • 位置(你的终结点区域)

如何获取自定义模型的信息:

  1. 转到 Speech Studio 门户。
  2. 如有必要,请登录,并转到“自定义语音”
  3. 选择项目,然后转到“部署”。
  4. 选择所需终结点。
  5. 复制并保存以下字段的值:
    • 服务区域 (你的终结点区域)
    • 终结点 ID

创建并提交支持请求

开始增加资源的并发请求限制,或在必要时通过提交支持请求来检查当前限制。 下面介绍如何操作:

  1. 确保具有上一部分中所列的必需信息。
  2. 转到 Azure 门户
  3. 选择要增加(或检查)其并发请求限制的语音服务资源。
  4. 在“支持 + 故障排除”组中,选择“新建支持请求”。 会出现一个新窗口,其中包含有关 Azure 订阅和 Azure 资源的自动填充信息。
  5. 在“摘要”中,描述你需要的操作(例如“增加语音转文本并发请求限制”)。
  6. 在“问题类型”中,选择“配额或订阅问题”。
  7. 在“问题子类型”中,选择以下任一项:
    • “提高配额或并发请求”用于增加请求。
    • “配额或使用情况验证”用于检查现有限制。
  8. 选择“下一步: 解决方案”。 继续创建请求。
  9. 在“详细信息”选项卡的“说明”字段中,输入以下内容:
    • 注释,说明该请求是关于语音转文本配额。
    • 选择基础模型或自定义模型。
    • 之前收集的 Azure 资源信息。
    • 其他任何所需信息。
  10. 在“查看 + 创建”选项卡上,选择“创建”。
  11. 注意 Azure 门户通知中的支持请求编号。 很快会有人就你的请求与你联系。

工作负载模式最佳做法的示例

下面是一个可采用的好方法的常规示例。 它仅作为一个模板,你可以根据需要进行调整,以供你自己使用。

假设语音服务资源的并发请求限制设置为 300。 从 20 个并发连接启动工作负载,并按每 90-120 秒 20 个并发连接的速度增加负载。 如果收到太多请求(响应代码 429),则控制服务响应并实现回退的逻辑(减少负载)。 然后,在一分钟内重试负载增加,如果仍不起作用,请在两分钟后重试。 对于间隔使用1-2-4-4 分钟模式。

通常,最好在投入生产之前测试工作负载和工作负载模式。