UniterRouter
Features

缓存

LLM 响应缓存 - 通过缓存 GPT-4、Claude 响应节省高达 90% API 成本。减少延迟,提升 AI 查询性能。

缓存

UniterRouter 提供智能响应缓存,可以显著降低你的 API 成本和响应延迟。启用缓存后,相同的请求将从缓存中返回,而不是对 LLM 提供商进行重复调用。

工作原理

当你发起 API 请求时:

  1. UniterRouter 根据请求参数生成缓存键
  2. 如果存在匹配的缓存响应,则立即返回
  3. 如果没有缓存,请求将转发给提供商
  4. 响应被缓存以供未来相同请求使用

这意味着重复的相同请求会立即从缓存中返回,而不会产生额外的提供商成本。

成本节省

对于有重复请求的应用,缓存可以显著降低成本:

场景无缓存有缓存节省
1,000 个相同请求$10.00$0.0199.9%
50% 重复率$10.00$5.0050%
临时错误后重试$0.02$0.0150%

缓存响应不产生提供商成本。你只需为填充缓存的初始请求付费。

要求

缓存需要启用数据保留并设置为"保留所有数据"级别。这允许 UniterRouter 存储和检索响应负载。

使用缓存:

  1. 在组织设置中启用数据保留,选择"保留所有数据"级别
  2. 在项目设置的偏好设置中启用缓存
  3. 根据需要配置缓存持续时间 (TTL)
  4. 正常发起请求——缓存是自动的

缓存键生成

缓存键由以下请求参数生成:

  • 模型标识符
  • 消息数组(角色和内容)
  • 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?