CallbackManagerForChainGroup Class — langchain Architecture
Architecture documentation for the CallbackManagerForChainGroup class in manager.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 29a19b13_ef3d_f594_54ac_21da3c1a8030["CallbackManagerForChainGroup"] 6d562bf2_4eaf_9d7e_e2d7_c0b64e8922fb["CallbackManager"] 29a19b13_ef3d_f594_54ac_21da3c1a8030 -->|extends| 6d562bf2_4eaf_9d7e_e2d7_c0b64e8922fb 35cf5db6_bcb1_b854_6ebb_5e0368e51b58["manager.py"] 29a19b13_ef3d_f594_54ac_21da3c1a8030 -->|defined in| 35cf5db6_bcb1_b854_6ebb_5e0368e51b58 0c32461d_1c81_5ba3_a956_2805b19ff9de["__init__()"] 29a19b13_ef3d_f594_54ac_21da3c1a8030 -->|method| 0c32461d_1c81_5ba3_a956_2805b19ff9de 425ad577_97d1_f61f_d840_885c0defb848["copy()"] 29a19b13_ef3d_f594_54ac_21da3c1a8030 -->|method| 425ad577_97d1_f61f_d840_885c0defb848 bd427c72_7003_97e4_a829_bcc4121bf201["merge()"] 29a19b13_ef3d_f594_54ac_21da3c1a8030 -->|method| bd427c72_7003_97e4_a829_bcc4121bf201 2f427cc2_2c7a_8975_55b4_cdba9d745912["on_chain_end()"] 29a19b13_ef3d_f594_54ac_21da3c1a8030 -->|method| 2f427cc2_2c7a_8975_55b4_cdba9d745912 4d4bcb4a_eb18_210d_e08a_0bc6f3c6eaf9["on_chain_error()"] 29a19b13_ef3d_f594_54ac_21da3c1a8030 -->|method| 4d4bcb4a_eb18_210d_e08a_0bc6f3c6eaf9
Relationship Graph
Source Code
libs/core/langchain_core/callbacks/manager.py lines 1646–1774
class CallbackManagerForChainGroup(CallbackManager):
"""Callback manager for the chain group."""
def __init__(
self,
handlers: list[BaseCallbackHandler],
inheritable_handlers: list[BaseCallbackHandler] | None = None,
parent_run_id: UUID | None = None,
*,
parent_run_manager: CallbackManagerForChainRun,
**kwargs: Any,
) -> None:
"""Initialize the callback manager.
Args:
handlers: The list of handlers.
inheritable_handlers: The list of inheritable handlers.
parent_run_id: The ID of the parent run.
parent_run_manager: The parent run manager.
**kwargs: Additional keyword arguments.
"""
super().__init__(
handlers,
inheritable_handlers,
parent_run_id,
**kwargs,
)
self.parent_run_manager = parent_run_manager
self.ended = False
@override
def copy(self) -> CallbackManagerForChainGroup:
return self.__class__(
handlers=self.handlers.copy(),
inheritable_handlers=self.inheritable_handlers.copy(),
parent_run_id=self.parent_run_id,
tags=self.tags.copy(),
inheritable_tags=self.inheritable_tags.copy(),
metadata=self.metadata.copy(),
inheritable_metadata=self.inheritable_metadata.copy(),
parent_run_manager=self.parent_run_manager,
)
def merge(
self: CallbackManagerForChainGroup, other: BaseCallbackManager
) -> CallbackManagerForChainGroup:
"""Merge the group callback manager with another callback manager.
Overwrites the merge method in the base class to ensure that the parent run
manager is preserved. Keeps the `parent_run_manager` from the current object.
Returns:
A copy of the current object with the handlers, tags, and other attributes
merged from the other object.
Example:
```python
# Merging two callback managers
from langchain_core.callbacks.manager import (
CallbackManager,
trace_as_chain_group,
)
from langchain_core.callbacks.stdout import StdOutCallbackHandler
manager = CallbackManager(handlers=[StdOutCallbackHandler()], tags=["tag2"])
with trace_as_chain_group("My Group Name", tags=["tag1"]) as group_manager:
merged_manager = group_manager.merge(manager)
print(type(merged_manager))
# <class 'langchain_core.callbacks.manager.CallbackManagerForChainGroup'>
print(merged_manager.handlers)
# [
# <langchain_core.callbacks.stdout.LangChainTracer object at ...>,
# <langchain_core.callbacks.streaming_stdout.StdOutCallbackHandler object at ...>,
# ]
print(merged_manager.tags)
# ['tag2', 'tag1']
```
""" # noqa: E501
Extends
Source
Frequently Asked Questions
What is the CallbackManagerForChainGroup class?
CallbackManagerForChainGroup is a class in the langchain codebase, defined in libs/core/langchain_core/callbacks/manager.py.
Where is CallbackManagerForChainGroup defined?
CallbackManagerForChainGroup is defined in libs/core/langchain_core/callbacks/manager.py at line 1646.
What does CallbackManagerForChainGroup extend?
CallbackManagerForChainGroup extends CallbackManager.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free