Skip to content

Commit

Permalink
community[patch]: deprecate persist method in Chroma (langchain-ai#20855
Browse files Browse the repository at this point in the history
)

Thank you for contributing to LangChain!

- [x] **PR title**

- [x] **PR message**:
- **Description:** Deprecate persist method in Chroma no longer exists
in Chroma 0.4.x
    - **Issue:** langchain-ai#20851 
    - **Dependencies:** None
    - **Twitter handle:** AndresAlgaba1

- [x] **Add tests and docs**: If you're adding a new integration, please
include
1. a test for the integration, preferably unit tests that do not rely on
network access,
2. an example notebook showing its use. It lives in
`docs/docs/integrations` directory.

- [x] **Lint and test**: Run `make format`, `make lint` and `make test`
from the root of the package(s) you've modified. See contribution
guidelines for more: https://python.langchain.com/docs/contributing/

---------

Co-authored-by: Bagatur <[email protected]>
  • Loading branch information
2 people authored and pprados committed Apr 26, 2024
1 parent 4417aa1 commit b0d7bab
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
12 changes: 12 additions & 0 deletions libs/community/langchain_community/vectorstores/chroma.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
)

import numpy as np
from langchain_core._api import deprecated
from langchain_core.documents import Document
from langchain_core.embeddings import Embeddings
from langchain_core.utils import xor_args
Expand Down Expand Up @@ -610,11 +611,22 @@ def get(

return self._collection.get(**kwargs)

@deprecated(
since="0.1.17",
message=(
"Since Chroma 0.4.x the manual persistence method is no longer "
"supported as docs are automatically persisted."
),
removal="0.3.0",
)
def persist(self) -> None:
"""Persist the collection.
This can be used to explicitly persist the data to disk.
It will also be called automatically when the object is destroyed.
Since Chroma 0.4.x the manual persistence method is no longer
supported as docs are automatically persisted.
"""
if self._persist_directory is None:
raise ValueError(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,6 @@ def test_chroma_with_persistence() -> None:
output = docsearch.similarity_search("foo", k=1)
assert output == [Document(page_content="foo")]

docsearch.persist()

# Get a new VectorStore from the persisted directory
docsearch = Chroma(
collection_name=collection_name,
Expand Down

0 comments on commit b0d7bab

Please sign in to comment.