Class: Gemini::Controllers::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/legate/gemini_ai_beta_patch.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Client

Returns a new instance of Client.



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/legate/gemini_ai_beta_patch.rb', line 19

def initialize(config)
  original_initialize(config)

  # Force v1beta when talking to the generative-language API. Guard the
  # ivar pokes so a gemini-ai internals change can't break construction.
  return unless instance_variable_defined?(:@service) && @service == 'generative-language-api'

  @service_version = 'v1beta'
  @base_address = "https://generativelanguage.googleapis.com/#{@service_version}"
  Legate.logger&.debug('Gemini AI Client patched to use v1beta API endpoint') if defined?(Legate)
rescue StandardError => e
  Legate.logger&.warn("Gemini v1beta patch could not apply (gemini-ai internals may have changed): #{e.message}") if defined?(Legate)
end

Instance Method Details

#original_initializeObject

Store the original initialize method



17
# File 'lib/legate/gemini_ai_beta_patch.rb', line 17

alias original_initialize initialize