Home / File/ run_collector.py — langchain Source File

run_collector.py — langchain Source File

Architecture documentation for run_collector.py, a python file in the langchain codebase. 5 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  1e6bf50a_dbac_e5ab_335d_7000b4e70f55["run_collector.py"]
  8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"]
  1e6bf50a_dbac_e5ab_335d_7000b4e70f55 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3
  8dfa0cac_d802_3ccd_f710_43a5e70da3a5["uuid"]
  1e6bf50a_dbac_e5ab_335d_7000b4e70f55 --> 8dfa0cac_d802_3ccd_f710_43a5e70da3a5
  707209ca_c3d6_f9c6_7ec7_2b2df92c9aa3["langchain_core.tracers._compat"]
  1e6bf50a_dbac_e5ab_335d_7000b4e70f55 --> 707209ca_c3d6_f9c6_7ec7_2b2df92c9aa3
  59d7001f_fb28_1819_31fc_7fb0380a8b32["langchain_core.tracers.base"]
  1e6bf50a_dbac_e5ab_335d_7000b4e70f55 --> 59d7001f_fb28_1819_31fc_7fb0380a8b32
  17e2fb09_6b0f_338f_1319_77bc43602969["langchain_core.tracers.schemas"]
  1e6bf50a_dbac_e5ab_335d_7000b4e70f55 --> 17e2fb09_6b0f_338f_1319_77bc43602969
  style 1e6bf50a_dbac_e5ab_335d_7000b4e70f55 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"""A tracer that collects all nested runs in a list."""

from typing import Any
from uuid import UUID

from langchain_core.tracers._compat import run_copy
from langchain_core.tracers.base import BaseTracer
from langchain_core.tracers.schemas import Run


class RunCollectorCallbackHandler(BaseTracer):
    """Tracer that collects all nested runs in a list.

    This tracer is useful for inspection and evaluation purposes.
    """

    name: str = "run-collector_callback_handler"

    def __init__(self, example_id: UUID | str | None = None, **kwargs: Any) -> None:
        """Initialize the `RunCollectorCallbackHandler`.

        Args:
            example_id: The ID of the example being traced.
            **kwargs: Additional keyword arguments.
        """
        super().__init__(**kwargs)
        self.example_id = (
            UUID(example_id) if isinstance(example_id, str) else example_id
        )
        self.traced_runs: list[Run] = []

    def _persist_run(self, run: Run) -> None:
        """Persist a run by adding it to the `traced_runs` list.

        Args:
            run: The run to be persisted.
        """
        run_ = run_copy(run)
        run_.reference_example_id = self.example_id
        self.traced_runs.append(run_)

Subdomains

Dependencies

  • langchain_core.tracers._compat
  • langchain_core.tracers.base
  • langchain_core.tracers.schemas
  • typing
  • uuid

Frequently Asked Questions

What does run_collector.py do?
run_collector.py is a source file in the langchain codebase, written in python. It belongs to the CoreAbstractions domain, RunnableInterface subdomain.
What does run_collector.py depend on?
run_collector.py imports 5 module(s): langchain_core.tracers._compat, langchain_core.tracers.base, langchain_core.tracers.schemas, typing, uuid.
Where is run_collector.py in the architecture?
run_collector.py is located at libs/core/langchain_core/tracers/run_collector.py (domain: CoreAbstractions, subdomain: RunnableInterface, directory: libs/core/langchain_core/tracers).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free