Home / Class/ DummyVectorStore Class — langchain Architecture

DummyVectorStore Class — langchain Architecture

Architecture documentation for the DummyVectorStore class in test_similarity.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  7fc89eb6_ea2e_1243_80ad_661e2854d4ff["DummyVectorStore"]
  9d2a2799_754f_4de7_e4e6_081d8ea620e0["VectorStore"]
  7fc89eb6_ea2e_1243_80ad_661e2854d4ff -->|extends| 9d2a2799_754f_4de7_e4e6_081d8ea620e0
  1458705c_6963_08f1_0216_aefb63eadfc8["test_similarity.py"]
  7fc89eb6_ea2e_1243_80ad_661e2854d4ff -->|defined in| 1458705c_6963_08f1_0216_aefb63eadfc8
  5b0c3262_35d3_bf35_c674_2ed116db8f77["__init__()"]
  7fc89eb6_ea2e_1243_80ad_661e2854d4ff -->|method| 5b0c3262_35d3_bf35_c674_2ed116db8f77
  e97cb9dc_85fe_642e_6b51_6d4f9b7ee5e2["embeddings()"]
  7fc89eb6_ea2e_1243_80ad_661e2854d4ff -->|method| e97cb9dc_85fe_642e_6b51_6d4f9b7ee5e2
  5b3edbc1_2c86_df4d_0554_bc77fd0e9eb1["add_texts()"]
  7fc89eb6_ea2e_1243_80ad_661e2854d4ff -->|method| 5b3edbc1_2c86_df4d_0554_bc77fd0e9eb1
  045e5f6f_4cba_7e87_7219_aa85b2c07dae["similarity_search()"]
  7fc89eb6_ea2e_1243_80ad_661e2854d4ff -->|method| 045e5f6f_4cba_7e87_7219_aa85b2c07dae
  9008f9f6_46cc_0356_c006_e5cbdbf04315["max_marginal_relevance_search()"]
  7fc89eb6_ea2e_1243_80ad_661e2854d4ff -->|method| 9008f9f6_46cc_0356_c006_e5cbdbf04315
  9eaf8ed4_7d4d_f66b_8cbd_04fe0c3239cc["from_texts()"]
  7fc89eb6_ea2e_1243_80ad_661e2854d4ff -->|method| 9eaf8ed4_7d4d_f66b_8cbd_04fe0c3239cc

Relationship Graph

Source Code

libs/core/tests/unit_tests/example_selectors/test_similarity.py lines 15–75

class DummyVectorStore(VectorStore):
    def __init__(self, init_arg: str | None = None):
        self.texts: list[str] = []
        self.metadatas: list[dict] = []
        self._embeddings: Embeddings | None = None
        self.init_arg = init_arg

    @property
    def embeddings(self) -> Embeddings | None:
        return self._embeddings

    @override
    def add_texts(
        self,
        texts: Iterable[str],
        metadatas: list[dict] | None = None,
        **kwargs: Any,
    ) -> list[str]:
        self.texts.extend(texts)
        if metadatas:
            self.metadatas.extend(metadatas)
        return ["dummy_id"]

    @override
    def similarity_search(
        self, query: str, k: int = 4, **kwargs: Any
    ) -> list[Document]:
        return [
            Document(
                page_content=query, metadata={"query": query, "k": k, "other": "other"}
            )
        ] * k

    @override
    def max_marginal_relevance_search(
        self,
        query: str,
        k: int = 4,
        fetch_k: int = 20,
        lambda_mult: float = 0.5,
        **kwargs: Any,
    ) -> list[Document]:
        return [
            Document(
                page_content=query,
                metadata={"query": query, "k": k, "fetch_k": fetch_k, "other": "other"},
            )
        ] * k

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

Extends

Frequently Asked Questions

What is the DummyVectorStore class?
DummyVectorStore is a class in the langchain codebase, defined in libs/core/tests/unit_tests/example_selectors/test_similarity.py.
Where is DummyVectorStore defined?
DummyVectorStore is defined in libs/core/tests/unit_tests/example_selectors/test_similarity.py at line 15.
What does DummyVectorStore extend?
DummyVectorStore extends VectorStore.

Analyze Your Own Codebase

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

Try Supermodel Free