Home / Function/ make_options_spec() — langchain Function Reference

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,
    )

Subdomains

Called By

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