Token限速组件支持AI应用的Token级限流,实现细粒度流量控制,确保系统稳定与资源合理分配。该组件支持识别并解析请求与响应中符合OpenAI兼容协议的报文内容,自动提取Token用量信息,基于滑动窗口算法实现Token计数,从而提供精准的Token级限速能力。
仅当时间窗口内的Token配额消耗完成后的下一条请求才会被拒绝,因此最后一条成功的请求可能会超额使用Token。
仅当响应体为JSON格式且同时包含
prompt_tokens和completion_tokens字段时才能记录配额用量并实现限速。
功能类型
流量管控
字段说明
ComponentConfig
参数 | 类型 | 是否必填 | 默认值 | 描述 |
Config | 是 | - | Token限速配置。 按照 |
RateLimitConfig
参数 | 类型 | 是否必填 | 默认值 | 描述 |
LimitCondition | 是 | - | 限速条件配置。 仅支持执行命中的首条限速规则。 | |
LimitRange | 是 | - | 限速范围配置。 |
LimitConditionConfig
参数 | 类型 | 是否必填 | 默认值 | 描述 |
ConditionType | 是 | - | 限速条件类型。 | |
ConditionKey | String | 是 | - | 限速条件参数名称。 |
MatchType | 是 | - | 限速内容值的匹配模式。 | |
MatchPattern | String | 是 | - | 限速匹配内容值。 |
LimitConditionType
值 | 描述 |
Header | 从请求头中提取限速条件。 |
Query | 从查询字符串中提取限速条件。 |
Cookie | 从Cookie中提取限速条件。 |
ClientIp | 从请求来源IP提取限速条件。 |
LimitConditionMatchType
值 | 描述 |
Wildcard | 任意匹配模式。 |
Exact | 精确匹配模式。 |
当LimitConditionType为ClientIp时该字段无效。
LimitRangeConfig
参数 | 类型 | 是否必填 | 默认值 | 描述 |
Type | 是 | - | 限速范围类型。 | |
Window | 是 | - | 限速窗口值。 | |
Limit | Integer | 是 | - | 窗口配额值,即窗口内允许的最大Token数量。 |
LimitRangeType
值 | 描述 |
TotalToken | 总计Token。使用输入输出总Token数作为限速窗口的计数依据。 |
Duration
支持以下单位缩写。
缩写 | 含义 |
s | 秒(seconds) |
m | 分钟(minutes) |
h | 小时(hours) |
d | 天(days) |
示例
30s # 30秒
5m # 5分钟
1h # 1小时
1d # 1天错误码信息
HTTP状态码 | 出错信息 | 原因说明 |
429 | Too Many Requests | 超出Token限制,请求被拒绝。 |