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
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
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/ruby_llm/providers/perplexity/models.rb', line 24 def create_model_info(id, slug, capabilities) Model::Info.new( id: id, name: capabilities.format_display_name(id), provider: slug, family: capabilities.model_family(id).to_s, created_at: Time.now, context_window: capabilities.context_window_for(id), max_output_tokens: capabilities.max_tokens_for(id), modalities: capabilities.modalities_for(id), capabilities: capabilities.capabilities_for(id), pricing: capabilities.pricing_for(id), metadata: {} ) end |
#list_models ⇒ Object
8 9 10 11 12 |
# File 'lib/ruby_llm/providers/perplexity/models.rb', line 8 def list_models(**) slug = 'perplexity' capabilities = Perplexity::Capabilities parse_list_models_response(nil, slug, capabilities) end |
#parse_list_models_response(_response, slug, capabilities) ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'lib/ruby_llm/providers/perplexity/models.rb', line 14 def parse_list_models_response(_response, slug, capabilities) [ create_model_info('sonar', slug, capabilities), create_model_info('sonar-pro', slug, capabilities), create_model_info('sonar-reasoning', slug, capabilities), create_model_info('sonar-reasoning-pro', slug, capabilities), create_model_info('sonar-deep-research', slug, capabilities) ] end |