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.

Published package name on PyPI: composecache.

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.5.tar.gz (17.6 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.5-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: composecache-0.1.5.tar.gz
  • Upload date:
  • Size: 17.6 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.5.tar.gz
Algorithm Hash digest
SHA256 8e27944803fb5411f57d0ba246cc0d4eaf19ea745e4048844407c6ed06524002
MD5 5824795b2bb503d396b6707c8c9bbd4f
BLAKE2b-256 dbff96e133ca47dc18ddb25be47b5e07eae580eb6a2fa4495bcc95ed0c1b77cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: composecache-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 23.2 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d96f836a65c2fe7d9fbe671ccfbecf0a651a520539dcebd0d4b3a785c7e46042
MD5 c2150a1708e488adad7c9709780408dd
BLAKE2b-256 8e1bf9beb95c94e8d0ea03bd4aaca41a928a3b7d9f2d3f1e22ca8350c644d259

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