Home / Function/ init_embeddings() — langchain Function Reference

init_embeddings() — langchain Function Reference

Architecture documentation for the init_embeddings() function in base.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  90dc625b_5ad9_7f37_707f_7db8adb4f177["init_embeddings()"]
  5edec524_25e6_28b9_8133_408bbec653d2["base.py"]
  90dc625b_5ad9_7f37_707f_7db8adb4f177 -->|defined in| 5edec524_25e6_28b9_8133_408bbec653d2
  53e18432_bc2a_ecdf_b7d3_a680a26a7108["_infer_model_and_provider()"]
  90dc625b_5ad9_7f37_707f_7db8adb4f177 -->|calls| 53e18432_bc2a_ecdf_b7d3_a680a26a7108
  514f2145_251e_32a3_b878_b36336e30082["_get_embeddings_class_creator()"]
  90dc625b_5ad9_7f37_707f_7db8adb4f177 -->|calls| 514f2145_251e_32a3_b878_b36336e30082
  style 90dc625b_5ad9_7f37_707f_7db8adb4f177 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain_v1/langchain/embeddings/base.py lines 190–267

def init_embeddings(
    model: str,
    *,
    provider: str | None = None,
    **kwargs: Any,
) -> Embeddings:
    """Initialize an embedding model from a model name and optional provider.

    !!! note

        Requires the integration package for the chosen model provider to be installed.

        See the `model_provider` parameter below for specific package names
        (e.g., `pip install langchain-openai`).

        Refer to the [provider integration's API reference](https://docs.langchain.com/oss/python/integrations/providers)
        for supported model parameters to use as `**kwargs`.

    Args:
        model: The name of the model, e.g. `'openai:text-embedding-3-small'`.

            You can also specify model and model provider in a single argument using
            `'{model_provider}:{model}'` format, e.g. `'openai:text-embedding-3-small'`.
        provider: The model provider if not specified as part of the model arg
            (see above).

            Supported `provider` values and the corresponding integration package
            are:

            - `openai`                  -> [`langchain-openai`](https://docs.langchain.com/oss/python/integrations/providers/openai)
            - `azure_openai`            -> [`langchain-openai`](https://docs.langchain.com/oss/python/integrations/providers/openai)
            - `bedrock`                 -> [`langchain-aws`](https://docs.langchain.com/oss/python/integrations/providers/aws)
            - `cohere`                  -> [`langchain-cohere`](https://docs.langchain.com/oss/python/integrations/providers/cohere)
            - `google_vertexai`         -> [`langchain-google-vertexai`](https://docs.langchain.com/oss/python/integrations/providers/google)
            - `huggingface`             -> [`langchain-huggingface`](https://docs.langchain.com/oss/python/integrations/providers/huggingface)
            - `mistralai`               -> [`langchain-mistralai`](https://docs.langchain.com/oss/python/integrations/providers/mistralai)
            - `ollama`                  -> [`langchain-ollama`](https://docs.langchain.com/oss/python/integrations/providers/ollama)

        **kwargs: Additional model-specific parameters passed to the embedding model.

            These vary by provider. Refer to the specific model provider's
            [integration reference](https://reference.langchain.com/python/integrations/)
            for all available parameters.

    Returns:
        An `Embeddings` instance that can generate embeddings for text.

    Raises:
        ValueError: If the model provider is not supported or cannot be determined
        ImportError: If the required provider package is not installed

    ???+ example

        ```python
        # pip install langchain langchain-openai

        # Using a model string
        model = init_embeddings("openai:text-embedding-3-small")
        model.embed_query("Hello, world!")

        # Using explicit provider
        model = init_embeddings(model="text-embedding-3-small", provider="openai")
        model.embed_documents(["Hello, world!", "Goodbye, world!"])

        # With additional parameters
        model = init_embeddings("openai:text-embedding-3-small", api_key="sk-...")
        ```

    !!! version-added "Added in `langchain` 0.3.9"

    """
    if not model:
        providers = _BUILTIN_PROVIDERS.keys()
        msg = f"Must specify model name. Supported providers are: {', '.join(providers)}"
        raise ValueError(msg)

    provider, model_name = _infer_model_and_provider(model, provider=provider)
    return _get_embeddings_class_creator(provider)(model=model_name, **kwargs)

Domain

Subdomains

Frequently Asked Questions

What does init_embeddings() do?
init_embeddings() is a function in the langchain codebase, defined in libs/langchain_v1/langchain/embeddings/base.py.
Where is init_embeddings() defined?
init_embeddings() is defined in libs/langchain_v1/langchain/embeddings/base.py at line 190.
What does init_embeddings() call?
init_embeddings() calls 2 function(s): _get_embeddings_class_creator, _infer_model_and_provider.

Analyze Your Own Codebase

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

Try Supermodel Free