Skip to content

Commit 83ff2f7

Browse files
Fix token count initialization when plan_message.token_usage is None (#1752)
Co-authored-by: Albert Villanova del Moral <8515462+albertvillanova@users.noreply.github.com>
1 parent 7c3bd6a commit 83ff2f7

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed

src/smolagents/agents.py

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -665,20 +665,16 @@ def _generate_planning_step(
665665
plan_message_content += event.content
666666
live.update(Markdown(plan_message_content))
667667
if event.token_usage:
668-
output_tokens += event.token_usage.output_tokens
669668
input_tokens = event.token_usage.input_tokens
669+
output_tokens += event.token_usage.output_tokens
670670
yield event
671671
else:
672672
plan_message = self.model.generate(input_messages, stop_sequences=["<end_plan>"])
673673
plan_message_content = plan_message.content
674-
input_tokens, output_tokens = (
675-
(
676-
plan_message.token_usage.input_tokens,
677-
plan_message.token_usage.output_tokens,
678-
)
679-
if plan_message.token_usage
680-
else (None, None)
681-
)
674+
input_tokens, output_tokens = 0, 0
675+
if plan_message.token_usage:
676+
input_tokens = plan_message.token_usage.input_tokens
677+
output_tokens = plan_message.token_usage.output_tokens
682678
plan = textwrap.dedent(
683679
f"""Here are the facts I know and the plan of action that I will follow to solve the task:\n```\n{plan_message_content}\n```"""
684680
)
@@ -727,17 +723,16 @@ def _generate_planning_step(
727723
plan_message_content += event.content
728724
live.update(Markdown(plan_message_content))
729725
if event.token_usage:
730-
output_tokens += event.token_usage.output_tokens
731726
input_tokens = event.token_usage.input_tokens
727+
output_tokens += event.token_usage.output_tokens
732728
yield event
733729
else:
734730
plan_message = self.model.generate(input_messages, stop_sequences=["<end_plan>"])
735731
plan_message_content = plan_message.content
736-
if plan_message.token_usage is not None:
737-
input_tokens, output_tokens = (
738-
plan_message.token_usage.input_tokens,
739-
plan_message.token_usage.output_tokens,
740-
)
732+
input_tokens, output_tokens = 0, 0
733+
if plan_message.token_usage:
734+
input_tokens = plan_message.token_usage.input_tokens
735+
output_tokens = plan_message.token_usage.output_tokens
741736
plan = textwrap.dedent(
742737
f"""I still need to solve the task I was given:\n```\n{self.task}\n```\n\nHere are the facts I know and my new/updated plan of action to solve the task:\n```\n{plan_message_content}\n```"""
743738
)

0 commit comments

Comments
 (0)