主题
支出策略
为组织内的 LLM 用量设置成本限额,在支出到达提供商之前防止失控消费。
NOTE
LLM Gateway 处于 beta 阶段。
支出策略为特定范围(组织、工作区、API key 或用户)在某个时间窗口(每月、每周、每日或每小时)内定义成本上限。LLM 网关会实时跟踪支出,并阻止任何会使支出超过上限的请求,返回 402 响应:
API Error: 402 request blocked by gateway policies: R&D Spend Cap被阻止的请求会被追踪到 LangSmith,策略违规会作为元数据记录下来,因此你可以确切看到什么被阻止以及原因。
策略维度
支出策略按从最宽泛到最具体的顺序评估。所有匹配的策略都会被检查,只要其中任何一个返回阻止,请求就会被拒绝。你可以将策略设置为默认策略(对所有工作区、用户或 API key 应用统一的支出上限),或设置为细粒度策略(单个限制或对一组实体的限制)。
| 范围 | 限制内容 | 示例 |
|---|---|---|
| 组织 | 组织内所有工作区的总支出 | "整个组织每月在 LLM 调用上的支出不能超过 $10,000" |
| 工作区 | 单个工作区或一组工作区内的总支出 | "与 R&D 相关的工作区每月支出不能超过 $2,000" |
| API key | 单个 API key 或一组 API key(对应某个服务或 agent)的支出 | "客户支持 agent 的 key 每月累计支出不能超过 $500" |
| 用户 | 单个用户或一组用户的支出(从 API key 的身份解析) | "任何单个开发者每天支出不能超过 $50" |
冲突解决
默认情况下,LLM 网关会先评估最宽泛的范围。如果存在适用的细粒度策略,则以限制最严格的策略为准。更窄的范围只能收紧限制,绝不能放宽。如果组织级策略将支出上限设为每月 $10,000,而工作区级策略设为每月 $15,000,则组织级的 $10,000 上限仍然生效。
默认策略与细粒度策略
支出策略有两个方面:
- 某个维度的总和: 该范围的总上限。示例:"此工作区的总支出不能超过每月 $5,000。"
- 某个维度中每个成员的默认值: 适用于范围内每个 API key 或用户的基础限制,除非被覆盖。示例:"此工作区中的每个 API key 都有每月 $200 的默认上限。" 单个 API key 可以接受额外策略来提高其特定限制,但任何策略都不能放宽在更宽泛范围设置的上限。
时间窗口
| 窗口 | 重置时间 | 使用场景 |
|---|---|---|
| 每月 | 每月第一天 | 预算对齐、总体成本控制 |
| 每周 | 每周一 UTC 午夜 | 每周预算 |
| 每日 | UTC 午夜 | 防止单日成本激增(例如编码 agent 整夜陷入重试循环) |
| 每小时 | 每个小时整点 | 快速发现失控的 agent |
你可以对同一范围应用多个时间窗口。例如,一个工作区可以同时有每月 $5,000 和每日 $500 的上限。两者独立执行。
创建支出策略
WARNING
创建和管理策略需要 organization:manage 权限。完整权限明细请参阅追踪、引擎和访问控制。
- 前往 LLM Gateway 并选择 Cost Controls。
- 点击 Create spend limit。
- 选择范围(组织、工作区、API key 或用户)。
- (可选)要为每个自定义请求头值分别应用相同的默认限制,并默认将该限制应用到所选类型的每个主体,请选择 Separate limits by custom header,然后输入请求头名称。
- 设置时间窗口(每月、每周、每日或每小时)。
- 以美元设置支出上限。
- 点击 Create spend limit。
策略立即生效。网关会以亚秒级执行延迟对每个传入请求评估这些策略。
支出策略还可以使用自定义请求头,在一个 API key 下为你的每个最终客户提供独立上限。更多信息请参阅按客户划分的策略。
查看支出
支出可见性仪表板会显示实时成本汇总,让你在达到上限之前了解 LLM 预算的去向。
在网关设置页面上,你可以查看每个策略已使用的支出占其上限的比例。
与 LangSmith Engine 集成
当支出策略阻止请求时,违规会作为元数据记录在追踪上。这些违规会作为问题出现在 LangSmith Engine 中,你可以从问题点击进入追踪,了解 agent 在达到限制时正在做什么。
这对于诊断被阻止的请求究竟是真正的成本问题(编码 agent 陷入重试循环),还是需要调整的策略(合法工作负载增长超出其上限)很有用。