Configuration for a Runnable.
Custom values
The TypedDict has total=False set intentionally to:
merge_configsvar_child_runnable_config (a ContextVar that automatically passes
config down the call stack without explicit parameter passing), where
configs are merged rather than replaced# Parent sets tags
chain.invoke(input, config={"tags": ["parent"]})
# Child automatically inherits and can add:
# ensure_config({"tags": ["child"]}) -> {"tags": ["parent", "child"]}RunnableConfig()Tags for this call and any sub-calls (e.g. a Chain calling an LLM).
You can use these to filter calls.
Metadata for this call and any sub-calls (e.g. a Chain calling an LLM).
Keys should be strings, values should be JSON-serializable.
Callbacks for this call and any sub-calls (e.g. a Chain calling an LLM).
Tags are passed to all callbacks, metadata is passed to handle*Start callbacks.
Name for the tracer run for this call.
Defaults to the name of the class.
Maximum number of parallel calls to make.
If not provided, defaults to ThreadPoolExecutor's default.
Maximum number of times a call can recurse.
If not provided, defaults to 25.
Runtime values for attributes previously made configurable on this Runnable,
or sub-Runnable objects, through configurable_fields or
configurable_alternatives.
Check output_schema for a description of the attributes that have been made
configurable.
Unique identifier for the tracer run for this call.
If not provided, a new UUID will be generated.