Features
缓存
LLM 响应缓存 - 通过缓存 GPT-4、Claude 响应节省高达 90% API 成本。减少延迟,提升 AI 查询性能。
缓存
UniterRouter 提供智能响应缓存,可以显著降低你的 API 成本和响应延迟。启用缓存后,相同的请求将从缓存中返回,而不是对 LLM 提供商进行重复调用。
工作原理
当你发起 API 请求时:
- UniterRouter 根据请求参数生成缓存键
- 如果存在匹配的缓存响应,则立即返回
- 如果没有缓存,请求将转发给提供商
- 响应被缓存以供未来相同请求使用
这意味着重复的相同请求会立即从缓存中返回,而不会产生额外的提供商成本。
成本节省
对于有重复请求的应用,缓存可以显著降低成本:
| 场景 | 无缓存 | 有缓存 | 节省 |
|---|---|---|---|
| 1,000 个相同请求 | $10.00 | $0.01 | 99.9% |
| 50% 重复率 | $10.00 | $5.00 | 50% |
| 临时错误后重试 | $0.02 | $0.01 | 50% |
缓存响应不产生提供商成本。你只需为填充缓存的初始请求付费。
要求
缓存需要启用数据保留并设置为"保留所有数据"级别。这允许 UniterRouter 存储和检索响应负载。
使用缓存:
- 在组织设置中启用数据保留,选择"保留所有数据"级别
- 在项目设置的偏好设置中启用缓存
- 根据需要配置缓存持续时间 (TTL)
- 正常发起请求——缓存是自动的
缓存键生成
缓存键由以下请求参数生成:
- 模型标识符
- 消息数组(角色和内容)
- Temperature
- Max tokens
- Top P
- Tools/functions
- Tool choice
- 响应格式
- 系统提示
- 其他模型特定参数
参数值不同的请求,即使是轻微的变化,也不会共享缓存条目。
缓存行为
缓存命中
当缓存命中时:
- 响应立即返回(亚毫秒延迟)
- 不调用提供商 API
- 不产生推理成本
缓存未命中
当缓存未命中时:
- 请求转发给 LLM 提供商
- 响应存储在缓存中
- 正常推理成本适用
- 未来相同请求将命中缓存
流式传输和缓存
缓存适用于流式和非流式请求:
- 非流式:完整响应被缓存并返回
- 流式:完整响应从缓存重建并流式返回
缓存 TTL(生存时间)
缓存持续时间可在项目设置中按项目配置。你可以将缓存 TTL 设置为 10 秒到 1 年(31,536,000 秒)。
默认缓存持续时间为 60 秒。根据你的用例进行调整——较长的持续时间适合静态内容,较短的持续时间适合频繁变化的数据。
识别缓存响应
缓存响应显示零或最小 token 使用量,因为没有进行推理:
{
"usage": {
"prompt_tokens": 0,
"completion_tokens": 0,
"total_tokens": 0,
"cost_usd_total": 0
}
}使用场景
开发和测试
在开发过程中,你经常发送相同的提示:
// 此提示只会产生一次费用
const response = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "解释量子计算" }],
});有常见问题的聊天机器人
FAQ 类型的交互通常有重复的问题:
// 常见问题从缓存提供
const faqs = [
"你们的营业时间是什么?",
"如何重置密码?",
"你们的退货政策是什么?",
];批量处理
处理可能有重复项的大型数据集:
// 批量中的重复项从缓存提供
for (const item of items) {
const response = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: `分类:${item}` }],
});
}最佳实践
最大化缓存命中
- 使用一致的提示格式
- 在发送前规范化输入数据
- 使用确定性参数(temperature: 0)
- 避免在提示中包含时间戳或随机值
适当的使用场景
缓存最适合:
- 静态知识查询
- 分类任务
- FAQ 响应
- 开发/测试
- 重试场景
何时避免缓存
缓存可能不适合:
- 实时数据需求
- 高度个性化的响应
- 时间敏感的信息
- 需要多样性的创意任务
存储成本
由于缓存需要数据保留,会产生存储成本:
- 费率:每百万 token $0.01
- 适用于:缓存请求和响应中的所有 token
参见数据保留了解完整定价详情。
缓存带来的成本节省通常远超存储成本,特别是对于请求重复率高的应用。
How is this guide?