用途:为 Deepgram API 集成实现限流、指数退避与熔断模式,提升调用可靠性。
主要能力:资料指出 Deepgram 采用并发限制而非传统每分钟请求数,超出并发上限返回 429 Too Many Requests;总量请求不限,只是同时进行的请求不能超过并发上限。资料列出 Pay As You Go、Growth、Enterprise 三档的并发数(STT 请求、Live 连接、TTS 请求),Enterprise 为自定义。
使用方式:资料给出五步实现。一是用 p-limit 构建并发感知队列,示例中把 maxConcurrent 设为 50(低于 100 上限),并统计 total、active、queued、errors。二是带抖动的指数退避重试,默认 maxRetries 5、baseDelay 1000ms、maxDelay 60000ms,延迟按 1s、2s、4s、8s、16s 加随机抖动;4xx 中除 429、408 外不重试。三是熔断器,状态为 CLOSED、OPEN、HALF_OPEN,默认失败阈值 5、重置超时 30 秒、半开最大请求 3。四是组合限流器、熔断器与重试客户端为 ResilientDeepgramClient。五是通过 manage.getUsage 查询用量,按项目 ID 与时间范围统计分钟数。
适用场景:处理 API 配额、实现请求节流、应对 429 限流,以及需要稳定批量转写或实时连接的集成。
限制与前提:需要了解当前套餐限制、测量基线、并发预算与稳定的请求/任务标识;建议使用合成音频夹具,并对节流、队列时长、失败与重复处理设置告警。开发负载测试应使用短小非敏感夹具,逐步提高并发并记录延迟、429 与完成率;遇到节流应降低负载而非立即批量重试,也不要用客户录音作为测试流量。用量 API 返回空时需核对项目 ID。具体价格、各档配额细节与官方最新数值暂未提供。