Skip to content
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

python: add chroma memory store #957

Merged
merged 38 commits into from
May 17, 2023
Merged

python: add chroma memory store #957

merged 38 commits into from
May 17, 2023

Conversation

joowon-dm-snu
Copy link
Contributor

@joowon-dm-snu joowon-dm-snu commented May 11, 2023

Add support for Chroma https://docs.trychroma.com/

Chroma is the open-source embedding database. Chroma makes it easy to build LLM apps by making knowledge, facts, and skills pluggable for LLMs.

Motivation and Context

@joowon-dm-snu joowon-dm-snu changed the title feat: add chroma memory store python: add chroma memory store May 11, 2023
@github-actions github-actions bot added the python Pull requests for the Python Semantic Kernel label May 11, 2023
@joowon-dm-snu
Copy link
Contributor Author

its draft, i'll add tests and update poetry soon

@alexchaomander
Copy link
Contributor

Thanks for reopening this! Excited to get this in soon!

Copy link
Contributor

@awharrison-28 awharrison-28 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks solid.

Aside from some typos and defunct references, can you move the Chroma files to semantic_kernel/connectors/memory/chroma? That is where we are putting connectors with optional dependencies right now.

TYSM

Copy link
Contributor

@awharrison-28 awharrison-28 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Plugged the ChromaMemoryStore into notebook 07.

It seems to be using SentenceTransformerEmbeddingFunction as the embedding function as default instead of "DoNotUseChromaEmbeddingFunction"

Other than that, with my suggestions, it works!

@lemillermicrosoft
Copy link
Member

Consider updating FEATURE_MATRIX.md to include these changes in the Connectors and Skill Libraries section.

@joowon-dm-snu
Copy link
Contributor Author

@awharrison-28 i think its almost done

@awharrison-28
Copy link
Contributor

@joowon-dm-snu I just pushed a small change to the unit test workflow to hopefully fix the build issue for MacOS + Python 3.11

@awharrison-28
Copy link
Contributor

@joowon-dm-snu finally got a solution that works!

awharrison-28
awharrison-28 previously approved these changes May 17, 2023
mkarle
mkarle previously approved these changes May 17, 2023
@dluc dluc dismissed stale reviews from mkarle and awharrison-28 via ee968d4 May 17, 2023 20:29
@dluc dluc dismissed their stale review May 17, 2023 20:30

changes applied

@dluc dluc enabled auto-merge (squash) May 17, 2023 20:32
@dluc dluc merged commit 7066a4c into microsoft:main May 17, 2023
29 checks passed
shawncal pushed a commit to johnoliver/semantic-kernel that referenced this pull request May 19, 2023
Add support for Chroma https://docs.trychroma.com/

> Chroma is the open-source embedding database. Chroma makes it easy to
build LLM apps by making knowledge, facts, and skills pluggable for
LLMs.

### Motivation and Context

* microsoft#403 Support for Chroma embedding database
* microsoft#426 Python: feat: add chroma memory store
* microsoft#449 Python: feat: add chroma memory store

---------

Co-authored-by: Abby Harrison <54643756+awharrison-28@users.noreply.github.com>
Co-authored-by: Abby Harrison <abby.harrison@microsoft.com>
Co-authored-by: Devis Lucato <dluc@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
python Pull requests for the Python Semantic Kernel
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants