Home / Function/ _infer_model_and_provider() — langchain Function Reference

_infer_model_and_provider() — langchain Function Reference

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

Entity Profile

Dependency Diagram

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

Relationship Graph

Source Code

libs/langchain_v1/langchain/embeddings/base.py lines 157–187

def _infer_model_and_provider(
    model: str,
    *,
    provider: str | None = None,
) -> tuple[str, str]:
    if not model.strip():
        msg = "Model name cannot be empty"
        raise ValueError(msg)
    if provider is None and ":" in model:
        provider, model_name = _parse_model_string(model)
    else:
        model_name = model

    if not provider:
        msg = (
            "Must specify either:\n"
            "1. A model string in format 'provider:model-name'\n"
            "   Example: 'openai:text-embedding-3-small'\n"
            "2. Or explicitly set provider from: "
            f"{_BUILTIN_PROVIDERS.keys()}"
        )
        raise ValueError(msg)

    if provider not in _BUILTIN_PROVIDERS:
        msg = (
            f"Provider '{provider}' is not supported.\n"
            f"Supported providers and their required packages:\n"
            f"{_get_provider_list()}"
        )
        raise ValueError(msg)
    return provider, model_name

Domain

Subdomains

Called By

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free