Class: LlmOptimizer::OptimizeResult

Inherits:
Object
  • Object
show all
Defined in:
lib/llm_optimizer/optimize_result.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response: nil, model: nil, model_tier: nil, cache_status: nil, original_tokens: 0, compressed_tokens: 0, input_tokens: 0, output_tokens: 0, cached_tokens: 0, latency_ms: 0, messages: []) ⇒ OptimizeResult

rubocop:disable Metrics/ParameterLists



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/llm_optimizer/optimize_result.rb', line 10

def initialize(response: nil, model: nil, model_tier: nil, cache_status: nil,
               original_tokens: 0, compressed_tokens: 0, input_tokens: 0,
               output_tokens: 0, cached_tokens: 0, latency_ms: 0, messages: [])
  @response = response
  @model = model
  @model_tier = model_tier
  @cache_status = cache_status
  @original_tokens = original_tokens
  @compressed_tokens = compressed_tokens
  @input_tokens = input_tokens
  @output_tokens = output_tokens
  @cached_tokens = cached_tokens
  @latency_ms = latency_ms
  @messages = messages
end

Instance Attribute Details

#cache_statusObject

Returns the value of attribute cache_status.



5
6
7
# File 'lib/llm_optimizer/optimize_result.rb', line 5

def cache_status
  @cache_status
end

#cached_tokensObject

Returns the value of attribute cached_tokens.



5
6
7
# File 'lib/llm_optimizer/optimize_result.rb', line 5

def cached_tokens
  @cached_tokens
end

#compressed_tokensObject

Returns the value of attribute compressed_tokens.



5
6
7
# File 'lib/llm_optimizer/optimize_result.rb', line 5

def compressed_tokens
  @compressed_tokens
end

#input_tokensObject

Returns the value of attribute input_tokens.



5
6
7
# File 'lib/llm_optimizer/optimize_result.rb', line 5

def input_tokens
  @input_tokens
end

#latency_msObject

Returns the value of attribute latency_ms.



5
6
7
# File 'lib/llm_optimizer/optimize_result.rb', line 5

def latency_ms
  @latency_ms
end

#messagesObject

Returns the value of attribute messages.



5
6
7
# File 'lib/llm_optimizer/optimize_result.rb', line 5

def messages
  @messages
end

#modelObject

Returns the value of attribute model.



5
6
7
# File 'lib/llm_optimizer/optimize_result.rb', line 5

def model
  @model
end

#model_tierObject

Returns the value of attribute model_tier.



5
6
7
# File 'lib/llm_optimizer/optimize_result.rb', line 5

def model_tier
  @model_tier
end

#original_tokensObject

Returns the value of attribute original_tokens.



5
6
7
# File 'lib/llm_optimizer/optimize_result.rb', line 5

def original_tokens
  @original_tokens
end

#output_tokensObject

Returns the value of attribute output_tokens.



5
6
7
# File 'lib/llm_optimizer/optimize_result.rb', line 5

def output_tokens
  @output_tokens
end

#responseObject

Returns the value of attribute response.



5
6
7
# File 'lib/llm_optimizer/optimize_result.rb', line 5

def response
  @response
end

Instance Method Details

#to_hObject

rubocop:enable Metrics/ParameterLists



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/llm_optimizer/optimize_result.rb', line 27

def to_h
  {
    response: @response,
    model: @model,
    model_tier: @model_tier,
    cache_status: @cache_status,
    original_tokens: @original_tokens,
    compressed_tokens: @compressed_tokens,
    input_tokens: @input_tokens,
    output_tokens: @output_tokens,
    cached_tokens: @cached_tokens,
    latency_ms: @latency_ms,
    messages: @messages
  }
end