chroma icon indicating copy to clipboard operation
chroma copied to clipboard

[ENH] Nomic Text Embed function

Open andrewblum opened this issue 1 year ago • 6 comments

Description of changes

Summarize the changes made by this PR.

  • New functionality
    • Embedding function that calls the Nomic Atlas API asked for by @tazarov in #2061

Test plan

How are these changes tested? Added a test that is similar to the existing test for Ollama.

  • [ ] Tests pass locally with pytest for python, yarn test for js, cargo test for rust

Documentation Changes

Are all docstrings for user-facing APIs updated if required? Do we need to make documentation changes in the docs repository?

andrewblum avatar May 11 '24 01:05 andrewblum

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
chroma ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 15, 2024 9:05am

vercel[bot] avatar May 11 '24 01:05 vercel[bot]

Reviewer Checklist

Please leverage this checklist to ensure your code review is thorough before approving

Testing, Bugs, Errors, Logs, Documentation

  • [ ] Can you think of any use case in which the code does not behave as intended? Have they been tested?
  • [ ] Can you think of any inputs or external events that could break the code? Is user input validated and safe? Have they been tested?
  • [ ] If appropriate, are there adequate property based tests?
  • [ ] If appropriate, are there adequate unit tests?
  • [ ] Should any logging, debugging, tracing information be added or removed?
  • [ ] Are error messages user-friendly?
  • [ ] Have all documentation changes needed been made?
  • [ ] Have all non-obvious changes been commented?

System Compatibility

  • [ ] Are there any potential impacts on other parts of the system or backward compatibility?
  • [ ] Does this change intersect with any items on our roadmap, and if so, is there a plan for fitting them together?

Quality

  • [ ] Is this code of a unexpectedly high quality (Readability, Modularity, Intuitiveness)

github-actions[bot] avatar May 11 '24 01:05 github-actions[bot]

Note -- Nomic has a python SDK we could also use to do this but it just hits the same API so didn't seem worth adding a dependency just to hit 1 endpoint.

andrewblum avatar May 11 '24 07:05 andrewblum

Linting issue with the requirements_dev.txt file, should be fixed now. I didn't see it because I had been running --no-verify due to the pre-commit hook returning a ton of mypy errors on code I hadn't touched in embedding_functions.py Did the linting settings get changed since the last time someone ran it against that file?

andrewblum avatar May 15 '24 09:05 andrewblum

@andrewblum, the linter runs this which you can also execute locally to check:

pre-commit run --all-files trailing-whitespace 
pre-commit run --all-files mixed-line-ending
pre-commit run --all-files end-of-file-fixer
pre-commit run --all-files requirements-txt-fixer
pre-commit run --all-files check-xml
pre-commit run --all-files check-merge-conflict
pre-commit run --all-files check-case-conflict
pre-commit run --all-files check-docstring-first
pre-commit run --all-files black
pre-commit run --all-files flake8
pre-commit run --all-files prettier
pre-commit run --all-files check-yaml

tazarov avatar May 15 '24 09:05 tazarov

Thanks for that, those return all green for me locally so it should be good to re-run.

andrewblum avatar May 15 '24 09:05 andrewblum

Our underlying impl has changed and so this PR is not landable as is.

That being said - we'd still like to add this functionality and that is now tracked in this issue.

jeffchuber avatar Sep 15 '24 23:09 jeffchuber