Module: Legion::Extensions::Llm::Openai

Extended by:
AutoRegistration, Logging::Helper
Defined in:
lib/legion/extensions/llm/openai.rb,
lib/legion/extensions/llm/openai/version.rb,
lib/legion/extensions/llm/openai/provider.rb,
lib/legion/extensions/llm/openai/translator.rb,
lib/legion/extensions/llm/openai/openai_callable.rb,
lib/legion/extensions/llm/openai/discovery_drafts.rb,
lib/legion/extensions/llm/openai/discovery_probing.rb,
lib/legion/extensions/llm/openai/discovery_identity.rb,
lib/legion/extensions/llm/openai/instance_discovery.rb,
lib/legion/extensions/llm/openai/actors/fleet_worker.rb,
lib/legion/extensions/llm/openai/discovery_transport.rb,
lib/legion/extensions/llm/openai/runners/fleet_worker.rb,
lib/legion/extensions/llm/openai/actors/discovery_refresh.rb,
lib/legion/extensions/llm/openai/discovery_health_display.rb,
lib/legion/extensions/llm/openai/discovery_evidence_builders.rb

Overview

Openai provider extension namespace.

Defined Under Namespace

Modules: Actor, DiscoveryDrafts, DiscoveryEvidenceBuilders, DiscoveryHealthDisplay, DiscoveryIdentity, DiscoveryProbing, DiscoveryTransport, InstanceDiscovery, Runners Classes: OpenaiCallable, Provider, Translator

Constant Summary collapse

PROVIDER_FAMILY =
:openai
VERSION =
'0.6.3'

Class Method Summary collapse

Class Method Details

.default_settingsObject



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/legion/extensions/llm/openai.rb', line 20

def self.default_settings
  ::Legion::Extensions::Llm.provider_settings(
    family: PROVIDER_FAMILY,
    instance: {
      endpoint: 'https://api.openai.com',
      tier: :frontier,
      transport: :http,
      credentials: {
        api_key: 'env://OPENAI_API_KEY',
        organization_id: nil,
        project_id: nil
      },
      usage: {
        inference: true,
        embedding: true,
        moderation: true,
        image: true,
        audio: true
      },
      limits: { concurrency: 4 },
      fleet: {
        enabled: false,
        respond_to_requests: false,
        capabilities: %i[chat stream_chat embed image]
      }
    }
  )
end

.discover_instancesObject



53
54
55
56
# File 'lib/legion/extensions/llm/openai.rb', line 53

def self.discover_instances
  log.debug { 'Discovering OpenAI provider instances' }
  InstanceDiscovery.discover
end

.provider_classObject



49
50
51
# File 'lib/legion/extensions/llm/openai.rb', line 49

def self.provider_class
  Provider
end