make_options_spec() — langchain Function Reference
Architecture documentation for the make_options_spec() function in configurable.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 23ac8f22_dc91_7447_3b9c_d1e00136100c["make_options_spec()"] 3e4f3163_58be_ee5e_f841_ae0bd0577190["configurable.py"] 23ac8f22_dc91_7447_3b9c_d1e00136100c -->|defined in| 3e4f3163_58be_ee5e_f841_ae0bd0577190 9aba9777_78af_21f7_c39d_8e5c596fea30["config_specs()"] 9aba9777_78af_21f7_c39d_8e5c596fea30 -->|calls| 23ac8f22_dc91_7447_3b9c_d1e00136100c style 23ac8f22_dc91_7447_3b9c_d1e00136100c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/core/langchain_core/runnables/configurable.py lines 675–716
def make_options_spec(
spec: ConfigurableFieldSingleOption | ConfigurableFieldMultiOption,
description: str | None,
) -> ConfigurableFieldSpec:
"""Make options spec.
Make a `ConfigurableFieldSpec` for a `ConfigurableFieldSingleOption` or
`ConfigurableFieldMultiOption`.
Args:
spec: The `ConfigurableFieldSingleOption` or `ConfigurableFieldMultiOption`.
description: The description to use if the spec does not have one.
Returns:
The `ConfigurableFieldSpec`.
"""
with _enums_for_spec_lock:
if enum := _enums_for_spec.get(spec):
pass
else:
enum = StrEnum( # type: ignore[call-overload]
spec.name or spec.id,
((v, v) for v in list(spec.options.keys())),
)
_enums_for_spec[spec] = cast("type[StrEnum]", enum)
if isinstance(spec, ConfigurableFieldSingleOption):
return ConfigurableFieldSpec(
id=spec.id,
name=spec.name,
description=spec.description or description,
annotation=enum,
default=spec.default,
is_shared=spec.is_shared,
)
return ConfigurableFieldSpec(
id=spec.id,
name=spec.name,
description=spec.description or description,
annotation=Sequence[enum], # type: ignore[valid-type]
default=spec.default,
is_shared=spec.is_shared,
)
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does make_options_spec() do?
make_options_spec() is a function in the langchain codebase, defined in libs/core/langchain_core/runnables/configurable.py.
Where is make_options_spec() defined?
make_options_spec() is defined in libs/core/langchain_core/runnables/configurable.py at line 675.
What calls make_options_spec()?
make_options_spec() is called by 1 function(s): config_specs.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free