Module: Legion::Extensions::Llm::AzureFoundry

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

Overview

Azure AI Foundry provider extension namespace.

Defined Under Namespace

Modules: Actor, Capabilities, ProviderCapabilityHelpers, ProviderClassMethods, ProviderDispatchMethods, ProviderOfferingHelpers, ProviderOfferingMetadata, Runners Classes: Provider

Constant Summary collapse

PROVIDER_FAMILY =
:azure_foundry
INSTANCE_DEFAULTS =
{
  endpoint: nil,
  tier: :frontier,
  transport: :http,
  credentials: { api_key: nil, bearer_token: nil },
  provider: { api_version: Provider::DEFAULT_API_VERSION, surface: nil, deployments: [] },
  usage: { inference: true, embedding: true, image: false },
  limits: { concurrency: 4 },
  fleet: { enabled: false, respond_to_requests: false,
           capabilities: %i[chat stream_chat embed tools] }
}.freeze
VERSION =
'0.3.4'
CATALOG_CONTEXT_KEYS =

Keys a live model catalog might report for context length. Defined here (AzureFoundry namespace) so ProviderOfferingMetadata can resolve it regardless of how it is included.

%i[context_window max_input_tokens context_length].freeze

Class Method Summary collapse

Class Method Details

.default_settingsObject



30
31
32
33
34
35
36
# File 'lib/legion/extensions/llm/azure_foundry.rb', line 30

def self.default_settings
  ::Legion::Extensions::Llm.provider_settings(
    family: PROVIDER_FAMILY,
    discovery: { interval_seconds: 3600 },
    instance: INSTANCE_DEFAULTS
  )
end

.discover_instancesObject



44
45
46
47
48
49
# File 'lib/legion/extensions/llm/azure_foundry.rb', line 44

def self.discover_instances
  instances = {}
  discover_default_instance(instances)
  discover_named_instances(instances)
  instances
end

.provider_classObject



38
# File 'lib/legion/extensions/llm/azure_foundry.rb', line 38

def self.provider_class = Provider

.registry_publisherObject



40
41
42
# File 'lib/legion/extensions/llm/azure_foundry.rb', line 40

def self.registry_publisher
  @registry_publisher ||= Legion::Extensions::Llm::RegistryPublisher.new(provider_family: PROVIDER_FAMILY)
end