Skip to content

Commit 4b1a29f

Browse files
committed
update lifecycle example
1 parent 7d1df62 commit 4b1a29f

File tree

1 file changed

+33
-8
lines changed

1 file changed

+33
-8
lines changed

examples/basic/lifecycle_example.py

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import asyncio
22
import random
3-
from typing import Any
3+
from typing import Any, Optional
44

55
from pydantic import BaseModel
66

77
from agents import Agent, RunContextWrapper, RunHooks, Runner, Tool, Usage, function_tool
8+
from agents.items import ModelResponse, TResponseInputItem
89

910

1011
class ExampleHooks(RunHooks):
@@ -20,6 +21,22 @@ async def on_agent_start(self, context: RunContextWrapper, agent: Agent) -> None
2021
f"### {self.event_counter}: Agent {agent.name} started. Usage: {self._usage_to_str(context.usage)}"
2122
)
2223

24+
async def on_llm_start(
25+
self,
26+
context: RunContextWrapper,
27+
agent: Agent,
28+
system_prompt: Optional[str],
29+
input_items: list[TResponseInputItem],
30+
) -> None:
31+
self.event_counter += 1
32+
print(f"### {self.event_counter}: LLM started. Usage: {self._usage_to_str(context.usage)}")
33+
34+
async def on_llm_end(
35+
self, context: RunContextWrapper, agent: Agent, response: ModelResponse
36+
) -> None:
37+
self.event_counter += 1
38+
print(f"### {self.event_counter}: LLM ended. Usage: {self._usage_to_str(context.usage)}")
39+
2340
async def on_agent_end(self, context: RunContextWrapper, agent: Agent, output: Any) -> None:
2441
self.event_counter += 1
2542
print(
@@ -109,13 +126,21 @@ async def main() -> None:
109126
110127
Enter a max number: 250
111128
### 1: Agent Start Agent started. Usage: 0 requests, 0 input tokens, 0 output tokens, 0 total tokens
112-
### 2: Tool random_number started. Usage: 1 requests, 148 input tokens, 15 output tokens, 163 total tokens
113-
### 3: Tool random_number ended with result 101. Usage: 1 requests, 148 input tokens, 15 output tokens, 163 total token
114-
### 4: Handoff from Start Agent to Multiply Agent. Usage: 2 requests, 323 input tokens, 30 output tokens, 353 total tokens
115-
### 5: Agent Multiply Agent started. Usage: 2 requests, 323 input tokens, 30 output tokens, 353 total tokens
116-
### 6: Tool multiply_by_two started. Usage: 3 requests, 504 input tokens, 46 output tokens, 550 total tokens
117-
### 7: Tool multiply_by_two ended with result 202. Usage: 3 requests, 504 input tokens, 46 output tokens, 550 total tokens
118-
### 8: Agent Multiply Agent ended with output number=202. Usage: 4 requests, 714 input tokens, 63 output tokens, 777 total tokens
129+
### 2: LLM started. Usage: 0 requests, 0 input tokens, 0 output tokens, 0 total tokens
130+
### 3: LLM ended. Usage: 1 requests, 143 input tokens, 15 output tokens, 158 total tokens
131+
### 4: Tool random_number started. Usage: 1 requests, 143 input tokens, 15 output tokens, 158 total tokens
132+
### 5: Tool random_number ended with result 69. Usage: 1 requests, 143 input tokens, 15 output tokens, 158 total tokens
133+
### 6: LLM started. Usage: 1 requests, 143 input tokens, 15 output tokens, 158 total tokens
134+
### 7: LLM ended. Usage: 2 requests, 310 input tokens, 29 output tokens, 339 total tokens
135+
### 8: Handoff from Start Agent to Multiply Agent. Usage: 2 requests, 310 input tokens, 29 output tokens, 339 total tokens
136+
### 9: Agent Multiply Agent started. Usage: 2 requests, 310 input tokens, 29 output tokens, 339 total tokens
137+
### 10: LLM started. Usage: 2 requests, 310 input tokens, 29 output tokens, 339 total tokens
138+
### 11: LLM ended. Usage: 3 requests, 472 input tokens, 45 output tokens, 517 total tokens
139+
### 12: Tool multiply_by_two started. Usage: 3 requests, 472 input tokens, 45 output tokens, 517 total tokens
140+
### 13: Tool multiply_by_two ended with result 138. Usage: 3 requests, 472 input tokens, 45 output tokens, 517 total tokens
141+
### 14: LLM started. Usage: 3 requests, 472 input tokens, 45 output tokens, 517 total tokens
142+
### 15: LLM ended. Usage: 4 requests, 660 input tokens, 56 output tokens, 716 total tokens
143+
### 16: Agent Multiply Agent ended with output number=138. Usage: 4 requests, 660 input tokens, 56 output tokens, 716 total tokens
119144
Done!
120145
121146
"""

0 commit comments

Comments
 (0)