Home / Class/ StreamingStdOutCallbackHandler Class — langchain Architecture

StreamingStdOutCallbackHandler Class — langchain Architecture

Architecture documentation for the StreamingStdOutCallbackHandler class in streaming_stdout.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  6b65bf57_0fa9_b411_5886_294d6dbe5842["StreamingStdOutCallbackHandler"]
  af283d05_75a6_5813_267b_f03a32501460["BaseCallbackHandler"]
  6b65bf57_0fa9_b411_5886_294d6dbe5842 -->|extends| af283d05_75a6_5813_267b_f03a32501460
  e8f1e50c_cc42_5097_9f1d_de69ffcf4a9f["streaming_stdout.py"]
  6b65bf57_0fa9_b411_5886_294d6dbe5842 -->|defined in| e8f1e50c_cc42_5097_9f1d_de69ffcf4a9f
  eaa769c1_d32a_ef50_fa66_f5810a38668d["on_llm_start()"]
  6b65bf57_0fa9_b411_5886_294d6dbe5842 -->|method| eaa769c1_d32a_ef50_fa66_f5810a38668d
  96d82090_b515_98e4_ce10_04ed51dd0d08["on_chat_model_start()"]
  6b65bf57_0fa9_b411_5886_294d6dbe5842 -->|method| 96d82090_b515_98e4_ce10_04ed51dd0d08
  4e0b56bb_932c_190d_a84b_88093cab9f5b["on_llm_new_token()"]
  6b65bf57_0fa9_b411_5886_294d6dbe5842 -->|method| 4e0b56bb_932c_190d_a84b_88093cab9f5b
  e6dcf34b_4146_9acb_b04d_df843dac031c["on_llm_end()"]
  6b65bf57_0fa9_b411_5886_294d6dbe5842 -->|method| e6dcf34b_4146_9acb_b04d_df843dac031c
  09d6b39b_7c8f_ccfc_bdf3_f16c33201bc5["on_llm_error()"]
  6b65bf57_0fa9_b411_5886_294d6dbe5842 -->|method| 09d6b39b_7c8f_ccfc_bdf3_f16c33201bc5
  9d64e139_6985_ab2b_466f_1646821cef65["on_chain_start()"]
  6b65bf57_0fa9_b411_5886_294d6dbe5842 -->|method| 9d64e139_6985_ab2b_466f_1646821cef65
  9249fedf_803a_f7a1_e423_c77943ae91fb["on_chain_end()"]
  6b65bf57_0fa9_b411_5886_294d6dbe5842 -->|method| 9249fedf_803a_f7a1_e423_c77943ae91fb
  fb5bb54e_a3e8_bdf3_88bc_a1a0770412fe["on_chain_error()"]
  6b65bf57_0fa9_b411_5886_294d6dbe5842 -->|method| fb5bb54e_a3e8_bdf3_88bc_a1a0770412fe
  15dec698_fe33_871b_57a9_98f607e8da20["on_tool_start()"]
  6b65bf57_0fa9_b411_5886_294d6dbe5842 -->|method| 15dec698_fe33_871b_57a9_98f607e8da20
  d3e50323_892d_5b1a_d04b_858dc17cea80["on_agent_action()"]
  6b65bf57_0fa9_b411_5886_294d6dbe5842 -->|method| d3e50323_892d_5b1a_d04b_858dc17cea80
  0960c0fc_cb1e_d207_d22a_25da5b5a42a0["on_tool_end()"]
  6b65bf57_0fa9_b411_5886_294d6dbe5842 -->|method| 0960c0fc_cb1e_d207_d22a_25da5b5a42a0
  3231d3f3_27a2_2852_8c88_685f98bb84c7["on_tool_error()"]
  6b65bf57_0fa9_b411_5886_294d6dbe5842 -->|method| 3231d3f3_27a2_2852_8c88_685f98bb84c7

Relationship Graph

Source Code

libs/core/langchain_core/callbacks/streaming_stdout.py lines 18–152

class StreamingStdOutCallbackHandler(BaseCallbackHandler):
    """Callback handler for streaming.

    !!! warning "Only works with LLMs that support streaming."
    """

    def on_llm_start(
        self, serialized: dict[str, Any], prompts: list[str], **kwargs: Any
    ) -> None:
        """Run when LLM starts running.

        Args:
            serialized: The serialized LLM.
            prompts: The prompts to run.
            **kwargs: Additional keyword arguments.
        """

    def on_chat_model_start(
        self,
        serialized: dict[str, Any],
        messages: list[list[BaseMessage]],
        **kwargs: Any,
    ) -> None:
        """Run when LLM starts running.

        Args:
            serialized: The serialized LLM.
            messages: The messages to run.
            **kwargs: Additional keyword arguments.
        """

    @override
    def on_llm_new_token(self, token: str, **kwargs: Any) -> None:
        """Run on new LLM token. Only available when streaming is enabled.

        Args:
            token: The new token.
            **kwargs: Additional keyword arguments.
        """
        sys.stdout.write(token)
        sys.stdout.flush()

    def on_llm_end(self, response: LLMResult, **kwargs: Any) -> None:
        """Run when LLM ends running.

        Args:
            response: The response from the LLM.
            **kwargs: Additional keyword arguments.
        """

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

        Args:
            error: The error that occurred.
            **kwargs: Additional keyword arguments.
        """

    def on_chain_start(
        self, serialized: dict[str, Any], inputs: dict[str, Any], **kwargs: Any
    ) -> None:
        """Run when a chain starts running.

        Args:
            serialized: The serialized chain.
            inputs: The inputs to the chain.
            **kwargs: Additional keyword arguments.
        """

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

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

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

        Args:

Frequently Asked Questions

What is the StreamingStdOutCallbackHandler class?
StreamingStdOutCallbackHandler is a class in the langchain codebase, defined in libs/core/langchain_core/callbacks/streaming_stdout.py.
Where is StreamingStdOutCallbackHandler defined?
StreamingStdOutCallbackHandler is defined in libs/core/langchain_core/callbacks/streaming_stdout.py at line 18.
What does StreamingStdOutCallbackHandler extend?
StreamingStdOutCallbackHandler extends BaseCallbackHandler.

Analyze Your Own Codebase

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

Try Supermodel Free