流量控制
请求链路打通后,流量控制用于决定这条链路在真实应用流量下如何运行。它可以保护共享模型容量、执行成本策略、阻断不安全内容,并复用重复请求的响应。
有些控制会在 AISIX 调用服务提供方之前执行,另一些会在服务提供方返回响应之后执行。请求链路如下:
应用调用方请求
AISIX AI 网关
调用服务提供方前
调用方 API Key
模型别名
请求侧控制限流、AISIX Cloud 预算、输入安全护栏
缓存查找命中则直接返回,未命中则调用上游
服务提供方返回后
响应侧控制输出安全护栏
服务提供方上游缓存未命中链路
返回给调用方保持同一模型别名
请求侧控制可以在 AISIX 调用服务提供方之前停止请求。限流、AISIX Cloud 预算和输入安全护栏会共同决定请求是否允许继续;缓存查找命中时可直接返回已存响应,未命中时 AISIX 才会调用服务提供方。
服务提供方返回后,输出安全护栏可以在 AISIX 将响应返回给调用方之前检查响应内容。
选择控制项
从与需要保护的资源或策略相匹配的控制项开始:
| 目标 | 控制项 | 作用位置 |
|---|---|---|
| 限制请求量、Token 用量或并发任务数 | API Key 与模型限流 | 在调用服务提供方之前;响应报告 Token 用量后记录该用量。 |
| 对团队、成员、API Key、模型、模型名称或服务提供方应用条件配额 | 限流策略 | 在调用服务提供方之前;每个匹配的策略都与 API Key 和模型限制同时生效。 |
| 限制组织、环境、调用方 API Key、服务提供方密钥、团队或成员在 AISIX Cloud 中的 AI 支出 | 预算 | 在 AISIX Cloud 部署中调用服务提供方之前。 |
| 检测、阻止或脱敏敏感或不安全内容 | 安全护栏 | 请求内容、响应内容或两者。 |
| 复用符合条件的 Chat Completions 响应 | 响应缓存 | 在调用服务提供方之前;缓存命中时无需连接服务提供方即可返回。 |
同一请求可以组合多个控制项。例如,Chat Completions 请求可以先对调用方进行身份认证,解析其模型,评估输入安全护栏,并在已配置时检查 AISIX Cloud 预算;随后 AISIX 可以预留限流容量并查找缓存响应。请分别配置各控制项,然后使用应用将采用的同一调用方 API Key 和模型别名验证组合链路。