From 5c65addd1f3025c3f646ff793a679d84ad280f72 Mon Sep 17 00:00:00 2001 From: Jeffrey Huber Date: Sun, 16 Jul 2023 22:03:36 -0700 Subject: [PATCH 1/2] API change for 0.4.0 --- gptcache/manager/vector_data/chroma.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gptcache/manager/vector_data/chroma.py b/gptcache/manager/vector_data/chroma.py index 2d9eb161..6c4a255b 100644 --- a/gptcache/manager/vector_data/chroma.py +++ b/gptcache/manager/vector_data/chroma.py @@ -40,7 +40,7 @@ def __init__( self._client_settings = chromadb.config.Settings() if persist_directory is not None: self._client_settings = chromadb.config.Settings( - chroma_db_impl="duckdb+parquet", persist_directory=persist_directory + is_persistent=True, persist_directory=persist_directory ) self._client = chromadb.Client(self._client_settings) self._persist_directory = persist_directory From 6fadde61ba074c53acadedf842c365ed398c33e6 Mon Sep 17 00:00:00 2001 From: Jeffrey Huber Date: Thu, 20 Jul 2023 10:55:56 -0700 Subject: [PATCH 2/2] be backwards compatible --- gptcache/manager/vector_data/chroma.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gptcache/manager/vector_data/chroma.py b/gptcache/manager/vector_data/chroma.py index 6c4a255b..5538b205 100644 --- a/gptcache/manager/vector_data/chroma.py +++ b/gptcache/manager/vector_data/chroma.py @@ -39,9 +39,15 @@ def __init__( else: self._client_settings = chromadb.config.Settings() if persist_directory is not None: - self._client_settings = chromadb.config.Settings( - is_persistent=True, persist_directory=persist_directory - ) + major, minor, _ = chromadb.__version__.split(".") + if int(major) == 0 and int(minor) < 4: + self._client_settings = chromadb.config.Settings( + chroma_db_impl="duckdb+parquet", + ) + else: + self._client_settings = chromadb.config.Settings(is_persistent=True) + self._client_settings.persist_directory = persist_directory + self._client = chromadb.Client(self._client_settings) self._persist_directory = persist_directory self._collection = self._client.get_or_create_collection(name=collection_name)