Class: SavvyOpenrouter::Resources::Models
- Defined in:
- lib/savvy_openrouter/resources/models.rb
Instance Method Summary collapse
- #count ⇒ Object
- #endpoints(author:, slug:) ⇒ Object
-
#first_ranked_free_text_model(category:, output_modalities: "text") ⇒ Object
Uses GET /models with filters, then returns the first model whose prompt + completion pricing are zero.
-
#list(**params) ⇒ Object
Query params match OpenRouter GET /models (e.g. category, output_modalities, supported_parameters).
- #user ⇒ Object
Methods inherited from Base
Constructor Details
This class inherits a constructor from SavvyOpenrouter::Resources::Base
Instance Method Details
#count ⇒ Object
23 24 25 |
# File 'lib/savvy_openrouter/resources/models.rb', line 23 def count conn.get("/models/count") end |
#endpoints(author:, slug:) ⇒ Object
31 32 33 |
# File 'lib/savvy_openrouter/resources/models.rb', line 31 def endpoints(author:, slug:) conn.get("/models/#{}/#{slug}/endpoints") end |
#first_ranked_free_text_model(category:, output_modalities: "text") ⇒ Object
Uses GET /models with filters, then returns the first model whose prompt + completion pricing are zero. OpenRouter returns models in curated rank order within a category; first matching free model aligns with site “top free” picks when combined with output_modalities=text.
17 18 19 20 21 |
# File 'lib/savvy_openrouter/resources/models.rb', line 17 def first_ranked_free_text_model(category:, output_modalities: "text") res = list(category: category, output_modalities: output_modalities) data = res[:data] || [] data.find { |m| free_pricing?(m) } end |
#list(**params) ⇒ Object
Query params match OpenRouter GET /models (e.g. category, output_modalities, supported_parameters).
9 10 11 12 |
# File 'lib/savvy_openrouter/resources/models.rb', line 9 def list(**params) query = stringify_query(params) conn.get("/models", params: query.empty? ? nil : query) end |
#user ⇒ Object
27 28 29 |
# File 'lib/savvy_openrouter/resources/models.rb', line 27 def user conn.get("/models/user") end |