Skip to main content

Compositional semantic caching for LLM APIs and RAG pipelines

Project description

ComposeCache Python Package

Python package for compositional semantic caching over LLM requests.

Quick Start

1. Prerequisites

  • Python 3.10+
  • PostgreSQL with pgvector enabled
  • OpenAI API key

2. Install

python -m venv .venv
source .venv/bin/activate
pip install composecache

3. Configure Environment

export DATABASE_URL="postgresql://dev:dev@localhost:5432/composecache"
export OPENAI_API_KEY="sk-..."

ComposeCache automatically connects and runs its schema migration on first use.

4. Run

python - <<'PY'
from composecache import ComposeCache

cache = ComposeCache(
    database_url="postgresql://dev:dev@localhost:5432/composecache",  # or os.environ["DATABASE_URL"]
    openai_api_key="YOUR_OPENAI_KEY",  # or os.environ["OPENAI_API_KEY"]
)

request = {
    "model": "gpt-4o-mini",
    "messages": [{"role": "user", "content": "Compare GDP of France and Germany"}],
}

first = cache.complete(request)
second = cache.complete(request)

print("First call cache type:", first["cache_type"])
print("Second call cache type:", second["cache_type"])
print("Answer:", second["content"])
PY

5. Useful Response Fields

  • content: model answer text
  • cache_type: exact, semantic, partial, or miss
  • tokens_saved: estimated tokens avoided via cache reuse
  • cost_saved: estimated cost savings

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

composecache-0.1.2.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

composecache-0.1.2-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file composecache-0.1.2.tar.gz.

File metadata

  • Download URL: composecache-0.1.2.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for composecache-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5d5f4f0a2c0516d0a670c1e13ab56497dcb781edf7ab03b3dcba58e120560476
MD5 6803ac538bdb4c71ee12ee47882aef8d
BLAKE2b-256 f2a4e2da30a604170320fa9a2d2143c8b24d655d592a6c98eb9fa391b233a33d

See more details on using hashes here.

File details

Details for the file composecache-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: composecache-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 19.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for composecache-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 695ae722f1336bc266981859e1e3b2b91a52514edee9bced25ca12b369235a46
MD5 fbe10495a71b8624c1ac48bb6b307c98
BLAKE2b-256 3e33932725015f98acf9659c99a1423c3076281c0c5ca6a1b955f8c2908b29c5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page