Module: Legion::Extensions::Ollama
- Extended by:
- Core
- Defined in:
- lib/legion/extensions/ollama.rb,
lib/legion/extensions/ollama/client.rb,
lib/legion/extensions/ollama/version.rb,
lib/legion/extensions/ollama/transport.rb,
lib/legion/extensions/ollama/runners/chat.rb,
lib/legion/extensions/ollama/helpers/usage.rb,
lib/legion/extensions/ollama/runners/blobs.rb,
lib/legion/extensions/ollama/runners/fleet.rb,
lib/legion/extensions/ollama/helpers/client.rb,
lib/legion/extensions/ollama/helpers/errors.rb,
lib/legion/extensions/ollama/runners/models.rb,
lib/legion/extensions/ollama/runners/version.rb,
lib/legion/extensions/ollama/actors/model_sync.rb,
lib/legion/extensions/ollama/runners/s3_models.rb,
lib/legion/extensions/ollama/runners/embeddings.rb,
lib/legion/extensions/ollama/actors/model_worker.rb,
lib/legion/extensions/ollama/runners/completions.rb,
lib/legion/extensions/ollama/transport/exchanges/llm_request.rb,
lib/legion/extensions/ollama/transport/messages/llm_response.rb
Defined Under Namespace
Modules: Actor, Helpers, Runners, Transport Classes: Client
Constant Summary collapse
- VERSION =
'0.3.4'
Class Method Summary collapse
-
.build_actors ⇒ Object
Called by the framework during autobuild.
- .default_settings ⇒ Object
Class Method Details
.build_actors ⇒ Object
Called by the framework during autobuild. Runs normal actor discovery, then replaces the single ModelWorker entry with one concrete subclass per subscription entry in settings (each has a zero-arg initialize).
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/legion/extensions/ollama.rb', line 42 def self.build_actors super @actors.delete(:model_worker) subs = settings[:subscriptions] return unless subs.is_a?(Array) subs.each do |sub| request_type = sub[:type]&.to_s model = sub[:model]&.to_s next unless request_type && model actor_name = :"model_worker_#{request_type}_#{model.tr(':.', '__')}" worker_class = Class.new(Legion::Extensions::Ollama::Actor::ModelWorker) do define_method(:initialize) { super(request_type: request_type, model: model) } end @actors[actor_name] = { extension: 'lex-ollama', extension_name: :ollama, actor_name: actor_name, actor_class: worker_class, type: 'literal' } end end |
.default_settings ⇒ Object
32 33 34 35 36 37 |
# File 'lib/legion/extensions/ollama.rb', line 32 def self.default_settings { s3: {}, fleet: {} } end |