cache_keys.py
676 Bytes
"""Shared cache key helpers for embedding inputs.
Current canonical raw-key format:
- text: ``embed:norm1:<text>`` / ``embed:norm0:<text>``
- image: ``embed:norm1:<url>`` / ``embed:norm0:<url>``
`RedisEmbeddingCache` adds the configured key prefix and optional namespace on top.
"""
from __future__ import annotations
def build_text_cache_key(text: str, *, normalize: bool) -> str:
normalized_text = str(text or "").strip()
return f"embed:norm{1 if normalize else 0}:{normalized_text}"
def build_image_cache_key(url: str, *, normalize: bool) -> str:
normalized_url = str(url or "").strip()
return f"embed:norm{1 if normalize else 0}:{normalized_url}"