SuperAPI AI 工具集

openrouter-caching-strategy

编程与开发

查看项目

更新于 10-15 23:27

技能介绍

用途:为 OpenRouter API 响应实现缓存,降低重复调用的成本与延迟,适合优化重复查询、构建 RAG 系统或削减 API 开销。核心前提是仅缓存确定性请求(temperature=0),非零温度每次输出不同,不可缓存。

主要能力:一是进程内内存缓存 LLMCache,配合 cached_completion() 提供 TTL 过期与命中/未命中计数;二是基于 Redis 的持久缓存 redis_cached_completion(),以 or:<sha256> 为键并使用 setex 过期,未命中时回退到直接 API 调用;三是通过 OpenRouter 使用 Anthropic 提示缓存,对大型静态系统提示添加 cache_control: {"type": "ephemeral"},缓存读取按输入费率的 0.1 倍计费。

使用方式:需 OpenRouter API 密钥(OPENROUTER_API_KEY),Python 3.8+ 及 OpenAI SDK、redis 客户端,或多实例场景需 localhost:6379 的 Redis。缓存键应包含模型 ID、messages、temperature、max_tokens、top_p,排除 stream 与 HTTP-Referer/X-Title。失效策略:模型版本更新时按模型清除,系统提示变更时全清,其余交由 TTL 过期。

适用场景与限制:单进程可用内存缓存;多实例应使用 Redis 或 Memcached。TTL 按数据新鲜度设置(动态 30 分钟、参考数据 24 小时)。需监控命中率以证明基础设施成本。资料未提供具体价格或其他平台支持信息。