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:
Extends
Source
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