DOCS: partners/chroma
: Fix documentation around chroma
query filter syntax
#31058
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Thank you for contributing to LangChain!
Description:
langchain-chroma
filter
andwhere_document
query filtering, as mentioned:#30879
#30507
The typing of
dict[str, str]
is on the one hand too restrictive (marks valid filter expressions as ill-typed) and also too permissive (allows illegal filter expressions). That's not what this PR addresses though. This PR just removes from the documentation some examples of filters that are illegal, and also syntactically incorrect: (a) dictionaries with keys like$contains
but the key is missing quotation marks; (b) dictionaries with multiple entries - this is illegal in Chroma filter syntax and will raise an exception. ({"foo": "bar", "qux": "baz"}
). Filter dictionaries in Chroma must have one and one key only. Again this is just the documentation issue, which is the lowest hanging fruit. I also think we need to update the types forfilter
andwhere_document
to be (at the very leastdict[str, Any]
), or, since we have access to Chroma's types, they should beWhere
andWhereDocument
types. This has a wider blast radius though, so I'm starting small.This PR does not fix the issues mentioned above, it's just starting to get the ball rolling, and cleaning up the documentation.
make format
,make lint
andmake test
from the root of the package(s) you've modified. See contribution guidelines for more: https://python.langchain.com/docs/contributing/Additional guidelines:
If no one reviews your PR within a few days, please @-mention one of baskaryan, eyurtsev, ccurme, vbarda, hwchase17.