Home / File/ test_similarity.py — langchain Source File

test_similarity.py — langchain Source File

Architecture documentation for test_similarity.py, a python file in the langchain codebase. 7 imports, 0 dependents.

File python CoreAbstractions Serialization 7 imports 10 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  1458705c_6963_08f1_0216_aefb63eadfc8["test_similarity.py"]
  cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7["collections.abc"]
  1458705c_6963_08f1_0216_aefb63eadfc8 --> cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7
  8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"]
  1458705c_6963_08f1_0216_aefb63eadfc8 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3
  91721f45_4909_e489_8c1f_084f8bd87145["typing_extensions"]
  1458705c_6963_08f1_0216_aefb63eadfc8 --> 91721f45_4909_e489_8c1f_084f8bd87145
  c554676d_b731_47b2_a98f_c1c2d537c0aa["langchain_core.documents"]
  1458705c_6963_08f1_0216_aefb63eadfc8 --> c554676d_b731_47b2_a98f_c1c2d537c0aa
  bc46b61d_cfdf_3f6b_a9dd_ac2a328d84b3["langchain_core.embeddings"]
  1458705c_6963_08f1_0216_aefb63eadfc8 --> bc46b61d_cfdf_3f6b_a9dd_ac2a328d84b3
  a4804e3f_4fa3_c9fc_7121_e057c2daa7e3["langchain_core.example_selectors"]
  1458705c_6963_08f1_0216_aefb63eadfc8 --> a4804e3f_4fa3_c9fc_7121_e057c2daa7e3
  d55af636_303c_0eb6_faee_20d89bd952d5["langchain_core.vectorstores"]
  1458705c_6963_08f1_0216_aefb63eadfc8 --> d55af636_303c_0eb6_faee_20d89bd952d5
  style 1458705c_6963_08f1_0216_aefb63eadfc8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

from collections.abc import Iterable
from typing import Any

from typing_extensions import override

from langchain_core.documents import Document
from langchain_core.embeddings import Embeddings, FakeEmbeddings
from langchain_core.example_selectors import (
    MaxMarginalRelevanceExampleSelector,
    SemanticSimilarityExampleSelector,
)
from langchain_core.vectorstores import VectorStore


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"},
// ... (188 more lines)

Subdomains

Dependencies

  • collections.abc
  • langchain_core.documents
  • langchain_core.embeddings
  • langchain_core.example_selectors
  • langchain_core.vectorstores
  • typing
  • typing_extensions

Frequently Asked Questions

What does test_similarity.py do?
test_similarity.py is a source file in the langchain codebase, written in python. It belongs to the CoreAbstractions domain, Serialization subdomain.
What functions are defined in test_similarity.py?
test_similarity.py defines 10 function(s): test_aadd_example, test_add_example, test_afrom_examples, test_aselect_examples, test_from_examples, test_mmr_afrom_examples, test_mmr_aselect_examples, test_mmr_from_examples, test_mmr_select_examples, test_select_examples.
What does test_similarity.py depend on?
test_similarity.py imports 7 module(s): collections.abc, langchain_core.documents, langchain_core.embeddings, langchain_core.example_selectors, langchain_core.vectorstores, typing, typing_extensions.
Where is test_similarity.py in the architecture?
test_similarity.py is located at libs/core/tests/unit_tests/example_selectors/test_similarity.py (domain: CoreAbstractions, subdomain: Serialization, directory: libs/core/tests/unit_tests/example_selectors).

Analyze Your Own Codebase

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

Try Supermodel Free