diff --git a/src/agents/extensions/models/litellm_model.py b/src/agents/extensions/models/litellm_model.py index dc672acd..07aff15c 100644 --- a/src/agents/extensions/models/litellm_model.py +++ b/src/agents/extensions/models/litellm_model.py @@ -107,6 +107,7 @@ async def get_response( input_tokens=response_usage.prompt_tokens, output_tokens=response_usage.completion_tokens, total_tokens=response_usage.total_tokens, + response_cost=response._hidden_params.get("response_cost", 0.0) ) if response.usage else Usage() diff --git a/src/agents/usage.py b/src/agents/usage.py index 23d989b4..997db2ce 100644 --- a/src/agents/usage.py +++ b/src/agents/usage.py @@ -15,8 +15,12 @@ class Usage: total_tokens: int = 0 """Total tokens sent and received, across all requests.""" + response_cost: float = 0.0 + """Total cost incurred, across all requests.""" + def add(self, other: "Usage") -> None: self.requests += other.requests if other.requests else 0 self.input_tokens += other.input_tokens if other.input_tokens else 0 self.output_tokens += other.output_tokens if other.output_tokens else 0 self.total_tokens += other.total_tokens if other.total_tokens else 0 + self.response_cost += other.response_cost if other.response_cost else 0