Module: Legion::Extensions::Llm::Gemini

Extended by:
Core, AutoRegistration, Logging::Helper
Defined in:
lib/legion/extensions/llm/gemini.rb,
lib/legion/extensions/llm/gemini/version.rb,
lib/legion/extensions/llm/gemini/provider.rb,
lib/legion/extensions/llm/gemini/actors/fleet_worker.rb,
lib/legion/extensions/llm/gemini/runners/fleet_worker.rb

Overview

Gemini provider extension namespace.

Defined Under Namespace

Modules: Actor, Runners Classes: Provider

Constant Summary collapse

PROVIDER_FAMILY =
:gemini
VERSION =
'0.3.6'

Class Method Summary collapse

Class Method Details

.default_settingsObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/legion/extensions/llm/gemini.rb', line 19

def self.default_settings
  ::Legion::Extensions::Llm.provider_settings(
    family: PROVIDER_FAMILY,
    instance: {
      endpoint: 'https://generativelanguage.googleapis.com/v1beta',
      default_model: 'gemini-2.0-flash',
      tier: :frontier,
      transport: :http,
      credentials: { api_key: 'env://GEMINI_API_KEY' },
      usage: { inference: true, embedding: true, image: false },
      limits: { concurrency: 4 },
      fleet: {
        enabled: false,
        respond_to_requests: false,
        capabilities: %i[chat stream_chat embed],
        lanes: [],
        concurrency: 4,
        queue_suffix: nil
      }
    }
  )
end

.discover_instancesObject



46
47
48
49
50
51
# File 'lib/legion/extensions/llm/gemini.rb', line 46

def self.discover_instances
  candidates = {}
  discover_from_env(candidates)
  discover_from_settings(candidates)
  CredentialSources.dedup_credentials(candidates).transform_values { |config| sanitize_instance_config(config) }
end

.provider_classObject



42
43
44
# File 'lib/legion/extensions/llm/gemini.rb', line 42

def self.provider_class
  Provider
end