Home / Class/ CallbackManagerForChainRun Class — langchain Architecture

CallbackManagerForChainRun Class — langchain Architecture

Architecture documentation for the CallbackManagerForChainRun class in manager.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  b93bd86b_bc7d_6306_d455_f46332e294fa["CallbackManagerForChainRun"]
  e85ab975_2820_2512_9967_d5636d6c818a["ParentRunManager"]
  b93bd86b_bc7d_6306_d455_f46332e294fa -->|extends| e85ab975_2820_2512_9967_d5636d6c818a
  b793455e_fb4f_5778_19b0_9da3f3207dd5["ChainManagerMixin"]
  b93bd86b_bc7d_6306_d455_f46332e294fa -->|extends| b793455e_fb4f_5778_19b0_9da3f3207dd5
  35cf5db6_bcb1_b854_6ebb_5e0368e51b58["manager.py"]
  b93bd86b_bc7d_6306_d455_f46332e294fa -->|defined in| 35cf5db6_bcb1_b854_6ebb_5e0368e51b58
  906b2e13_7cba_ffa6_1121_b8be799d68d2["on_chain_end()"]
  b93bd86b_bc7d_6306_d455_f46332e294fa -->|method| 906b2e13_7cba_ffa6_1121_b8be799d68d2
  53be8fd5_4ffb_abb1_b63c_18b7fcbba2c4["on_chain_error()"]
  b93bd86b_bc7d_6306_d455_f46332e294fa -->|method| 53be8fd5_4ffb_abb1_b63c_18b7fcbba2c4
  37cc9641_ba91_34b8_3fe6_6dd0e4ccf2e0["on_agent_action()"]
  b93bd86b_bc7d_6306_d455_f46332e294fa -->|method| 37cc9641_ba91_34b8_3fe6_6dd0e4ccf2e0
  235bf91c_f450_7c16_db4b_6ee06b24a8a2["on_agent_finish()"]
  b93bd86b_bc7d_6306_d455_f46332e294fa -->|method| 235bf91c_f450_7c16_db4b_6ee06b24a8a2

Relationship Graph

Source Code

libs/core/langchain_core/callbacks/manager.py lines 855–942

class CallbackManagerForChainRun(ParentRunManager, ChainManagerMixin):
    """Callback manager for chain run."""

    def on_chain_end(self, outputs: dict[str, Any] | Any, **kwargs: Any) -> None:
        """Run when chain ends running.

        Args:
            outputs: The outputs of the chain.
            **kwargs: Additional keyword arguments.

        """
        if not self.handlers:
            return
        handle_event(
            self.handlers,
            "on_chain_end",
            "ignore_chain",
            outputs,
            run_id=self.run_id,
            parent_run_id=self.parent_run_id,
            tags=self.tags,
            **kwargs,
        )

    def on_chain_error(
        self,
        error: BaseException,
        **kwargs: Any,
    ) -> None:
        """Run when chain errors.

        Args:
            error: The error.
            **kwargs: Additional keyword arguments.

        """
        if not self.handlers:
            return
        handle_event(
            self.handlers,
            "on_chain_error",
            "ignore_chain",
            error,
            run_id=self.run_id,
            parent_run_id=self.parent_run_id,
            tags=self.tags,
            **kwargs,
        )

    def on_agent_action(self, action: AgentAction, **kwargs: Any) -> None:
        """Run when agent action is received.

        Args:
            action: The agent action.
            **kwargs: Additional keyword arguments.
        """
        if not self.handlers:
            return
        handle_event(
            self.handlers,
            "on_agent_action",
            "ignore_agent",
            action,
            run_id=self.run_id,
            parent_run_id=self.parent_run_id,
            tags=self.tags,
            **kwargs,
        )

    def on_agent_finish(self, finish: AgentFinish, **kwargs: Any) -> None:
        """Run when agent finish is received.

        Args:
            finish: The agent finish.
            **kwargs: Additional keyword arguments.
        """
        if not self.handlers:
            return
        handle_event(
            self.handlers,
            "on_agent_finish",

Frequently Asked Questions

What is the CallbackManagerForChainRun class?
CallbackManagerForChainRun is a class in the langchain codebase, defined in libs/core/langchain_core/callbacks/manager.py.
Where is CallbackManagerForChainRun defined?
CallbackManagerForChainRun is defined in libs/core/langchain_core/callbacks/manager.py at line 855.
What does CallbackManagerForChainRun extend?
CallbackManagerForChainRun extends ParentRunManager, ChainManagerMixin.

Analyze Your Own Codebase

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

Try Supermodel Free