[PR #5015] feat: support Chroma vector store #24737

Closed
opened 2026-02-21 20:23:35 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/5015

State: closed
Merged: Yes


Description

  • chroma is one of popular vector db for storing embeddings: https://docs.trychroma.com/
  • using chromadb library to connect chroma db : https://pypi.org/project/chromadb/
  • add tests for ChromaVector
  • removed tenacity dependency, for two main reasons, 1. tenacity is never directly used, 2. chromadb library requires tenacity>=8.2.3 as transparent dependency

Type of Change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update, included: Dify Document
  • Improvement, including but not limited to code refactoring, performance optimization, and UI/UX improvement
  • Dependency upgrade

How Has This Been Tested?

  • add ChromaVectorTest integration tests with dockerfile

Suggested Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
  • optional I have made corresponding changes to the documentation
  • optional I have added tests that prove my fix is effective or that my feature works
  • optional New and existing unit tests pass locally with my changes
**Original Pull Request:** https://github.com/langgenius/dify/pull/5015 **State:** closed **Merged:** Yes --- # Description - chroma is one of popular vector db for storing embeddings: https://docs.trychroma.com/ - using `chromadb` library to connect chroma db : https://pypi.org/project/chromadb/ - `chromadb-client` is not used, which is a lighter HTTP client-only library. it seems does not have stable version release, as all the released version has a `dev*` appendix. (https://pypi.org/project/chromadb-client/#description) - add tests for ChromaVector - removed `tenacity` dependency, for two main reasons, 1. `tenacity` is never directly used, 2. `chromadb` library requires `tenacity>=8.2.3` as transparent dependency ## Type of Change Please delete options that are not relevant. - [ ] Bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [ ] Improvement, including but not limited to code refactoring, performance optimization, and UI/UX improvement - [ ] Dependency upgrade # How Has This Been Tested? - [x] add `ChromaVectorTest` integration tests with dockerfile # Suggested Checklist: - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [x] My changes generate no new warnings - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods - [ ] `optional` I have made corresponding changes to the documentation - [ ] `optional` I have added tests that prove my fix is effective or that my feature works - [ ] `optional` New and existing unit tests pass locally with my changes
yindo added the pull-request label 2026-02-21 20:23:35 -05:00
yindo closed this issue 2026-02-21 20:23:35 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#24737