2026-07-06 · 6 分钟阅读
路径激活:wrap()、层级封顶与软告警
v2.7.0 补齐了「接口已有」到「生产三行代码」之间的缺口。路径激活意味着默认 Lite 路径即可拦截、告警与归因成本 — 无需 Kafka;Python SDK 可直接挂在 OpenAI 客户端上。
wrap(OpenAI()) — 热路径上的 check 与 track
pip install fluxmeter(1.4.0+),Lite 使用 FluxMeter(api_url="http://localhost:8000")。wrap(OpenAI(), meter, customer_id=...) 会在调用前做预算检查、调用后 track。BudgetExceededError 表示从未调用上游。
流式场景下,wrap() 会预留估算成本,并在预估超过预留时抛出 StreamKilledError,避免长流静默超支。
Full 模式仍然可用:需要 Flink 路径时传 kafka_brokers 而非 api_url。
层级封顶 — 单次 Agent 任务硬封顶
POST /budget/{id}/cap,kind 为 span 或 session,设置硬上限。在 GET /budget/{id}/check 上传 parent_span_id 或 session_id。当 spent + estimate 超过上限时,返回 reason=hierarchy_cap。
这是 ClipLive 式控制:即使创作者月度余额仍有余量,单条 clip 也不能烧穿整笔钱包。
Lite 摄入上的软告警阶梯
POST /budget/{id}/webhook 配置 HTTPS 投递。Lite 上 BUDGET_LOW、BUDGET_EXHAUSTED 与 BUDGET_WARN 在 /ingest 后无需 Kafka 即可触发。BUDGET_WARN 在消耗达 (initial_balance + topups) 的 70% 与 90% 时触发,payload 含 warn_pct、spent_pct。
Full 模式仍通过 Kafka webhook-worker 投递 LOW/EXHAUSTED;WARN 阶梯目前为 Lite 路径。
试用路径激活 Demo
克隆引擎仓库并运行 demos/path_activation_demo.py(自检,可选 --live)。或 make demo 后,对 localhost:8000 练习 wrap()、/cap 与 /webhook。