Home / Function/ _prepare() — langchain Function Reference

_prepare() — langchain Function Reference

Architecture documentation for the _prepare() function in configurable.py from the langchain codebase.

Function python LangChainCore Runnables calls 1 called by 1

Entity Profile

Dependency Diagram

graph TD
  66627a9d_1341_60e9_76ed_2c2a35d4c509["_prepare()"]
  66ff8e6a_23ce_7ddf_e0d3_8bb7929f6499["RunnableConfigurableFields"]
  66627a9d_1341_60e9_76ed_2c2a35d4c509 -->|defined in| 66ff8e6a_23ce_7ddf_e0d3_8bb7929f6499
  d9882f52_ecfa_0ec4_5ce7_dd612f73757f["_prepare()"]
  d9882f52_ecfa_0ec4_5ce7_dd612f73757f -->|calls| 66627a9d_1341_60e9_76ed_2c2a35d4c509
  d9882f52_ecfa_0ec4_5ce7_dd612f73757f["_prepare()"]
  66627a9d_1341_60e9_76ed_2c2a35d4c509 -->|calls| d9882f52_ecfa_0ec4_5ce7_dd612f73757f
  style 66627a9d_1341_60e9_76ed_2c2a35d4c509 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/langchain_core/runnables/configurable.py lines 420–459

    def _prepare(
        self, config: RunnableConfig | None = None
    ) -> tuple[Runnable[Input, Output], RunnableConfig]:
        config = ensure_config(config)
        specs_by_id = {spec.id: (key, spec) for key, spec in self.fields.items()}
        configurable_fields = {
            specs_by_id[k][0]: v
            for k, v in config.get("configurable", {}).items()
            if k in specs_by_id and isinstance(specs_by_id[k][1], ConfigurableField)
        }
        configurable_single_options = {
            k: v.options[(config.get("configurable", {}).get(v.id) or v.default)]
            for k, v in self.fields.items()
            if isinstance(v, ConfigurableFieldSingleOption)
        }
        configurable_multi_options = {
            k: [
                v.options[o]
                for o in config.get("configurable", {}).get(v.id, v.default)
            ]
            for k, v in self.fields.items()
            if isinstance(v, ConfigurableFieldMultiOption)
        }
        configurable = {
            **configurable_fields,
            **configurable_single_options,
            **configurable_multi_options,
        }

        if configurable:
            init_params = {
                k: v
                for k, v in self.default.__dict__.items()
                if k in type(self.default).model_fields
            }
            return (
                self.default.__class__(**{**init_params, **configurable}),
                config,
            )
        return (self.default, config)

Domain

Subdomains

Calls

Called By

Frequently Asked Questions

What does _prepare() do?
_prepare() is a function in the langchain codebase, defined in libs/core/langchain_core/runnables/configurable.py.
Where is _prepare() defined?
_prepare() is defined in libs/core/langchain_core/runnables/configurable.py at line 420.
What does _prepare() call?
_prepare() calls 1 function(s): _prepare.
What calls _prepare()?
_prepare() is called by 1 function(s): _prepare.

Analyze Your Own Codebase

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

Try Supermodel Free