AsyncCallbackManager Class — langchain Architecture
Architecture documentation for the AsyncCallbackManager class in manager.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 351e9b50_c4fb_2046_1e46_9c34747d671c["AsyncCallbackManager"] 6941cf5d_ae5f_e8ff_093f_1e580e3665f7["BaseCallbackManager"] 351e9b50_c4fb_2046_1e46_9c34747d671c -->|extends| 6941cf5d_ae5f_e8ff_093f_1e580e3665f7 35cf5db6_bcb1_b854_6ebb_5e0368e51b58["manager.py"] 351e9b50_c4fb_2046_1e46_9c34747d671c -->|defined in| 35cf5db6_bcb1_b854_6ebb_5e0368e51b58 36c81985_9246_9991_432b_526c749ee50d["is_async()"] 351e9b50_c4fb_2046_1e46_9c34747d671c -->|method| 36c81985_9246_9991_432b_526c749ee50d 41abfd88_66f9_e82d_7179_b787beb61d63["on_llm_start()"] 351e9b50_c4fb_2046_1e46_9c34747d671c -->|method| 41abfd88_66f9_e82d_7179_b787beb61d63 87bfe5a6_cfdc_17e5_ff2a_1d40fca2292d["on_chat_model_start()"] 351e9b50_c4fb_2046_1e46_9c34747d671c -->|method| 87bfe5a6_cfdc_17e5_ff2a_1d40fca2292d ddc84dc9_3ff8_b87b_43e9_d2738540d6cc["on_chain_start()"] 351e9b50_c4fb_2046_1e46_9c34747d671c -->|method| ddc84dc9_3ff8_b87b_43e9_d2738540d6cc 11dd6125_4d43_b7d6_5903_5934d3a1ca14["on_tool_start()"] 351e9b50_c4fb_2046_1e46_9c34747d671c -->|method| 11dd6125_4d43_b7d6_5903_5934d3a1ca14 4905a1fc_f96e_f64e_0585_ac9885370ac9["on_custom_event()"] 351e9b50_c4fb_2046_1e46_9c34747d671c -->|method| 4905a1fc_f96e_f64e_0585_ac9885370ac9 153dc2bf_2edc_581a_d68f_33d14a1ed3d2["on_retriever_start()"] 351e9b50_c4fb_2046_1e46_9c34747d671c -->|method| 153dc2bf_2edc_581a_d68f_33d14a1ed3d2 cc59e5e2_3c97_43ef_cfa9_3887ae8c9c0d["configure()"] 351e9b50_c4fb_2046_1e46_9c34747d671c -->|method| cc59e5e2_3c97_43ef_cfa9_3887ae8c9c0d
Relationship Graph
Source Code
libs/core/langchain_core/callbacks/manager.py lines 1777–2163
class AsyncCallbackManager(BaseCallbackManager):
"""Async callback manager that handles callbacks from LangChain."""
@property
def is_async(self) -> bool:
"""Return whether the handler is async."""
return True
async def on_llm_start(
self,
serialized: dict[str, Any],
prompts: list[str],
run_id: UUID | None = None,
**kwargs: Any,
) -> list[AsyncCallbackManagerForLLMRun]:
"""Run when LLM starts running.
Args:
serialized: The serialized LLM.
prompts: The list of prompts.
run_id: The ID of the run.
**kwargs: Additional keyword arguments.
Returns:
The list of async callback managers, one for each LLM run corresponding to
each prompt.
"""
inline_tasks = []
non_inline_tasks = []
inline_handlers = [handler for handler in self.handlers if handler.run_inline]
non_inline_handlers = [
handler for handler in self.handlers if not handler.run_inline
]
managers = []
for prompt in prompts:
if run_id is not None:
run_id_ = run_id
run_id = None
else:
run_id_ = uuid7()
if inline_handlers:
inline_tasks.append(
ahandle_event(
inline_handlers,
"on_llm_start",
"ignore_llm",
serialized,
[prompt],
run_id=run_id_,
parent_run_id=self.parent_run_id,
tags=self.tags,
metadata=self.metadata,
**kwargs,
)
)
else:
non_inline_tasks.append(
ahandle_event(
non_inline_handlers,
"on_llm_start",
"ignore_llm",
serialized,
[prompt],
run_id=run_id_,
parent_run_id=self.parent_run_id,
tags=self.tags,
metadata=self.metadata,
**kwargs,
)
)
managers.append(
AsyncCallbackManagerForLLMRun(
run_id=run_id_,
handlers=self.handlers,
inheritable_handlers=self.inheritable_handlers,
parent_run_id=self.parent_run_id,
tags=self.tags,
inheritable_tags=self.inheritable_tags,
Extends
Source
Frequently Asked Questions
What is the AsyncCallbackManager class?
AsyncCallbackManager is a class in the langchain codebase, defined in libs/core/langchain_core/callbacks/manager.py.
Where is AsyncCallbackManager defined?
AsyncCallbackManager is defined in libs/core/langchain_core/callbacks/manager.py at line 1777.
What does AsyncCallbackManager extend?
AsyncCallbackManager extends BaseCallbackManager.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free