Home / Function/ _build_model_kwargs() — langchain Function Reference

_build_model_kwargs() — langchain Function Reference

Architecture documentation for the _build_model_kwargs() function in utils.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  b9541f39_801e_7687_0ae3_8d3c074d7492["_build_model_kwargs()"]
  b77fd012_b825_e350_c8f5_a8f1b44997d9["utils.py"]
  b9541f39_801e_7687_0ae3_8d3c074d7492 -->|defined in| b77fd012_b825_e350_c8f5_a8f1b44997d9
  style b9541f39_801e_7687_0ae3_8d3c074d7492 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/langchain_core/utils/utils.py lines 216–258

def _build_model_kwargs(
    values: dict[str, Any],
    all_required_field_names: set[str],
) -> dict[str, Any]:
    """Build `model_kwargs` param from Pydantic constructor values.

    Args:
        values: All init args passed in by user.
        all_required_field_names: All required field names for the pydantic class.

    Returns:
        Extra kwargs.

    Raises:
        ValueError: If a field is specified in both `values` and `extra_kwargs`.
        ValueError: If a field is specified in `model_kwargs`.
    """
    extra_kwargs = values.get("model_kwargs", {})
    for field_name in list(values):
        if field_name in extra_kwargs:
            msg = f"Found {field_name} supplied twice."
            raise ValueError(msg)
        if field_name not in all_required_field_names:
            warnings.warn(
                f"""WARNING! {field_name} is not default parameter.
                {field_name} was transferred to model_kwargs.
                Please confirm that {field_name} is what you intended.""",
                stacklevel=7,
            )
            extra_kwargs[field_name] = values.pop(field_name)

    invalid_model_kwargs = all_required_field_names.intersection(extra_kwargs.keys())
    if invalid_model_kwargs:
        warnings.warn(
            f"Parameters {invalid_model_kwargs} should be specified explicitly. "
            f"Instead they were passed in as part of `model_kwargs` parameter.",
            stacklevel=7,
        )
        for k in invalid_model_kwargs:
            values[k] = extra_kwargs.pop(k)

    values["model_kwargs"] = extra_kwargs
    return values

Domain

Subdomains

Frequently Asked Questions

What does _build_model_kwargs() do?
_build_model_kwargs() is a function in the langchain codebase, defined in libs/core/langchain_core/utils/utils.py.
Where is _build_model_kwargs() defined?
_build_model_kwargs() is defined in libs/core/langchain_core/utils/utils.py at line 216.

Analyze Your Own Codebase

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

Try Supermodel Free