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 제공업체 사이의 셀프 호스팅 프록시 역할을 합니다. 두 개의 임계값(threshold)을 사용하는 시맨틱 매칭 전략을 사용하여 새로운 프롬프트가 캐시된 응답과 충분히 유사한지 판단합니다:

  1. High similarity: 직접적인 캐시 히트(cache hit)로 이어집니다.

  2. Low similarity: 결과를 캐시 미스(cache miss) 것으로써합니다.

  3. Gray zone: 선택적으로 캐시된 응답을 제공하기 전에 프롬프트의 의도를 검증하기 위해 더 작은 모델을 사용합니다.

OpenAI-compatible 하므로, 기존 SDKs를 사용하여 base URL만 변경하면 바로 사용할 수 있습니다. 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 (via Voyage AI)와 함께 작동합니다.

  • Runtime Configuration: 서비스를 재시작하지 않고 유사도 임계값과 제공업체를 업데이트할 수 있습니다.

  • Cache Warming: 알려진 프롬프트-응답 쌍을 캐시를 미리 채우는 것을 지원합니다.

  • Observabilityability: Prometheus metrics와 구조화된 로깅(structured logging)을 사용할 수 있습니다.

관련

  • Dispatch
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트