Module: Legion::Extensions::Llm::Ollama
- Extended by:
- Core, AutoRegistration, Logging::Helper
- Defined in:
- lib/legion/extensions/llm/ollama.rb,
lib/legion/extensions/llm/ollama/version.rb,
lib/legion/extensions/llm/ollama/provider.rb,
lib/legion/extensions/llm/ollama/translator.rb,
lib/legion/extensions/llm/ollama/actors/fleet_worker.rb,
lib/legion/extensions/llm/ollama/runners/fleet_worker.rb,
lib/legion/extensions/llm/ollama/actors/discovery_refresh.rb
Overview
Ollama provider extension namespace.
Defined Under Namespace
Modules: Actor, Runners
Classes: Provider, Translator
Constant Summary
collapse
- PROVIDER_FAMILY =
:ollama
- VERSION =
'0.2.17'
Class Method Summary
collapse
Class Method Details
.default_settings ⇒ Object
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/legion/extensions/llm/ollama.rb', line 21
def self.default_settings
::Legion::Extensions::Llm.provider_settings(
family: PROVIDER_FAMILY,
instance: {
endpoint: 'http://127.0.0.1:11434',
default_model: 'qwen3.5:latest',
tier: :local,
transport: :http,
credentials: {},
usage: { inference: true, embedding: true, image: false },
limits: { concurrency: 1 },
fleet: {
enabled: false,
respond_to_requests: false,
capabilities: %i[chat stream_chat embed tools]
}
}
)
end
|
.discover_instances ⇒ Object
49
50
51
52
53
54
55
56
57
|
# File 'lib/legion/extensions/llm/ollama.rb', line 49
def self.discover_instances
instances = {}
discover_local_instance(instances)
discover_configured_instances(instances)
log.debug { "ollama discovery returning instance_count=#{instances.size}" }
instances
end
|
.normalize_instance_config(config) ⇒ Object
59
60
61
62
63
64
65
|
# File 'lib/legion/extensions/llm/ollama.rb', line 59
def self.normalize_instance_config(config)
normalized = config.to_h.transform_keys { |key| key.respond_to?(:to_sym) ? key.to_sym : key }
normalized[:base_url] ||= normalized.delete(:ollama_api_base)
normalized[:base_url] ||= normalized.delete(:api_base)
normalized[:base_url] ||= normalized.delete(:endpoint)
normalized.compact
end
|
.provider_class ⇒ Object
41
42
43
|
# File 'lib/legion/extensions/llm/ollama.rb', line 41
def self.provider_class
Provider
end
|
.registry_publisher ⇒ Object
45
46
47
|
# File 'lib/legion/extensions/llm/ollama.rb', line 45
def self.registry_publisher
@registry_publisher ||= Legion::Extensions::Llm::RegistryPublisher.new(provider_family: PROVIDER_FAMILY)
end
|