Home / Function/ _parse_model_string() — langchain Function Reference

_parse_model_string() — langchain Function Reference

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

Entity Profile

Dependency Diagram

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

Relationship Graph

Source Code

libs/langchain_v1/langchain/embeddings/base.py lines 102–154

def _parse_model_string(model_name: str) -> tuple[str, str]:
    """Parse a model string into provider and model name components.

    The model string should be in the format 'provider:model-name', where provider
    is one of the supported providers.

    Args:
        model_name: A model string in the format 'provider:model-name'

    Returns:
        A tuple of (provider, model_name)

    Example:
        ```python
        _parse_model_string("openai:text-embedding-3-small")
        # Returns: ("openai", "text-embedding-3-small")

        _parse_model_string("bedrock:amazon.titan-embed-text-v1")
        # Returns: ("bedrock", "amazon.titan-embed-text-v1")
        ```

    Raises:
        ValueError: If the model string is not in the correct format or
            the provider is unsupported

    """
    if ":" not in model_name:
        msg = (
            f"Invalid model format '{model_name}'.\n"
            f"Model name must be in format 'provider:model-name'\n"
            f"Example valid model strings:\n"
            f"  - openai:text-embedding-3-small\n"
            f"  - bedrock:amazon.titan-embed-text-v1\n"
            f"  - cohere:embed-english-v3.0\n"
            f"Supported providers: {_BUILTIN_PROVIDERS.keys()}"
        )
        raise ValueError(msg)

    provider, model = model_name.split(":", 1)
    provider = provider.lower().strip()
    model = model.strip()

    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)
    if not model:
        msg = "Model name cannot be empty"
        raise ValueError(msg)
    return provider, model

Domain

Subdomains

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free