Skip to content

Commit 975887f

Browse files
feat(valkey): ValkeyStorage vector memory backend
Add ValkeyStorage, a distributed StorageBackend implementation using Valkey-GLIDE with Valkey Search for vector similarity. Wire it into Memory as the 'valkey' storage option. Pin scrapegraph-py<2 to fix unrelated upstream breakage. Part 4/4 of Valkey storage implementation.
1 parent 6ab7785 commit 975887f

8 files changed

Lines changed: 7301 additions & 0 deletions

File tree

lib/crewai/src/crewai/memory/storage/valkey_storage.py

Lines changed: 1838 additions & 0 deletions
Large diffs are not rendered by default.

lib/crewai/src/crewai/memory/unified_memory.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,17 @@ def model_post_init(self, __context: Any) -> None:
215215
from crewai.memory.storage.lancedb_storage import LanceDBStorage
216216

217217
self._storage = LanceDBStorage()
218+
elif self.storage == "valkey":
219+
from crewai.memory.storage.valkey_storage import ValkeyStorage
220+
from crewai.utilities.cache_config import parse_cache_url
221+
222+
conn = parse_cache_url() or {}
223+
self._storage = ValkeyStorage(
224+
host=conn.get("host", "localhost"),
225+
port=conn.get("port", 6379),
226+
db=conn.get("db", 0),
227+
password=conn.get("password"),
228+
)
218229
else:
219230
from crewai.memory.storage.lancedb_storage import LanceDBStorage
220231

0 commit comments

Comments
 (0)