_prepare() — langchain Function Reference
Architecture documentation for the _prepare() function in configurable.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD b220c1ae_9f13_47b1_0fe5_9730a47ac9f2["_prepare()"] 2b6bd8a1_0810_3be0_c02d_ad7e25c2a53b["RunnableConfigurableAlternatives"] b220c1ae_9f13_47b1_0fe5_9730a47ac9f2 -->|defined in| 2b6bd8a1_0810_3be0_c02d_ad7e25c2a53b 0f7c3278_9074_b281_9e8e_b32e354fcc43["_strremoveprefix()"] b220c1ae_9f13_47b1_0fe5_9730a47ac9f2 -->|calls| 0f7c3278_9074_b281_9e8e_b32e354fcc43 d9882f52_ecfa_0ec4_5ce7_dd612f73757f["_prepare()"] b220c1ae_9f13_47b1_0fe5_9730a47ac9f2 -->|calls| d9882f52_ecfa_0ec4_5ce7_dd612f73757f style b220c1ae_9f13_47b1_0fe5_9730a47ac9f2 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/core/langchain_core/runnables/configurable.py lines 612–638
def _prepare(
self, config: RunnableConfig | None = None
) -> tuple[Runnable[Input, Output], RunnableConfig]:
config = ensure_config(config)
which = config.get("configurable", {}).get(self.which.id, self.default_key)
# remap configurable keys for the chosen alternative
if self.prefix_keys:
config = cast(
"RunnableConfig",
{
**config,
"configurable": {
_strremoveprefix(k, f"{self.which.id}=={which}/"): v
for k, v in config.get("configurable", {}).items()
},
},
)
# return the chosen alternative
if which == self.default_key:
return (self.default, config)
if which in self.alternatives:
alt = self.alternatives[which]
if isinstance(alt, Runnable):
return (alt, config)
return (alt(), config)
msg = f"Unknown alternative: {which}"
raise ValueError(msg)
Domain
Subdomains
Source
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 612.
What does _prepare() call?
_prepare() calls 2 function(s): _prepare, _strremoveprefix.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free