feat: add cache_salt dimension to LLM response cache
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user