feat: add cache_salt dimension to LLM response cache

This commit is contained in:
2026-07-16 05:23:58 -04:00
parent c5c11ea81b
commit 564c92a043
6 changed files with 57 additions and 14 deletions
+9 -3
View File
@@ -23,8 +23,13 @@ class _FakeRedisCache:
def __init__(self) -> None:
self._store: dict[str, LLMResponse] = {}
async def get(self, model: str, messages: list[dict[str, str]]) -> LLMResponse | None:
key = f"{model}:{json.dumps(messages, sort_keys=True)}"
async def get(
self,
model: str,
messages: list[dict[str, str]],
cache_salt: str | None = None,
) -> LLMResponse | None:
key = f"{model}:{cache_salt}:{json.dumps(messages, sort_keys=True)}"
return self._store.get(key)
async def set(
@@ -32,8 +37,9 @@ class _FakeRedisCache:
model: str,
messages: list[dict[str, str]],
response: LLMResponse,
cache_salt: str | None = None,
) -> None:
key = f"{model}:{json.dumps(messages, sort_keys=True)}"
key = f"{model}:{cache_salt}:{json.dumps(messages, sort_keys=True)}"
self._store[key] = response