削减 LLM Token 开销,在不到一毫秒内从缓存响应重复的 AI 请求,同时运行一个多线程、兼容 Redis 的存储。
HotKV 作为一个兼容 Redis 的引擎,位于您的 LLM 调用之前。它能识别已经回答过的提示词(无论完全相同还是近似),直接向您的应用返回缓存的响应,而不是发起新的 API 调用。
import hotkv client = hotkv.from_url("hotkv://localhost:6379")client.pcache_create("support", ttl=3600) def ask(prompt: str) -> str: # 之前问过,一字不差:无需调用模型 cached = client.pcache_get("support", prompt) if cached is not None: return cached.decode() answer = call_llm(prompt) client.pcache_set("support", prompt, answer, ttl=3600) return answer示意结果(示例数据)
场景:调用两次 ask("How do I reset my password?")
两次调用都返回:"Use the password-reset link on the sign-in page."
第一次调用:缓存未命中 → call_llm → 存储答案
第二次调用:缓存答案 → 无模型调用我们将同样的 3,000 个客服问题向四个当前的 Claude 模型各发送了两遍:一遍直接发给模型,一遍经由前置的 HotKV。
按每天 100 万次请求计算,根据实测的单次请求成本外推,并假设流量模式不变。四个 Claude 模型均以简短回答运行,Fable 5.1 和 Opus 5.5 使用最低推理强度,因此更长或推理更密集的回答会让每次避免的调用价值更高。
我们让 Claude Fable 5.1、Opus 5.5、Sonnet 5.5 和 Haiku 5.5 各自处理同样的 3,000 个请求,分别在使用和不使用 HotKV 的情况下运行。每次运行都开启了服务商自身的提示词缓存,Token 和成本取自每个响应的 usage 字段,包括思考 Token。
| 模型 | 节省的 Token | 无 HotKV 成本 | 有 HotKV 成本 | 降低幅度 | 模型调用次数 | 响应时间中位数 |
|---|---|---|---|---|---|---|
| Claude Fable 5.1 | 70% | $30.31 | $9.18 | 70% | 从 3,000 到 896 | 从 2.7 s 到 127 ms |
| Claude Opus 5.5 | 70% | $14.60 | $4.50 | 69% | 从 3,000 到 898 | 从 2.9 s 到 126 ms |
| Claude Sonnet 5.5 | 70% | $5.51 | $1.66 | 70% | 从 3,000 到 897 | 从 1.8 s 到 128 ms |
| Claude Haiku 5.5 | 70% | $0.27 | $0.08 | 70% | 从 3,000 到 897 | 从 1.4 s 到 125 ms |
对于每个由缓存应答的改写问题,由另一个模型将缓存答案与同一模型针对该原问题给出的新答案进行比较,两者顺序随机。没有任何模型评判自己的输出。这是语言模型的评判,而非人工审核,而且评判的严格程度因模型而异,因此只应在同一模型内比较缓存答案与新答案。
| 模型 | 评判的改写问题数 | 缓存答案切题 | 新答案切题 |
|---|---|---|---|
| Claude Fable 5.1 | 926 | 83.3% | 90.2% |
| Claude Opus 5.5 | 935 | 93.3% | 99.0% |
| Claude Sonnet 5.5 | 936 | 77.9% | 86.1% |
| Claude Haiku 5.5 | 936 | 67.9% | 78.6% |
每一行都是 Claude Sonnet 5.5 在同样 3,000 个请求上的一次独立运行(不使用 HotKV 时的成本:$5.51)。
| 阈值 | 成本 | 降低幅度 | 缓存答案切题 | 新答案切题 |
|---|---|---|---|---|
| 0.81 | $1.66 | 70% | 77.9% | 86.1% |
| 0.85 | $1.88 | 66% | 80.3% | 85.6% |
| 0.88 | $1.99 | 64% | 89.5% | 83.8% |
| 0.90 | $2.13 | 61% | 87.9% | 86.5% |
| 0.95 | $2.22 | 60% | 92.0% | 90.0% |
从 Banking77 测试集中以固定种子抽取 3,000 个客服问题(意图热度服从 Zipf 分布,s=1.0;在每个意图内均匀抽样问题,允许重复)。每个问题都以相同的客服政策作为系统提示词发送给模型。基线:每个请求都调用模型,并开启服务商自身的提示词缓存。HotKV:先进行精确匹配查找(对规范化后问题的 SHA-256 键执行 GET),再进行语义查找(使用问题的嵌入执行 SCACHE.GET),仅在未命中时才调用模型。Token 数取自每个 API 响应的 usage 块;成本按标价计算,并包含嵌入调用。相似度阈值在独立的 Banking77 训练集上选定,取能让语义命中达到至少 98% 同意图精确率的最低值。
嵌入模型:OpenAI text-embedding-3-small。语义匹配阈值:0.81。数据集:PolyAI 提供的 Banking77(测试集),采用 CC BY 4.0 许可。3,000 个请求,涵盖 77 个意图。
测量日期:2026年10月11日。节省幅度取决于您的流量重复的频率。没有重复或相似问题的工作负载不会有任何节省。
我们将相同的 OpenAI 嵌入向量加载到 HotKV 和 Redis 8 中,在同一台机器上以 1 到 100 个并发客户端连接,对两者运行相同的 1,000 条查询。两者都保存全精度向量,并使用相同的索引设置。
两个引擎都存储全精度 float32 向量。加载 999,000 个向量后,HotKV 进程占用 6.77 GB,Redis 占用 7.01 GB。
未测量:Redis 默认的 8 位量化模式、Redis Query Engine、其他数据集和其他硬件。所用的 HotKV 构建是尚未发布的开发构建。 Redis 在固定到 4 个 vCPU 的情况下加载,并在重新加载的索引上查询(见文章)。
| ef | HotKV 召回率 | Redis 召回率 | HotKV 查询/秒 | Redis 查询/秒 | 比值 |
|---|---|---|---|---|---|
| 40 | 0.940 | 0.923 | 63,897 | 8,061 | 7.9x |
| 80 | 0.970 | 0.962 | 37,508 | 6,825 | 5.5x |
| 150 | 0.987 | 0.980 | 21,912 | 5,241 | 4.2x |
| 300 | 0.993 | 0.990 | 12,393 | 3,454 | 3.6x |
| 500 | 0.997 | 0.994 | 7,688 | 2,483 | 3.1x |
HotKV 构建 c8dafd37 与 Redis 8.10.2,余弦相似度,两者均使用 M=16、ef_construction=200 的 HNSW,两者均为 float32(Redis NOQUANT)。召回率为相对于精确暴力搜索结果的 recall@10。在 Azure Standard_D160alds_v7, AMD EPYC 9V45, 160 vCPUs 上取 3 次运行的中位数。服务器共享 128 个 vCPU,负载生成器运行在另外 32 个 vCPU 上,对两者使用相同的客户端代码。
数据集:Kumar Shivendu and Nirant Kasliwal 提供的 dbpedia-entities-openai-1M 嵌入(OpenAI text-embedding-ada-002,1,536 维),采用 MIT 许可,另加 1,000 条留出查询。完整方法、脚本和原始结果。 测量日期:2026年10月14日。
HotKV 是商业软件。您可以交给我们运行,也可以在自己掌控的基础设施上自行运行。
完全托管的 HotKV 实例,由我们在 Google Cloud 的 42 个区域中托管和运维。正在分批开放。申请抢先体验。
凭许可证文件在您自己的服务器或云账号中运行 HotKV,完全掌控数据驻留和网络访问。
十二个官方客户端库。HotKV 同样支持 RESP2 和 RESP3,因此您现有的 Redis 客户端和工具只需更改主机名即可连接。
pip install hotkv-clientnpm install @hotkv/clientgo get github.com/hotkv-ltd/hotkv-go-clientcargo add hotkv-clientcom.hotkv:hotkv-clientdotnet add package HotKV.Clientgem install hotkvcomposer require hotkv/client{:hotkv, "~> 1.0"}从 GitHub 获取(hotkv-perl-client)libhotkv(CMake,GitHub Release)hotkv-cpp(CMake,GitHub Release)Python 和 Node.js SDK 为团队常用的框架提供一行代码即可接入的集成。另有独立的开源工具支持 LangGraph、MCP 和兼容 OpenAI 的 API。
pip install "hotkv-client[langchain]"from hotkv.integrations.langchain import HotKVSemanticCache set_llm_cache(HotKVSemanticCache(client, embedding=embeddings))
还包含用于精确匹配缓存的 HotKVCache,以及 HotKVVectorStore 和 HotKVChatMessageHistory。
pip install "hotkv-client[llamaindex]"from hotkv.integrations.llama_index import HotKVVectorStore
还包含 HotKVKVStore 和 HotKVChatStore。
pip install "hotkv-client[litellm]"from hotkv.integrations.litellm import HotKVSemanticCache
LiteLLM 内置的 Redis 缓存无需修改即可与 HotKV 配合使用。如果您还需要语义缓存,可以使用此集成。
import { hotkvCache } from "@hotkv/client/ai-sdk";
wrapLanguageModel({ model, middleware: hotkvCache({ client }) });随 @hotkv/client npm 包提供。
import { HotKVCache } from "@hotkv/client/langchain";随 @hotkv/client npm 包提供。
pip install langgraph-checkpoint-hotkvfrom langgraph.checkpoint.hotkv import HotKVSaver from langgraph.store.hotkv import HotKVStore
用于图状态的检查点保存器,以及支持语义搜索的长期记忆存储。无需 HotKV 许可证。
阅读文档pip install hotkv-mcpclaude mcp add hotkv -- uvx hotkv-mcp --url hotkv://localhost:6379
让 Claude、Cursor 等助手使用键、智能体记忆、提示词和文档搜索。只读模式和命名空间可将智能体限制在边界之内。
阅读文档go install github.com/hotkv-ltd/hotkv-gateway/cmd/hotkv-gateway@latestclient = OpenAI(base_url="http://localhost:8080/v1")
即插即用的代理,可缓存兼容 OpenAI 的 API 调用和 Anthropic API 调用,包括流式响应。只需修改一个 URL,无需改代码。
阅读文档深入了解 HotKV 为何快速、适用于哪些场景,以及如何上手。