Make all embedding functions take Embeddable instead of Documents #5342
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.
Description of changes
fixes #5241.
As discussed there, we align the types of the provided embedding functions, such that they all implement
EmbeddingFunction[Embeddable]
. This was the second option among my proposed solutions.Test plan
Both code snippets given in the issue now type-check with mypy in strict mode, whereas previously only one of them passed.
I'll see what github actions says about all the existing tests before fiddling around with installing k8s / tilt / whatever else is needed to run those.
pytest
for python,yarn test
for js,cargo test
for rustMigration plan
This is technically a breaking change for anyone who wrote something along those lines:
Any users of the built-in embedding functions won't notice anything.
If you consider this to be an issue, then I guess we'll have to re-add some
# type: ignore
comments which sort of defeats the whole point of this PR. Let me know what you think.Observability plan
What is the plan to instrument and monitor this change?
Documentation Changes
No documentation changes needed, since as far as I can tell the docs on docs.trychroma.com don't show any type annotations anyway.