Home / Class/ FakeEmbeddings Class — langchain Architecture

FakeEmbeddings Class — langchain Architecture

Architecture documentation for the FakeEmbeddings class in fake.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  9491de7c_85e2_4609_a3a9_4bb85636e25f["FakeEmbeddings"]
  c58e6864_9429_b081_883b_39ba15df0485["Embeddings"]
  9491de7c_85e2_4609_a3a9_4bb85636e25f -->|extends| c58e6864_9429_b081_883b_39ba15df0485
  11efe23b_60e7_3caa_e6e9_4e2ebbca866c["fake.py"]
  9491de7c_85e2_4609_a3a9_4bb85636e25f -->|defined in| 11efe23b_60e7_3caa_e6e9_4e2ebbca866c
  8b1316d9_8c18_6240_8bc9_3bce4cb1d7a1["_get_embedding()"]
  9491de7c_85e2_4609_a3a9_4bb85636e25f -->|method| 8b1316d9_8c18_6240_8bc9_3bce4cb1d7a1
  df8bec97_8167_af35_b721_74752fd30a25["embed_documents()"]
  9491de7c_85e2_4609_a3a9_4bb85636e25f -->|method| df8bec97_8167_af35_b721_74752fd30a25
  7a91a4a0_3519_f131_827d_0636b1a03fb2["embed_query()"]
  9491de7c_85e2_4609_a3a9_4bb85636e25f -->|method| 7a91a4a0_3519_f131_827d_0636b1a03fb2

Relationship Graph

Source Code

libs/core/langchain_core/embeddings/fake.py lines 16–67

class FakeEmbeddings(Embeddings, BaseModel):
    """Fake embedding model for unit testing purposes.

    This embedding model creates embeddings by sampling from a normal distribution.

    !!! danger "Toy model"
        Do not use this outside of testing, as it is not a real embedding model.

    Instantiate:
        ```python
        from langchain_core.embeddings import FakeEmbeddings

        embed = FakeEmbeddings(size=100)
        ```

    Embed single text:
        ```python
        input_text = "The meaning of life is 42"
        vector = embed.embed_query(input_text)
        print(vector[:3])
        ```
        ```python
        [-0.700234640213188, -0.581266257710429, -1.1328482266445354]
        ```

    Embed multiple texts:
        ```python
        input_texts = ["Document 1...", "Document 2..."]
        vectors = embed.embed_documents(input_texts)
        print(len(vectors))
        # The first 3 coordinates for the first vector
        print(vectors[0][:3])
        ```
        ```python
        2
        [-0.5670477847544458, -0.31403828652395727, -0.5840547508955257]
        ```
    """

    size: int
    """The size of the embedding vector."""

    def _get_embedding(self) -> list[float]:
        return list(np.random.default_rng().normal(size=self.size))

    @override
    def embed_documents(self, texts: list[str]) -> list[list[float]]:
        return [self._get_embedding() for _ in texts]

    @override
    def embed_query(self, text: str) -> list[float]:
        return self._get_embedding()

Extends

Frequently Asked Questions

What is the FakeEmbeddings class?
FakeEmbeddings is a class in the langchain codebase, defined in libs/core/langchain_core/embeddings/fake.py.
Where is FakeEmbeddings defined?
FakeEmbeddings is defined in libs/core/langchain_core/embeddings/fake.py at line 16.
What does FakeEmbeddings extend?
FakeEmbeddings extends Embeddings.

Analyze Your Own Codebase

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

Try Supermodel Free