From d0ab73e25d55fadbc370c21095e2a60f02f62791 Mon Sep 17 00:00:00 2001 From: Rahul Vinod Vishwakarma Date: Mon, 12 May 2025 15:02:02 +0530 Subject: [PATCH 1/2] Added response cost in the Usage --- src/agents/extensions/models/litellm_model.py | 1 + src/agents/usage.py | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/agents/extensions/models/litellm_model.py b/src/agents/extensions/models/litellm_model.py index dc672acd..c3b31502 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, + 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..609657e8 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.""" + 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.cost += other.cost if other.cost else 0 From f2f94e5d9cdf46e03933fca82597a5271eeab4b2 Mon Sep 17 00:00:00 2001 From: Rahul Vinod Vishwakarma Date: Mon, 12 May 2025 15:03:38 +0530 Subject: [PATCH 2/2] Renamed cost to response cost --- src/agents/extensions/models/litellm_model.py | 2 +- src/agents/usage.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/agents/extensions/models/litellm_model.py b/src/agents/extensions/models/litellm_model.py index c3b31502..07aff15c 100644 --- a/src/agents/extensions/models/litellm_model.py +++ b/src/agents/extensions/models/litellm_model.py @@ -107,7 +107,7 @@ async def get_response( input_tokens=response_usage.prompt_tokens, output_tokens=response_usage.completion_tokens, total_tokens=response_usage.total_tokens, - cost=response._hidden_params.get("response_cost", 0.0) + 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 609657e8..997db2ce 100644 --- a/src/agents/usage.py +++ b/src/agents/usage.py @@ -15,7 +15,7 @@ class Usage: total_tokens: int = 0 """Total tokens sent and received, across all requests.""" - cost: float = 0.0 + response_cost: float = 0.0 """Total cost incurred, across all requests.""" def add(self, other: "Usage") -> None: @@ -23,4 +23,4 @@ def add(self, other: "Usage") -> None: 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.cost += other.cost if other.cost else 0 + self.response_cost += other.response_cost if other.response_cost else 0