Home / Class/ CustomAddDocumentsVectorstore Class — langchain Architecture

CustomAddDocumentsVectorstore Class — langchain Architecture

Architecture documentation for the CustomAddDocumentsVectorstore class in test_vectorstore.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  772c8084_cd97_39bb_e9dc_0664d06811a8["CustomAddDocumentsVectorstore"]
  6c336ac6_f55c_1ad7_6db3_73dbd71fb625["VectorStore"]
  772c8084_cd97_39bb_e9dc_0664d06811a8 -->|extends| 6c336ac6_f55c_1ad7_6db3_73dbd71fb625
  547b9326_0fd1_ea2c_f15c_82026f35f74c["test_vectorstore.py"]
  772c8084_cd97_39bb_e9dc_0664d06811a8 -->|defined in| 547b9326_0fd1_ea2c_f15c_82026f35f74c
  6527d411_3787_34f8_f3d3_9921d51c1d0a["__init__()"]
  772c8084_cd97_39bb_e9dc_0664d06811a8 -->|method| 6527d411_3787_34f8_f3d3_9921d51c1d0a
  2f8ff0fc_e8aa_b0a3_2e0d_89782118c0c7["add_documents()"]
  772c8084_cd97_39bb_e9dc_0664d06811a8 -->|method| 2f8ff0fc_e8aa_b0a3_2e0d_89782118c0c7
  56866761_9820_0bf7_e63a_bea066fe75f9["get_by_ids()"]
  772c8084_cd97_39bb_e9dc_0664d06811a8 -->|method| 56866761_9820_0bf7_e63a_bea066fe75f9
  a4dd91a1_cd49_7327_2a4c_3a42aaf0fbda["from_texts()"]
  772c8084_cd97_39bb_e9dc_0664d06811a8 -->|method| a4dd91a1_cd49_7327_2a4c_3a42aaf0fbda
  8dec573f_c0c5_92fa_b94d_30c5f77998fe["similarity_search()"]
  772c8084_cd97_39bb_e9dc_0664d06811a8 -->|method| 8dec573f_c0c5_92fa_b94d_30c5f77998fe

Relationship Graph

Source Code

libs/core/tests/unit_tests/vectorstores/test_vectorstore.py lines 74–117

class CustomAddDocumentsVectorstore(VectorStore):
    """A VectorStore that only implements add documents."""

    def __init__(self) -> None:
        self.store: dict[str, Document] = {}

    @override
    def add_documents(
        self,
        documents: list[Document],
        *,
        ids: list[str] | None = None,
        **kwargs: Any,
    ) -> list[str]:
        ids_ = []
        ids_iter = iter(ids or [])
        for document in documents:
            id_ = next(ids_iter) if ids else document.id or str(uuid.uuid4())
            self.store[id_] = Document(
                id=id_, page_content=document.page_content, metadata=document.metadata
            )
            ids_.append(id_)
        return ids_

    def get_by_ids(self, ids: Sequence[str], /) -> list[Document]:
        return [self.store[id_] for id_ in ids if id_ in self.store]

    @classmethod
    @override
    def from_texts(
        cls,
        texts: list[str],
        embedding: Embeddings,
        metadatas: list[dict] | None = None,
        **kwargs: Any,
    ) -> CustomAddDocumentsVectorstore:
        vectorstore = CustomAddDocumentsVectorstore()
        vectorstore.add_texts(texts, metadatas=metadatas, **kwargs)
        return vectorstore

    def similarity_search(
        self, query: str, k: int = 4, **kwargs: Any
    ) -> list[Document]:
        raise NotImplementedError

Extends

Frequently Asked Questions

What is the CustomAddDocumentsVectorstore class?
CustomAddDocumentsVectorstore is a class in the langchain codebase, defined in libs/core/tests/unit_tests/vectorstores/test_vectorstore.py.
Where is CustomAddDocumentsVectorstore defined?
CustomAddDocumentsVectorstore is defined in libs/core/tests/unit_tests/vectorstores/test_vectorstore.py at line 74.
What does CustomAddDocumentsVectorstore extend?
CustomAddDocumentsVectorstore extends VectorStore.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free