Class: Smith::Agent::ProviderUsage

Inherits:
Dry::Struct
  • Object
show all
Defined in:
lib/smith/agent/provider_usage.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.from_message(message) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/smith/agent/provider_usage.rb', line 13

def self.from_message(message)
  return unless message.respond_to?(:input_tokens) && message.respond_to?(:output_tokens)

  input_tokens = message.input_tokens
  output_tokens = message.output_tokens
  return unless input_tokens.is_a?(Integer) && output_tokens.is_a?(Integer)

  new(input_tokens:, output_tokens:)
end

Instance Method Details

#total_tokensObject



23
24
25
# File 'lib/smith/agent/provider_usage.rb', line 23

def total_tokens
  input_tokens + output_tokens
end