1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# frozen_string_literal: true
module Dispatch
module Adapter
ModelPricing = Struct.new(
:input_per_mtok, :output_per_mtok,
:cache_read_per_mtok, :cache_write_per_mtok,
keyword_init: true
) do
def initialize(input_per_mtok:, output_per_mtok:,
cache_read_per_mtok: 0.0, cache_write_per_mtok: 0.0)
super
end
end
ModelInfo = Struct.new(
:id, :name, :max_context_tokens,
:supports_vision, :supports_tool_use, :supports_streaming,
:premium_request_multiplier,
:pricing,
keyword_init: true
) do
def initialize(id:, name:, max_context_tokens:, supports_vision:, supports_tool_use:, supports_streaming:,
premium_request_multiplier: nil, pricing: nil)
super
end
end
end
end
|