Class: LLM::Gemini::Models
- Inherits:
-
Object
- Object
- LLM::Gemini::Models
- Defined in:
- lib/llm/providers/gemini/models.rb
Overview
The LLM::Gemini::Models class provides a model object for interacting with Gemini’s models API. The models API allows a client to query Gemini for a list of models that are available for use with the Gemini API.
Instance Method Summary collapse
-
#initialize(provider) ⇒ LLM::Gemini::Models
constructor
Returns a new Models object.
-
#all(**params) ⇒ LLM::Response::ModelList
List all models.
Constructor Details
#initialize(provider) ⇒ LLM::Gemini::Models
Returns a new Models object
26 27 28 |
# File 'lib/llm/providers/gemini/models.rb', line 26 def initialize(provider) @provider = provider end |
Instance Method Details
#all(**params) ⇒ LLM::Response::ModelList
List all models
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/llm/providers/gemini/models.rb', line 42 def all(**params) query = URI.encode_www_form(params.merge!(key: key)) req = Net::HTTP::Get.new("/v1beta/models?#{query}", headers) res = execute(request: req) LLM::Response::ModelList.new(res).tap { |modellist| models = modellist.body["models"].map do |model| model = model.transform_keys { snakecase(_1) } LLM::Model.from_hash(model).tap { _1.provider = @provider } end modellist.models = models } end |