预算
预算可以在组织、环境、调用方 API Key、服务提供方密钥、团队或成员级别保护 AISIX Cloud AI 支出。AISIX Cloud 控制面跟踪用量并做出预算决策,网关则在调用上游服务提供方之前执行这些决策。
预算可通过 AISIX Cloud 控制面使用,不属于开源网关资源模型。
前提条件
开始前,请准备以下内容:
- 具备将要创建预算的 AISIX Cloud 组织访问权限。
- 对于模型目录未涵盖的模型,请配置模型定价,以便其流量产生的支出计入预算。
创建预算
- 打开 AISIX Cloud 控制面的 Budgets 视图,然后选择 New budget。
- 在 Name 中输入预算名称。
- 选择 Scope:组织、环境、调用方 API Key、服务提供方密钥、团队、成员或团队中的每个成员。系统提示时,再选择 Environment 或目标。对于调用方 API Key 范围,请先选择 Environment,再选择 API Key。
- 在 Limit (USD) 中输入限额,并在 Period 中选择日、周或月。
- 在 Alert thresholds (%) 中输入应发送通知的限额百分比。默认阈值为 80%。详见预算告警与通知。
- 保持选中 Hard stop at limit,以便达到限额后拒绝匹配的流量。取消选中后,预算将变为仅告警预算,继续放行流量并在控制面中显示超出预算的状态。
- 选择 Create budget。
资源视图还提供内联预算控件作为快捷入口。这些控件位于 API Key 列表、服务提供方密钥列表、Members 视图和团队详情页。团队详情页同时包含共享团队预算和每个成员的预算。内联控件和 Budgets 视图编辑的是同一个预算,因此在任意一处所做的更改都会同步显示。
一个目标可以拥有一个预算。编辑该预算可以更改限额、周期或执行模式。如果需要控制其他目标,请创建另一个预算。
预算目标
选择能够代表所需控制支出的最细粒度目标:
| 目标 | 计入预算的支出 |
|---|---|
| 组织 | 组织中的所有 AISIX Cloud 网关流量 |
| 环境 | 某个部署环境中的流量 |
| 调用方 API Key | 使 用某个下游应用或租户密钥进行身份认证的流量 |
| 服务提供方密钥 | 归因到使用某个上游凭证或服务提供方账户的模型用量 |
| 团队 | 来自绑定到某个团队的每个调用方 API Key 的流量 |
| 成员 | 在整个组织范围内,来自绑定到某个成员的每个调用方 API Key 的流量 |
| 团队中的每个成员 | 为每个成员通过绑定到某个团队的密钥发送的流量分别设置限额 |
团队和成员预算取决于调用方 API Key 上存储的身份。一个密钥可以包含团队绑定、成员绑定、两者或都不包含。仅仅是团队成员并不会使该密钥的支出计入团队预算;只有请求所使用密钥上的绑定才能决定适用哪些预算。
服务提供方密钥记账会跟随每条用量记录中附加到模型的凭证。预调度执行发生得更早:控制面会检查调用方 API Key 所属环境可用凭证的服务提供方密钥预算。因此,已耗尽的阻断型服务提供方密钥预算可能在路由选择同一环境中的其他凭证之前,就拒绝使用该 API Key 进行身份认证的请求。
成员预算和团队中每个成员的预算会计入不同的流量:
- 成员预算在整个组织范围内生效。它会合并绑定到该成员的每个调用方 API Key 所产生的支出,不受密钥团队绑定的影响。
- 团队中每个成员的预算会为该团队内的每个成员分别设置限额。仅当调用方 API Key 同时包含该团队绑定和成员绑定时,该预算才适用。
如果团队或成员预算计入了意外流量,请检查到达网关的调用方 API Key 上的绑定。