messkan/prompt-cache

Cut LLM costs by up to 80% and unlock sub-millisecond responses with intelligent semantic caching.A drop-in, provider-agnostic LLM proxy written in Go with sub-millisecond response

What it solves

PromptCache 通过避免冗余的上游 API 调用,降低了 LLM 应用的成本和延迟。它解决了在 RAG 应用、AI agents 和支持机器人等工作负载中,重复或近乎重复的请求所产生的问题,在这些场景中,相似的问题往往会得到相同的答案。

How it works

它作为应用程序与 LLM 提供商之间的自托管代理。它使用双阈值语义匹配策略来判断一个新提示词是否与缓存响应足够相似:

  1. High similarity: 导致直接缓存命中 (cache hit)。
  2. Low similarity: 导致缓存未命中 (cache miss)。
  3. Gray zone: 可选使用较小的模型来验证提示词的意图,然后再提供缓存响应。

它是 OpenAI-compatible,这意味着可以通过简单地更改 base URL 来与现有的 SDKs 使用。它使用 BadgerDB 持久化数据,并支持通过 SSE 进行流式响应。

Who it’s for

想要降低提供商成本、减少响应时间并增加速率限制 (rate-limit) 余量的开发者。

Highlights

  • OpenAI-compatible API: 无缝集成到现有的 OpenAI-compatible 客户端。

  • Semantic Matching: 使用 embeddings 来寻找相似的提示词,而不是精确的字符串匹配。

  • Multi-provider support: 支持 OpenAI, Mistral AI, 和 Anthropic/Claude (通过 Voyage AI)。

  • **PromptCache 允许在不重启服务的情况下更新相似度阈值和提供商。

  • Cache Warming: 支持预先填充缓存以包含已知的提示词-响应对。

  • Observability: 包含 Prometheus metrics 和结构化日志 (structured logging)。

相关

  • Dispatch
  • 项目
  • 项目
  • 项目
  • 项目