Class: RubyLLM::ModelCapabilities::Anthropic
- Defined in:
- lib/ruby_llm/model_capabilities/anthropic.rb
Instance Method Summary collapse
- #determine_context_window(model_id) ⇒ Object
- #determine_max_tokens(model_id) ⇒ Object
- #get_input_price(model_id) ⇒ Object
- #get_output_price(model_id) ⇒ Object
- #supports_functions?(model_id) ⇒ Boolean
- #supports_json_mode?(model_id) ⇒ Boolean
- #supports_vision?(model_id) ⇒ Boolean
Instance Method Details
#determine_context_window(model_id) ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/ruby_llm/model_capabilities/anthropic.rb', line 6 def determine_context_window(model_id) case model_id when /claude-3-5-sonnet/, /claude-3-5-haiku/, /claude-3-opus/, /claude-3-sonnet/, /claude-3-haiku/ 200_000 else 100_000 end end |
#determine_max_tokens(model_id) ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/ruby_llm/model_capabilities/anthropic.rb', line 16 def determine_max_tokens(model_id) case model_id when /claude-3-5-sonnet/, /claude-3-5-haiku/ 8_192 when /claude-3-opus/, /claude-3-sonnet/, /claude-3-haiku/ 4_096 else 4_096 end end |
#get_input_price(model_id) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/ruby_llm/model_capabilities/anthropic.rb', line 27 def get_input_price(model_id) case model_id when /claude-3-5-sonnet/ 3.0 # $3.00 per million tokens when /claude-3-5-haiku/ 0.80 # $0.80 per million tokens when /claude-3-opus/ 15.0 # $15.00 per million tokens when /claude-3-sonnet/ 3.0 # $3.00 per million tokens when /claude-3-haiku/ 0.25 # $0.25 per million tokens else 3.0 end end |
#get_output_price(model_id) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/ruby_llm/model_capabilities/anthropic.rb', line 44 def get_output_price(model_id) case model_id when /claude-3-5-sonnet/ 15.0 # $15.00 per million tokens when /claude-3-5-haiku/ 4.0 # $4.00 per million tokens when /claude-3-opus/ 75.0 # $75.00 per million tokens when /claude-3-sonnet/ 15.0 # $15.00 per million tokens when /claude-3-haiku/ 1.25 # $1.25 per million tokens else 15.0 end end |
#supports_functions?(model_id) ⇒ Boolean
72 73 74 |
# File 'lib/ruby_llm/model_capabilities/anthropic.rb', line 72 def supports_functions?(model_id) model_id.include?('claude-3') end |
#supports_json_mode?(model_id) ⇒ Boolean
76 77 78 |
# File 'lib/ruby_llm/model_capabilities/anthropic.rb', line 76 def supports_json_mode?(model_id) model_id.include?('claude-3') end |
#supports_vision?(model_id) ⇒ Boolean
61 62 63 64 65 66 67 68 69 70 |
# File 'lib/ruby_llm/model_capabilities/anthropic.rb', line 61 def supports_vision?(model_id) case model_id when /claude-3-5-haiku/ false when /claude-2/, /claude-1/ false else true end end |