__init__() — langchain Function Reference
Architecture documentation for the __init__() function in branch.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD d857a65b_857b_e924_118a_bc4f5364cfaa["__init__()"] 8c770be5_e4c6_a7e0_4227_c2085f2c1314["RunnableBranch"] d857a65b_857b_e924_118a_bc4f5364cfaa -->|defined in| 8c770be5_e4c6_a7e0_4227_c2085f2c1314 style d857a65b_857b_e924_118a_bc4f5364cfaa fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/core/langchain_core/runnables/branch.py lines 74–137
def __init__(
self,
*branches: tuple[
Runnable[Input, bool]
| Callable[[Input], bool]
| Callable[[Input], Awaitable[bool]],
RunnableLike,
]
| RunnableLike,
) -> None:
"""A `Runnable` that runs one of two branches based on a condition.
Args:
*branches: A list of `(condition, Runnable)` pairs.
Defaults a `Runnable` to run if no condition is met.
Raises:
ValueError: If the number of branches is less than `2`.
TypeError: If the default branch is not `Runnable`, `Callable` or `Mapping`.
TypeError: If a branch is not a `tuple` or `list`.
ValueError: If a branch is not of length `2`.
"""
if len(branches) < _MIN_BRANCHES:
msg = "RunnableBranch requires at least two branches"
raise ValueError(msg)
default = branches[-1]
if not isinstance(
default,
(Runnable, Callable, Mapping), # type: ignore[arg-type]
):
msg = "RunnableBranch default must be Runnable, callable or mapping."
raise TypeError(msg)
default_ = cast(
"Runnable[Input, Output]", coerce_to_runnable(cast("RunnableLike", default))
)
branches_ = []
for branch in branches[:-1]:
if not isinstance(branch, (tuple, list)):
msg = (
f"RunnableBranch branches must be "
f"tuples or lists, not {type(branch)}"
)
raise TypeError(msg)
if len(branch) != _MIN_BRANCHES:
msg = (
f"RunnableBranch branches must be "
f"tuples or lists of length 2, not {len(branch)}"
)
raise ValueError(msg)
condition, runnable = branch
condition = cast("Runnable[Input, bool]", coerce_to_runnable(condition))
runnable = coerce_to_runnable(runnable)
branches_.append((condition, runnable))
super().__init__(
branches=branches_,
default=default_,
)
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does __init__() do?
__init__() is a function in the langchain codebase, defined in libs/core/langchain_core/runnables/branch.py.
Where is __init__() defined?
__init__() is defined in libs/core/langchain_core/runnables/branch.py at line 74.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free