-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
superboogaV2 requirements adjustment for issue #4307 #5067
Conversation
oobabooga#4307 suggests locking pydantic to version 1.10.12, which works to get the extension to load.
Why not just update chromadb? Could you try seeing if it works with the latest version? On a side note, are you on Windows or Linux? Last time I checked, chromadb used to not install successfully on Windows. I don't know if that has changed. |
@oobabooga i tried doing that basically in the
|
My personal feeling on this is we should get the requirements patch for a known good version of chroma to work, then test out a separate patch that upgrades chromadb to the newest version. Since superboogav2 was likely tested or in use for awhile, it should be assumed that it works as intended as originally developed. Fixing the dependency, then upgrading is safer than upgrading and messing over people. We have have a good deal of duplicates sitting around for issues reporting this. I really feel like we should get these cleaned up, I don't mind progressing further on the Chroma testing front for the new version. |
pip uninstall chromadb -y && pip cache purge && pip install chromadb==0.3.18 |
Closing in favor of #5656 |
Workaround for issue loading superboogav2 extension
Issue
When activating the superboogav2 extension, after installing the needed packages via extensions/requirements.txt, the following error message and stack trace occurs in the console when launching ooba with the extension enabled:
(expand) Failed to load the extension "superboogav2" due to error in chromadb --> pydantic
Root cause:
The package
pydantic
updated a while back as can be seen here. However it's the dependencychromadb
that is causing the thrown error. The version set to be installed (chromadb==0.3.18
) is incompatible with more recent versions of pydantic, as discussed in their associated issue below.Separate incidents:
The open issue mentioned: SuperboogaV2-chromadb/pydantic BUG #4307
Recent comment on the original PR discussion for superboogav2: Supercharging superbooga #3272 (comment)
Contained solution
This comment on #4307 suggests locking pydantic to version 1.10.12, which works to get the extension to load. Others' comments and reactions and my personal testing (launching the extension and minimal use) seem to resolve the issue.
This PR simply locks the package requirement to 1.10.12. Note that this is the same version that the base requirements.txt for ooba was locked to (see next note).
Notes
Context within this repo, text-generation-webui
pydantic
was removed.chromadb
package:text-generation-webui/extensions/openai/typing.py
Line 5 in 4b25acf
Thoughts
Not sure why
chromadb
is locked to 0.3.18 in the original commit. Any idea @HideLord ? Is it just because superbooga 1 did so?chromadb
did eventually patch to work with pydantic v2 - closing out their similar bug report which is what led me to SuperboogaV2-chromadb/pydantic BUG #4307.chromadb
is just locked there because it was what was used at the time, it would be worth fully testing the current version with the extension, then removing this separate and possibly conflicting dependency from this file altogether.But wait! The latest
gradio
dependency does use a 2.0+ version of chromadb in their requirements.txt! However, I'm not sure about this repo's current dependency (gradio==3.50.*
) or any repercussions - there are no issues so far in my testing, but it is certainly worth noting.chromadb
, and to follow whatevergradio
uses. Therefore I will not be disappointed if this PR is rejected - instead this will hopefully serve as a good reference for now.