summaryrefslogtreecommitdiff
path: root/spec/tasks/run-model.rb
diff options
context:
space:
mode:
authoricebaker <icebaker@proton.me>2024-01-06 22:09:23 -0300
committericebaker <icebaker@proton.me>2024-01-06 22:09:23 -0300
commitc4807b26f0d530ef99ff87b6c5c45a4953ba958a (patch)
tree8d2709d35089ec8afb60bd20c6855de4623e3d1b /spec/tasks/run-model.rb
parentbfe0e76e3683a71bb8ce5bfdaae99b0252e7be05 (diff)
adding new providers
Diffstat (limited to 'spec/tasks/run-model.rb')
-rw-r--r--spec/tasks/run-model.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/spec/tasks/run-model.rb b/spec/tasks/run-model.rb
new file mode 100644
index 0000000..4b235aa
--- /dev/null
+++ b/spec/tasks/run-model.rb
@@ -0,0 +1,39 @@
+# frozen_string_literal: true
+
+require 'dotenv/load'
+
+require 'yaml'
+
+require_relative '../../ports/dsl/nano-bots'
+require_relative '../../logic/helpers/hash'
+
+def run_model!(cartridge, stream = true)
+ if stream == false
+ cartridge[:provider][:options] = {} unless cartridge[:provider].key?(:options)
+ cartridge[:provider][:options][:stream] = false
+
+ cartridge[:provider][:settings] = {} unless cartridge[:provider].key?(:settings)
+ cartridge[:provider][:settings][:stream] = false
+ end
+
+ puts "\n#{cartridge[:meta][:symbol]} #{cartridge[:meta][:name]}\n\n"
+
+ bot = NanoBot.new(cartridge:)
+
+ output = bot.eval('Hi!') do |_content, fragment, _finished, _meta|
+ print fragment unless fragment.nil?
+ end
+ puts ''
+ puts '-' * 20
+ puts ''
+ puts output
+ puts ''
+ puts '*' * 20
+end
+
+run_model!(
+ NanoBot::Logic::Helpers::Hash.symbolize_keys(
+ YAML.safe_load_file(ARGV[0].to_s.strip, permitted_classes: [Symbol])
+ ),
+ ARGV[1].to_s.strip == 'stream'
+)