Module: RubyLLM::Providers::Perplexity::Models
- Included in:
- RubyLLM::Providers::Perplexity
- Defined in:
- lib/ruby_llm/providers/perplexity/models.rb
Overview
Models methods of the Perplexity API integration
Constant Summary collapse
- MODEL_IDS =
%w[ sonar sonar-pro sonar-reasoning sonar-reasoning-pro sonar-deep-research ].freeze
Instance Method Summary collapse
- #create_model_info(id, slug, capabilities) ⇒ Object
- #list_models ⇒ Object
- #parse_list_models_response(_response, slug, capabilities) ⇒ Object
Instance Method Details
#create_model_info(id, slug, capabilities) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/ruby_llm/providers/perplexity/models.rb', line 25 def create_model_info(id, slug, capabilities) Model::Info.new( id: id, name: id, provider: slug, context_window: capabilities.context_window_for(id), max_output_tokens: capabilities.max_tokens_for(id), capabilities: capabilities.critical_capabilities_for(id), pricing: capabilities.pricing_for(id), metadata: {} ) end |
#list_models ⇒ Object
16 17 18 19 |
# File 'lib/ruby_llm/providers/perplexity/models.rb', line 16 def list_models(**) slug = 'perplexity' parse_list_models_response(nil, slug, Perplexity::Capabilities) end |
#parse_list_models_response(_response, slug, capabilities) ⇒ Object
21 22 23 |
# File 'lib/ruby_llm/providers/perplexity/models.rb', line 21 def parse_list_models_response(_response, slug, capabilities) MODEL_IDS.map { |id| create_model_info(id, slug, capabilities) } end |