ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Weave Router成本可视化完全指南:x-router-cost-usd头与会话成本接口怎么读

Weave Router成本可视化完全指南:x-router-cost-usd头与会话成本接口怎么读 Weave Router成本可视化完全指南x-router-cost-usd头与会话成本接口怎么读【免费下载链接】routerModel router for agentic systems. Routes every prompt to the right model in 50ms. Cut costs 40-70% with just an endpoint change.项目地址: https://gitcode.com/GitHub_Trending/router101/routerWeave Router是一个面向智能体系统的模型路由器它把每个 prompt 在 50ms 内路由到最合适的模型仅通过替换一个端点就能帮你省下 40-70% 的成本。但省钱之后到底花在哪、省了多少就成了关键问题。本文教你读懂 Weave Router 的两大利器响应头x-router-cost-usd和会话成本接口GET /v1/sessions/:session_id/cost让每一笔 token 开销都清清楚楚。 成本数据从哪里来Weave Router 的每个路由响应头都由一组常量统一管理它们是客户端契约的唯一事实来源头常量定义internal/proxy/headers.go成本计算与写入逻辑internal/proxy/cost_response.go会话成本处理器internal/api/admin/session_cost.go非流式响应的工作方式很巧妙Router 先把响应体完整缓冲下来responseCostBuffer从 usage 中提取 token 数、按价格表算出成本在头写完之前不让 body 到达客户端所以你能稳定地在响应头里读到最终成本。 一次读懂 x-router-cost-usd 系列响应头每次路由成功的非流式响应都会带上以下头定义见 internal/proxy/headers.go响应头含义示例值x-router-cost-usd本次请求总成本输入 输出美元0.004231x-router-cost-input-usd输入部分成本0.001102x-router-cost-output-usd输出部分成本0.003129x-router-cache-read-tokens命中缓存读取的 token 数15360x-router-cache-creation-tokens写入缓存的 token 数0读法要点总成本 ≈ 输入 输出拿x-router-cost-input-usd加x-router-cost-output-usd应该约等于x-router-cost-usd。缓存会体现在成本里缓存读取/创建的 token 数虽然单独给头但计价时已按各厂商的缓存折扣价折进了输入成本计算逻辑见 cost_response.go所以缓存命中越多输入成本越低。精度足够高数值保留到小数点后 10 位roundUSD避免0.0000495这类小额变成浮点噪声。 流式响应成本藏在 weave_cost 里流式SSE响应无法把头放进 HTTP headers——因为头会先于 usage 刷出。所以 Router 采用了另一条路径在最终 Anthropicmessage_delta事件的usage对象里注入一个weave_cost对象。它的字段和非流式完全对应{ usd: 0.004231, input_usd: 0.001102, output_usd: 0.003129, cache_read_tokens: 15360, cache_creation_tokens: 0 }给客户端开发者的建议如果你的程序走流式监听message_delta事件并读取usage.weave_cost即可流式注入的实现细节在 streamCostWriter。 会话成本接口算出省了多少单请求头告诉你这一笔花了多少而会话级接口告诉你这一整段会话省了多少curl -H Authorization: Bearer rk_... \ http://localhost:8080/v1/sessions/session_id/cost响应字段一览结构定义见 session_cost.go字段含义session_id会话 IDrequest_count该会话已提交的请求数actual_cost_usd实际花费路由后真实成本小数actual_cost_usd_micros实际花费微美元整数权威值requested_cost_usd如果始终用你请求的模型会花多少小数requested_cost_usd_micros同上微美元整数权威值savings_usd/savings_usd_micros节省金额 requested − actualinput_tokens/output_tokens会话累计输入 / 输出 tokencache_creation_tokens/cache_read_tokens会话累计缓存写入 / 读取 tokenlast_recorded_at最后一条遥测记录时间UTC三个实用要点以_usd_micros为准*_usd_micros整数是权威值1 微美元 10⁻⁶ 美元*_usd小数字段只是为了展示避免浮点累加误差。接口天然限定了你的密钥范围只能用你rk_...密钥所属 installation 的会话数据查询且查不存在、非本人、尚未提交not-yet-committed的会话会统一返回404不区分原因防止泄露他人会话是否存在。节省额直观savings_usd就是路由决策带来的真金白银——它等于假如你一直用请求的那个模型与路由器实际选中的模型的成本差。 实战Codex 状态行就是这么用的Codex 的状态行脚本 install/codex-status.sh 是这套接口的现成示范它每次都会异步请求GET /v1/sessions/id/cost把结果落盘下一轮状态行就渲染出真实的savings数字——这就是不需要本地价目表也能看到真实节省的设计初衷。❓ 常见问题为什么我的响应没有x-router-cost-usd确认是非流式请求且该模型有可用价格表servedPricing查不到价格时不写头流式请看weave_cost。savings_usd可能是负的吗理论上路由器追求省钱但如果本次实际选中的模型更贵差额会为负——这正是该接口值得信任的原因它报的是账本事实不是营销数字。想把全部路由决策拉进自己的数仓用只读分析密钥拉取原始路由决策 NDJSON字段字典和价目表见 docs/ANALYTICS_EXPORT.mdGET /v1/analytics/routing-decisions。 延伸阅读完整配置参考docs/CONFIGURATION.md端点总表README.md术语定义session / turn / actiondocs/SEMANTICS.md头部契约源码internal/proxy/headers.go【免费下载链接】routerModel router for agentic systems. Routes every prompt to the right model in 50ms. Cut costs 40-70% with just an endpoint change.项目地址: https://gitcode.com/GitHub_Trending/router101/router创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表