Home / Function/ _insert_input_variables() — langchain Function Reference

_insert_input_variables() — langchain Function Reference

Architecture documentation for the _insert_input_variables() function in dict.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  f890c3fc_f11b_01fb_8c12_833f8396b4a5["_insert_input_variables()"]
  d31ac8f6_f369_3202_2fdc_84c37eba4e57["dict.py"]
  f890c3fc_f11b_01fb_8c12_833f8396b4a5 -->|defined in| d31ac8f6_f369_3202_2fdc_84c37eba4e57
  bb0b608c_59c9_0fe2_d2b0_9aac161c0550["format()"]
  bb0b608c_59c9_0fe2_d2b0_9aac161c0550 -->|calls| f890c3fc_f11b_01fb_8c12_833f8396b4a5
  style f890c3fc_f11b_01fb_8c12_833f8396b4a5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/langchain_core/prompts/dict.py lines 118–150

def _insert_input_variables(
    template: dict[str, Any],
    inputs: dict[str, Any],
    template_format: Literal["f-string", "mustache"],
) -> dict[str, Any]:
    formatted: dict[str, Any] = {}
    formatter = DEFAULT_FORMATTER_MAPPING[template_format]
    for k, v in template.items():
        if isinstance(v, str):
            formatted[k] = formatter(v, **inputs)
        elif isinstance(v, dict):
            if k == "image_url" and "path" in v:
                msg = (
                    "Specifying image inputs via file path in environments with "
                    "user-input paths is a security vulnerability. Out of an abundance "
                    "of caution, the utility has been removed to prevent possible "
                    "misuse."
                )
                warnings.warn(msg, stacklevel=2)
            formatted[k] = _insert_input_variables(v, inputs, template_format)
        elif isinstance(v, (list, tuple)):
            formatted_v: list[str | dict[str, Any]] = []
            for x in v:
                if isinstance(x, str):
                    formatted_v.append(formatter(x, **inputs))
                elif isinstance(x, dict):
                    formatted_v.append(
                        _insert_input_variables(x, inputs, template_format)
                    )
            formatted[k] = type(v)(formatted_v)
        else:
            formatted[k] = v
    return formatted

Subdomains

Called By

Frequently Asked Questions

What does _insert_input_variables() do?
_insert_input_variables() is a function in the langchain codebase, defined in libs/core/langchain_core/prompts/dict.py.
Where is _insert_input_variables() defined?
_insert_input_variables() is defined in libs/core/langchain_core/prompts/dict.py at line 118.
What calls _insert_input_variables()?
_insert_input_variables() is called by 1 function(s): format.

Analyze Your Own Codebase

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

Try Supermodel Free