@@ -39,14 +39,25 @@ def ignore_agent(self) -> bool:
39
39
"""Whether to ignore agent callbacks."""
40
40
return self .ignore_agent_
41
41
42
+ # add finer-grained counters for easier debugging of failing tests
43
+ chain_starts : int = 0
44
+ chain_ends : int = 0
45
+ llm_starts : int = 0
46
+ llm_ends : int = 0
47
+ tool_starts : int = 0
48
+ tool_ends : int = 0
49
+ agent_ends : int = 0
50
+
42
51
def on_llm_start (
43
52
self , serialized : Dict [str , Any ], prompts : List [str ], ** kwargs : Any
44
53
) -> None :
45
54
"""Run when LLM starts running."""
55
+ self .llm_starts += 1
46
56
self .starts += 1
47
57
48
58
def on_llm_end (self , response : LLMResult , ** kwargs : Any ) -> None :
49
59
"""Run when LLM ends running."""
60
+ self .llm_ends += 1
50
61
self .ends += 1
51
62
52
63
def on_llm_error (
@@ -59,10 +70,12 @@ def on_chain_start(
59
70
self , serialized : Dict [str , Any ], inputs : Dict [str , Any ], ** kwargs : Any
60
71
) -> None :
61
72
"""Run when chain starts running."""
73
+ self .chain_starts += 1
62
74
self .starts += 1
63
75
64
76
def on_chain_end (self , outputs : Dict [str , Any ], ** kwargs : Any ) -> None :
65
77
"""Run when chain ends running."""
78
+ self .chain_ends += 1
66
79
self .ends += 1
67
80
68
81
def on_chain_error (
@@ -75,10 +88,12 @@ def on_tool_start(
75
88
self , serialized : Dict [str , Any ], action : AgentAction , ** kwargs : Any
76
89
) -> None :
77
90
"""Run when tool starts running."""
91
+ self .tool_starts += 1
78
92
self .starts += 1
79
93
80
94
def on_tool_end (self , output : str , ** kwargs : Any ) -> None :
81
95
"""Run when tool ends running."""
96
+ self .tool_ends += 1
82
97
self .ends += 1
83
98
84
99
def on_tool_error (
@@ -93,4 +108,5 @@ def on_text(self, text: str, **kwargs: Any) -> None:
93
108
94
109
def on_agent_finish (self , finish : AgentFinish , ** kwargs : Any ) -> None :
95
110
"""Run when agent ends running."""
111
+ self .agent_ends += 1
96
112
self .ends += 1
0 commit comments