aidial_adapter_bedrock/dial_api/token_usage.py (11 lines of code) (raw):
from pydantic import BaseModel
class TokenUsage(BaseModel):
prompt_tokens: int = 0
completion_tokens: int = 0
@property
def total_tokens(self) -> int:
return self.prompt_tokens + self.completion_tokens
def accumulate(self, other: "TokenUsage") -> "TokenUsage":
self.prompt_tokens += other.prompt_tokens
self.completion_tokens += other.completion_tokens
return self