跳转到主要内容

什么是提示词缓存

许多模型厂商(如 Anthropic Claude、OpenAI)原生支持提示词缓存(Prompt Cache)。当相同的上下文内容被反复发送时,厂商会从缓存中复用计算结果,从而减少延迟并降低 Token 费用

缓存使用限制

缓存无法跨账号共享,这是厂商侧的限制,与平台无关。 作为多渠道转发平台,我们无法保证同一账号的前后两次请求一定走同一个后端渠道。如果两次请求被分配到不同渠道,已建立的缓存将无法复用,可能导致缓存命中率降低、成本上升。

保持路由一致性

为解决上述问题,您可以在请求中携带上一次请求的 ID,系统会尽量将新请求路由到同一个渠道,从而复用已有缓存。 支持以下两种方式:
Header值来源有效期
X-Request-Id上一次响应的 X-Rixapi-Request-Id Header5 分钟
X-Response-Id上一次响应 JSON 中的对话 ID(如 Claude 的 message.id5 分钟

示例

import anthropic

client = anthropic.Anthropic(
    base_url="https://api.ephone.ai/anthropic",
    api_key="API_KEY",
)

# 第一次请求
response = client.messages.create(
    model="claude-opus-4-5-20251101",
    max_tokens=1024,
    messages=[{"role": "user", "content": "你好!"}]
)

# 获取响应 ID 用于后续请求
response_id = response.id

# 第二次请求,携带上一次响应 ID 以保持路由一致
response2 = client.messages.create(
    model="claude-opus-4-5-20251101",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "你好!"},
        {"role": "assistant", "content": response.content[0].text},
        {"role": "user", "content": "继续我们的对话..."},
    ],
    extra_headers={"X-Response-Id": response_id}
)

子任务扩展

部分模型(如视频生成、图像编辑等)支持基于已有任务进行继续扩展操作,例如在已生成的视频末尾追加内容,或对已生成的图像进行二次编辑。 这类操作通常需要在新请求中提供原始任务的 task_id,具体参数请参考对应模型的使用指南(视频图像 等)。