RunTree#
- class langsmith.run_trees.RunTree(
- *,
- id: UUID = None,
- name: str,
- start_time: datetime = None,
- run_type: str = 'chain',
- end_time: datetime | None = None,
- extra: dict = None,
- error: str | None = None,
- serialized: dict | None = None,
- events: list[dict] = None,
- inputs: dict = None,
- outputs: dict | None = None,
- reference_example_id: UUID | None = None,
- parent_run_id: UUID | None = None,
- tags: list[str] | None = None,
- attachments: dict[str, tuple[str, bytes] | Attachment | tuple[str, Path]] | dict[str, AttachmentInfo] = None,
- parent_run: RunTree | None = None,
- parent_dotted_order: str | None = None,
- child_runs: list[RunTree] = None,
- project_name: str = None,
- project_id: UUID | None = None,
- ls_client: Any | None = None,
- dotted_order: str = '',
- trace_id: UUID = '',
- dangerously_allow_filesystem: bool | None = False,
Run Schema with back-references for posting runs.
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
Attributes
client
Return the client.
metadata
Retrieve the metadata (if any).
revision_id
Retrieve the revision ID (if any).
Methods
__init__
(**data)Create a new model by parsing and validating input data from keyword arguments.
add_event
(events)Add an event to the list of events.
add_inputs
(inputs)Upsert the given outputs into the run.
add_metadata
(metadata)Add metadata to the run.
add_outputs
(outputs)Upsert the given outputs into the run.
add_tags
(tags)Add tags to the run.
construct
([_fields_set])Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data.
copy
(*[, include, exclude, update, deep])Duplicate a model, optionally choose which fields to include, exclude and change.
create_child
(name[, run_type, run_id, ...])Add a child run to the run tree.
dict
(*[, include, exclude, by_alias, ...])Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
end
(*[, outputs, error, end_time, events, ...])Set the end time of the run and all child runs.
ensure_dotted_order
(values)Ensure the dotted order of the run.
from_dotted_order
(dotted_order, **kwargs)Create a new 'child' span from the provided dotted order.
from_headers
(headers, **kwargs)Create a new 'parent' span from the provided headers.
from_orm
(obj)from_runnable_config
(config, **kwargs)Create a new 'child' span from the provided runnable config.
get_url
()Return the URL of the run.
infer_defaults
(values)Assign name to the run.
json
(*[, include, exclude, by_alias, ...])Generate a JSON representation of the model, include and exclude arguments as per dict().
parse_file
(path, *[, content_type, ...])parse_obj
(obj)parse_raw
(b, *[, content_type, encoding, ...])patch
()Patch the run tree to the API in a background thread.
post
([exclude_child_runs])Post the run tree to the API asynchronously.
schema
([by_alias, ref_template])schema_json
(*[, by_alias, ref_template])set
(*[, inputs, outputs, tags, metadata])Set the inputs, outputs, tags, and metadata of the run.
Return the RunTree as a dictionary of headers.
update_forward_refs
(**localns)Try to update ForwardRefs on fields based on this Model, globalns and localns.
validate
(value)wait
()Wait for all _futures to complete.
- Parameters:
id (UUID)
name (str)
start_time (datetime)
run_type (str)
end_time (datetime | None)
extra (dict)
error (str | None)
serialized (dict | None)
events (list[dict])
inputs (dict)
outputs (dict | None)
reference_example_id (UUID | None)
parent_run_id (UUID | None)
tags (list[str] | None)
attachments (dict[str, tuple[str, bytes] | Attachment | tuple[str, Path]] | dict[str, AttachmentInfo])
parent_run (RunTree | None)
parent_dotted_order (str | None)
child_runs (list[RunTree])
project_name (str)
project_id (UUID | None)
ls_client (Any | None)
dotted_order (str)
trace_id (UUID)
dangerously_allow_filesystem (bool | None)
- __init__(**data: Any) None #
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
- Parameters:
data (Any)
- Return type:
None
- add_event( ) None [source]#
Add an event to the list of events.
- Parameters:
(Union[ls_schemas.RunEvent (events) – Sequence[dict], dict, str]): The event(s) to be added. It can be a single event, a sequence of events, a sequence of dictionaries, a dictionary, or a string.
Sequence[ls_schemas.RunEvent] – Sequence[dict], dict, str]): The event(s) to be added. It can be a single event, a sequence of events, a sequence of dictionaries, a dictionary, or a string.
events (RunEvent | Sequence[RunEvent] | Sequence[dict] | dict | str)
- Return type:
None
- :paramSequence[dict], dict, str]):
The event(s) to be added. It can be a single event, a sequence of events, a sequence of dictionaries, a dictionary, or a string.
- add_inputs(inputs: dict[str, Any]) None [source]#
Upsert the given outputs into the run.
- Parameters:
outputs (Dict[str, Any]) – A dictionary containing the outputs to be added.
inputs (dict[str, Any])
- Returns:
None
- Return type:
None
- add_metadata(
- metadata: dict[str, Any],
Add metadata to the run.
- Parameters:
metadata (dict[str, Any])
- Return type:
None
- add_outputs(outputs: dict[str, Any]) None [source]#
Upsert the given outputs into the run.
- Parameters:
outputs (Dict[str, Any]) – A dictionary containing the outputs to be added.
- Returns:
None
- Return type:
None
- add_tags(
- tags: Sequence[str] | str,
Add tags to the run.
- Parameters:
tags (Sequence[str] | str)
- Return type:
None
- classmethod construct(
- _fields_set: SetStr | None = None,
- **values: Any,
Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values
- Parameters:
_fields_set (SetStr | None)
values (Any)
- Return type:
Model
- copy(
- *,
- include: AbstractSetIntStr | MappingIntStrAny | None = None,
- exclude: AbstractSetIntStr | MappingIntStrAny | None = None,
- update: DictStrAny | None = None,
- deep: bool = False,
Duplicate a model, optionally choose which fields to include, exclude and change.
- Parameters:
include (AbstractSetIntStr | MappingIntStrAny | None) – fields to include in new model
exclude (AbstractSetIntStr | MappingIntStrAny | None) – fields to exclude from new model, as with values this takes precedence over include
update (DictStrAny | None) – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data
deep (bool) – set to True to make a deep copy of the model
self (Model)
- Returns:
new model instance
- Return type:
Model
- create_child(
- name: str,
- run_type: Literal['tool', 'chain', 'llm', 'retriever', 'embedding', 'prompt', 'parser'] = 'chain',
- *,
- run_id: UUID | str | None = None,
- serialized: dict | None = None,
- inputs: dict | None = None,
- outputs: dict | None = None,
- error: str | None = None,
- reference_example_id: UUID | None = None,
- start_time: datetime | None = None,
- end_time: datetime | None = None,
- tags: list[str] | None = None,
- extra: dict | None = None,
- attachments: dict[str, tuple[str, bytes] | Attachment | tuple[str, Path]] | None = None,
Add a child run to the run tree.
- Parameters:
name (str)
run_type (Literal['tool', 'chain', 'llm', 'retriever', 'embedding', 'prompt', 'parser'])
run_id (UUID | str | None)
serialized (dict | None)
inputs (dict | None)
outputs (dict | None)
error (str | None)
reference_example_id (UUID | None)
start_time (datetime | None)
end_time (datetime | None)
tags (list[str] | None)
extra (dict | None)
attachments (dict[str, tuple[str, bytes] | Attachment | tuple[str, Path]] | None)
- Return type:
- dict(
- *,
- include: AbstractSetIntStr | MappingIntStrAny | None = None,
- exclude: AbstractSetIntStr | MappingIntStrAny | None = None,
- by_alias: bool = False,
- skip_defaults: bool | None = None,
- exclude_unset: bool = False,
- exclude_defaults: bool = False,
- exclude_none: bool = False,
Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
- Parameters:
include (AbstractSetIntStr | MappingIntStrAny | None)
exclude (AbstractSetIntStr | MappingIntStrAny | None)
by_alias (bool)
skip_defaults (bool | None)
exclude_unset (bool)
exclude_defaults (bool)
exclude_none (bool)
- Return type:
DictStrAny
- end(
- *,
- outputs: dict | None = None,
- error: str | None = None,
- end_time: datetime | None = None,
- events: Sequence[RunEvent] | None = None,
- metadata: dict[str, Any] | None = None,
Set the end time of the run and all child runs.
- Parameters:
outputs (dict | None)
error (str | None)
end_time (datetime | None)
events (Sequence[RunEvent] | None)
metadata (dict[str, Any] | None)
- Return type:
None
- classmethod ensure_dotted_order(values: dict) dict [source]#
Ensure the dotted order of the run.
- Parameters:
values (dict)
- Return type:
dict
- classmethod from_dotted_order(
- dotted_order: str,
- **kwargs: Any,
Create a new ‘child’ span from the provided dotted order.
- Returns:
The new span.
- Return type:
- Parameters:
dotted_order (str)
kwargs (Any)
- classmethod from_headers(
- headers: Mapping[str | bytes, str | bytes],
- **kwargs: Any,
Create a new ‘parent’ span from the provided headers.
Extracts parent span information from the headers and creates a new span. Metadata and tags are extracted from the baggage header. The dotted order and trace id are extracted from the trace header.
- Returns:
- The new span or None if
no parent span information is found.
- Return type:
Optional[RunTree]
- Parameters:
headers (Mapping[str | bytes, str | bytes])
kwargs (Any)
- classmethod from_orm(obj: Any) Model #
- Parameters:
obj (Any)
- Return type:
Model
- classmethod from_runnable_config(
- config: dict | None,
- **kwargs: Any,
Create a new ‘child’ span from the provided runnable config.
Requires langchain to be installed.
- Returns:
- The new span or None if
no parent span information is found.
- Return type:
Optional[RunTree]
- Parameters:
config (dict | None)
kwargs (Any)
- classmethod infer_defaults(values: dict) dict [source]#
Assign name to the run.
- Parameters:
values (dict)
- Return type:
dict
- json(
- *,
- include: AbstractSetIntStr | MappingIntStrAny | None = None,
- exclude: AbstractSetIntStr | MappingIntStrAny | None = None,
- by_alias: bool = False,
- skip_defaults: bool | None = None,
- exclude_unset: bool = False,
- exclude_defaults: bool = False,
- exclude_none: bool = False,
- encoder: Callable[[Any], Any] | None = None,
- models_as_dict: bool = True,
- **dumps_kwargs: Any,
Generate a JSON representation of the model, include and exclude arguments as per dict().
encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().
- Parameters:
include (AbstractSetIntStr | MappingIntStrAny | None)
exclude (AbstractSetIntStr | MappingIntStrAny | None)
by_alias (bool)
skip_defaults (bool | None)
exclude_unset (bool)
exclude_defaults (bool)
exclude_none (bool)
encoder (Callable[[Any], Any] | None)
models_as_dict (bool)
dumps_kwargs (Any)
- Return type:
str
- classmethod parse_file(
- path: str | Path,
- *,
- content_type: str = None,
- encoding: str = 'utf8',
- proto: Protocol = None,
- allow_pickle: bool = False,
- Parameters:
path (str | Path)
content_type (str)
encoding (str)
proto (Protocol)
allow_pickle (bool)
- Return type:
Model
- classmethod parse_obj(obj: Any) Model #
- Parameters:
obj (Any)
- Return type:
Model
- classmethod parse_raw(
- b: str | bytes,
- *,
- content_type: str = None,
- encoding: str = 'utf8',
- proto: Protocol = None,
- allow_pickle: bool = False,
- Parameters:
b (str | bytes)
content_type (str)
encoding (str)
proto (Protocol)
allow_pickle (bool)
- Return type:
Model
- post(exclude_child_runs: bool = True) None [source]#
Post the run tree to the API asynchronously.
- Parameters:
exclude_child_runs (bool)
- Return type:
None
- classmethod schema(
- by_alias: bool = True,
- ref_template: str = '#/definitions/{model}',
- Parameters:
by_alias (bool)
ref_template (str)
- Return type:
DictStrAny
- classmethod schema_json(
- *,
- by_alias: bool = True,
- ref_template: str = '#/definitions/{model}',
- **dumps_kwargs: Any,
- Parameters:
by_alias (bool)
ref_template (str)
dumps_kwargs (Any)
- Return type:
str
- set(
- *,
- inputs: ~collections.abc.Mapping[str,
- ~typing.Any] | None = <object object>,
- outputs: ~collections.abc.Mapping[str,
- ~typing.Any] | None = <object object>,
- tags: ~collections.abc.Sequence[str] | None = <object object>,
- metadata: ~collections.abc.Mapping[str,
- ~typing.Any] | None = <object object>,
Set the inputs, outputs, tags, and metadata of the run.
If performed, this will override the default behavior of the end() method to ignore new outputs (that would otherwise be added) by the @traceable decorator.
If your LangChain or LangGraph versions are sufficiently up-to-date, this will also override the default behavior LangChainTracer.
- Parameters:
inputs (Mapping[str, Any] | None) – The inputs to set.
outputs (Mapping[str, Any] | None) – The outputs to set.
tags (Sequence[str] | None) – The tags to set.
metadata (Mapping[str, Any] | None) – The metadata to set.
- Returns:
None
- Return type:
None
- to_headers() dict[str, str] [source]#
Return the RunTree as a dictionary of headers.
- Return type:
dict[str, str]
- classmethod update_forward_refs(**localns: Any) None #
Try to update ForwardRefs on fields based on this Model, globalns and localns.
- Parameters:
localns (Any)
- Return type:
None
- classmethod validate(value: Any) Model #
- Parameters:
value (Any)
- Return type:
Model