提示缓存

缓存重复请求,降低成本和延迟

概述

Ling.AI 会透传上游支持的提示缓存能力,并记录缓存相关 token 到日志与结算结果。当前网关已支持三类场景:显式缓存隐式缓存Session 缓存

Batch 说明

百炼 Batch 属于独立计费路径,不支持上下文缓存折扣。对于 batch_file / batch_chat 请求,Ling.AI 会按 Batch 输入/输出价格结算,不会叠加显式缓存、隐式缓存或 Session 缓存价格。

缓存类型

1. 显式缓存

适用于 /v1/chat/completions。当请求体中的消息内容带有 cache_control: {"type":"ephemeral"} 时,网关会原样转发给上游;若上游返回缓存写入或缓存命中 token,系统会记录并参与计费。

2. 隐式缓存

适用于支持自动前缀缓存的模型。该模式无需额外配置,是否命中缓存由上游决定;命中后,网关会从返回结果中提取 cached_tokens 并写入 prompt_cached_tokens

3. Session 缓存

适用于 /v1/responses。当请求头中包含 x-dashscope-session-cache: enable 时,Ling.AI 会把该 Header 透传到上游;如果显式传入 x-dashscope-session-cache: disable,则关闭 Session 缓存并回退到上游默认行为(若模型支持,通常仍可能发生隐式缓存)。

配置方式

显式缓存与 Session 缓存都可以直接从公开 API 触发;是否真正创建或命中缓存,仍取决于上游模型是否支持以及提示词长度是否达到上游要求。

显式缓存 - Chat Completions
curl https://api.vip.lingapi.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.5-plus",
    "messages": [
      {
        "role": "system",
        "content": [
          {
            "type": "text",
            "text": "很长的稳定前缀……",
            "cache_control": {"type": "ephemeral"}
          }
        ]
      },
      {"role": "user", "content": "请概括以上内容"}
    ]
  }'
Session 缓存 - Responses
curl https://api.vip.lingapi.ai/v1/responses \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -H "x-dashscope-session-cache: enable" \
  -d '{
    "model": "qwen3.5-plus",
    "input": "请基于上一次响应继续回答"
  }'

缓存字段

字段说明来源
prompt_cached_tokens缓存命中的输入 token 数上游 cached_tokens
cache_write_tokens新创建缓存块的输入 token 数上游 cache_creation_input_tokens / cache_creation_tokens
cache_mode网关结算时识别出的缓存模式:explicit / implicit / session请求参数、Header 与 usage 联合推断
cache_hit_rate控制台聚合指标,按缓存 token 与输入 token 计算系统自动计算

缓存计费

缓存 Token 的计费与标准输入 Token 不同,具体价格取决于模型对应的 billing_rules 配置:

字段说明典型值
cache_creation_price缓存写入单价(每百万 Token)通常高于标准 input_price,约为 1.25 倍
cache_hit_price缓存命中单价(每百万 Token)通常为标准 input_price 的 10%~50%
input_price标准输入单价(非缓存 Token)常规输入价格

实际费用计算公式:

计费公式
缓存请求总费用 =
  (标准输入 Token × input_price)
  + (缓存写入 Token × cache_creation_price)
  + (缓存命中 Token × cache_hit_price)
  + (输出 Token × output_price)

查看实际价格

每个模型的缓存价格可能不同,具体以模型目录中的价格摘要和后台计费规则为准。若模型价格摘要显示"缓存写入"和"缓存命中"价格,则该模型支持缓存计费。

应用场景

  • 长文本多问:反复针对同一份文档、代码仓库或知识库提问。
  • 多轮会话:使用 /v1/responses 并结合 Session 缓存降低连续对话成本。
  • 账单核对:根据 prompt_cached_tokenscache_write_tokenscache_mode 校验结算是否符合上游规则。

缓存统计

在控制台用量追踪页可查看缓存 token、缓存命中率等聚合数据;如需判断某次请求是否享受缓存价格,建议同时核对返回结果中的 usage 与控制台日志里的 cache_modeprompt_cached_tokenscache_write_tokens

提示

网关不会额外生成 x-cache: HIT 一类公开响应头。判断缓存是否生效,应以返回的 usage 字段和控制台记录为准。