← ClaudeAtlas

semantic-cachinglisted

Redis semantic caching for LLM apps — vector similarity matching, multi-level cache, TTL strategies, cache warming
ArieGoldkin/claude-forge · ★ 6 · AI & Automation · score 74
Install: claude install-skill ArieGoldkin/claude-forge
# Semantic Caching Cache LLM responses by semantic similarity. ## Cache Hierarchy ``` Request → L1 (Exact) → L2 (Semantic) → L3 (Prompt) → L4 (LLM) ~1ms ~10ms ~2s ~3s 100% save 100% save 90% save Full cost ``` ## Redis Semantic Cache ```python from redisvl.index import SearchIndex from redisvl.query import VectorQuery class SemanticCacheService: def __init__(self, redis_url: str, threshold: float = 0.92): self.client = Redis.from_url(redis_url) self.threshold = threshold async def get(self, content: str, agent_type: str) -> dict | None: embedding = await embed_text(content[:2000]) query = VectorQuery( vector=embedding, vector_field_name="embedding", filter_expression=f"@agent_type:{{{agent_type}}}", num_results=1 ) results = self.index.query(query) if results: distance = float(results[0].get("vector_distance", 1.0)) if distance <= (1 - self.threshold): return json.loads(results[0]["response"]) return None async def set(self, content: str, response: dict, agent_type: str): embedding = await embed_text(content[:2000]) key = f"cache:{agent_type}:{hash_content(content)}" self.client.hset(key, mapping={ "agent_type": agent_type, "embedding": embedding, "response": json.dumps(response),