-
Notifications
You must be signed in to change notification settings - Fork 510
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Chroma API change for 0.4.0 version #488
base: dev
Are you sure you want to change the base?
Conversation
Welcome @jeffchuber! It looks like this is your first PR to zilliztech/GPTCache 🎉 |
please make the dev branch as the target branch |
@SimFG done! |
@jeffchuber If I use the Chroma 0.3.29 and run the latest code, there will be a error. right? |
@SimFG that is correct - this new API change only supports |
@jeffchuber please give a look for the failed unit test |
@SimFG looks like sqlite needs to be updated - chroma-core/chroma#836 are you all open to making this change? |
@jeffchuber I have a idea.
This can minimize the impact on users. When users want to pursue a better experience, they can manually pass a parameter. |
@SimFG we could so something like this user proposed (and was merged) for langchain - langchain-ai/langchain#7891? |
@jeffchuber yes you can try to do it! |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: jeffchuber The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@SimFG added backwards compatibility, can you retrigger the tests? |
@jeffchuber |
As far as I can tell - this is a different base OS issue. We use |
@jeffchuber |
** This should land Monday the 17th **
Chroma is upgrading from
0.3.29
to0.4.0
.0.4.0
is easier to build, more durable, faster, smaller, and more extensible. This comes with a few changes:A simplified and improved client setup. Instead of having to remember weird settings, users can just do
EphemeralClient
,PersistentClient
orHttpClient
(the underlying directClient
implementation is also still accessible)We migrated data stores away from
duckdb
andclickhouse
. This changes the api for thePersistentClient
that used to referencechroma_db_impl="duckdb+parquet"
. Now we simply setis_persistent=true
.is_persistent
is set for you totrue
if you usePersistentClient
.Because we migrated away from
duckdb
andclickhouse
- this also means that users need to migrate their data into the new layout and schema. Chroma is committed to providing extension notification and tooling around any schema and data migrations (for example - this PR!).After upgrading to
0.4.0
- if users try to access their data that was stored in the previous regime, the system will throw anException
and instruct them how to use the migration assistant to migrate their data. The migration assitant is a pip installable CLI:pip install chroma_migrate
. And is runnable by callingchroma_migrate
Please reference the readme at chroma-core/chroma-migrate to see a full write-up of our philosophy on migrations as well as more details about this particular migration.
Please direct any users facing issues upgrading to our Discord channel called #get-help. We have also created a email listserv to notify developers directly in the future about breaking changes.
TODO
duckdb+parquet
strings to the new format