降低调用成本
网关侧的成本主要来自三处:上游 token 计费、不必要的响应内容、日志与日志体的磁盘占用。本页给出几条互不冲突的手段,可叠加使用。
成本从哪里来
| 成本来源 | 量级 | 降本手段 |
|---|---|---|
| 上游 token 计费 | 最大 | 命中上游提示缓存、按复杂度分级路由到更便宜的模型 |
| 多模态响应体 | 中 | 裁剪不需要的图片/音频内容 |
| 日志与日志体磁盘 | 小但持续 | 调小留存期与 body 捕获上限 |
命中上游提示缓存
Anthropic、OpenAI 等上游对重复的 system / 前缀内容有 prompt cache 折扣。网关把同一调用方的请求粘到同一把上游 key(确定性加权分布 + 粘性绑定),保证上游看到的 prompt cache 前缀稳定。
- 多 key 上游不要把同一调用方打散到不同 key,否则每把 key 都要重新建立缓存。详见 上游与模型字段 的「多密钥与权重」。
- 经 Claude Code 经网关 接入时,可在脚本里注入稳定的会话缓存键,进一步放大上游缓存命中率。
按输入复杂度分级路由
「简单请求走便宜模型、复杂请求走强模型」用 request_payload 的 switch-route 规则实现——它在协议翻译前按客户端请求形状判定,命中就把请求改投到指定模型,不读 body 内容、不占内存,可跨协议。
示例:请求里没有图片块时路由到便宜模型,有图片才走多模态强模型。规则只做结构/小值检查,配置方式见 上游与模型字段 的 switch-route 模式。选型决策见 请求改写与路由:怎么选。
裁剪不必要的响应内容
用响应脚本剥离图片、音频等大块内容,只留文本。典型场景与脚本见 用脚本做响应脱敏 的「剥离图片内容」一节。
日志与日志体的留存成本
logging.max_body_size_mb(默认 25 MB)限制了每个 body 的捕获大小。调小可降磁盘占用,但大请求体会被截断。log_retention_days控制保留天数;调小(如 3 天)加速清理。- 流式 body 的磁盘占用由
stream_body_max_disk_mb控制。
字段语义见 日志与日志体存储。
效果怎么验证
- 按 token 用量看:控制台 → 统计,按模型 / 访问密钥维度看 token 趋势。见 统计。
- 按费用看:定价与计费 配置价格快照后,月度账单给出按模型/密钥的费用汇总。
- 按缓存命中看:上游响应里的
cache_read_input_tokens/cached_tokens字段会在日志详情里体现。
常见问题
Q:switch-route 会不会拖慢请求? 不会。它在协议翻译前按结构判定,不读二进制内容字节,大请求体仍走磁盘暂存,不占内存。
Q:响应脱敏脚本会拖慢流式响应吗? 响应脚本在响应体上运行。流式响应在首块发出后不再重试,脚本对每个块处理。大 body 上避免做纯路由决策式的重逻辑,见 脚本性能与内存。
下一步:做到高可用 看容灾;请求改写与路由:怎么选 看选型;定价与计费 看账单。
