_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
Defined In
Source
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