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) 餘裕的生產環境 GenAI 工作負載開發者。

Highlights

  • OpenAI-compatible API: 無縫整合與現有的 OpenAI-compatible 客户端。

  • Semantic Matching: 使用 embeddings 進行語義匹配,而非僅僅是精確的字串匹配。

  • Multi-provider support: 支援 OpenAI, Mistral AI, 與 Anthropic/Claude (透過 Voyage AI)。

  • Runtime Configuration: 允許在不重啟服務的情況下更新相似度門檻與提供者。

  • Cache Warming: 支援預先填充快取以包含已知的提示詞-回應對。

  • Observability: 包含 Prometheus metrics 與結構化日誌 (structured logging)。

相關

  • Dispatch
  • 專案
  • 專案
  • 專案
  • 專案