Skip to content

Commit 391d8b7

Browse files
committed
fix tool call count
1 parent 000fdad commit 391d8b7

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

eval_protocol/pytest/default_single_turn_rollout_process.py

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -161,21 +161,20 @@ async def process_row(row: EvaluationRow) -> EvaluationRow:
161161
tool_calls=converted_tool_calls,
162162
)
163163
]
164-
row.messages = messages
165164

166-
usage = getattr(response, "usage", None)
167-
if usage is not None:
168-
prompt_tokens = getattr(usage, "prompt_tokens", 0) or 0
169-
completion_tokens = getattr(usage, "completion_tokens", 0) or 0
170-
total_tokens = getattr(usage, "total_tokens", None)
171-
if total_tokens is None:
172-
total_tokens = prompt_tokens + completion_tokens
173-
174-
row.execution_metadata.usage = CompletionUsage(
175-
prompt_tokens=prompt_tokens,
176-
completion_tokens=completion_tokens,
177-
total_tokens=total_tokens,
165+
row.execution_metadata.finish_reason = str(finish_reason) if finish_reason is not None else None
166+
row.execution_metadata.tool_call_count = (
167+
len(converted_tool_calls) if converted_tool_calls is not None else 0
168+
)
169+
row.execution_metadata.usage = (
170+
CompletionUsage( # Note: LiteLLM sets usage dynamically via setattr(), not as a typed field
171+
prompt_tokens=response.usage.prompt_tokens, # pyright: ignore[reportAttributeAccessIssue]
172+
completion_tokens=response.usage.completion_tokens, # pyright: ignore[reportAttributeAccessIssue]
173+
total_tokens=response.usage.total_tokens, # pyright: ignore[reportAttributeAccessIssue]
178174
)
175+
)
176+
177+
row.messages = messages
179178

180179
row.execution_metadata.duration_seconds = time.perf_counter() - start_time
181180

0 commit comments

Comments
 (0)