summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/data/cartridges/models/cohere/command-light.yml12
-rw-r--r--spec/data/cartridges/models/cohere/command.yml12
-rw-r--r--spec/data/cartridges/models/google/gemini-pro.yml13
-rw-r--r--spec/data/cartridges/models/mistral/medium.yml12
-rw-r--r--spec/data/cartridges/models/mistral/small.yml12
-rw-r--r--spec/data/cartridges/models/mistral/tiny.yml12
-rw-r--r--spec/data/cartridges/models/openai/gpt-3-5-turbo.yml12
-rw-r--r--spec/data/cartridges/models/openai/gpt-4-turbo.yml12
-rw-r--r--spec/tasks/run-all-models.rb53
9 files changed, 150 insertions, 0 deletions
diff --git a/spec/data/cartridges/models/cohere/command-light.yml b/spec/data/cartridges/models/cohere/command-light.yml
new file mode 100644
index 0000000..5c68126
--- /dev/null
+++ b/spec/data/cartridges/models/cohere/command-light.yml
@@ -0,0 +1,12 @@
+---
+meta:
+ symbol: 🟣
+ name: Cohere Command Light
+ license: CC0-1.0
+
+provider:
+ id: cohere
+ credentials:
+ api-key: ENV/COHERE_API_KEY
+ settings:
+ model: command-light
diff --git a/spec/data/cartridges/models/cohere/command.yml b/spec/data/cartridges/models/cohere/command.yml
new file mode 100644
index 0000000..a0bd1bb
--- /dev/null
+++ b/spec/data/cartridges/models/cohere/command.yml
@@ -0,0 +1,12 @@
+---
+meta:
+ symbol: 🟣
+ name: Cohere Command
+ license: CC0-1.0
+
+provider:
+ id: cohere
+ credentials:
+ api-key: ENV/COHERE_API_KEY
+ settings:
+ model: command
diff --git a/spec/data/cartridges/models/google/gemini-pro.yml b/spec/data/cartridges/models/google/gemini-pro.yml
new file mode 100644
index 0000000..5169d73
--- /dev/null
+++ b/spec/data/cartridges/models/google/gemini-pro.yml
@@ -0,0 +1,13 @@
+---
+meta:
+ symbol: 🔵
+ name: Google Gemini Pro
+ license: MIT
+
+provider:
+ id: google
+ credentials:
+ service: vertex-ai-api
+ region: us-east4
+ options:
+ model: gemini-pro
diff --git a/spec/data/cartridges/models/mistral/medium.yml b/spec/data/cartridges/models/mistral/medium.yml
new file mode 100644
index 0000000..feb4c66
--- /dev/null
+++ b/spec/data/cartridges/models/mistral/medium.yml
@@ -0,0 +1,12 @@
+---
+meta:
+ symbol: 🟠
+ name: Mistral Medium
+ license: MIT
+
+provider:
+ id: mistral
+ credentials:
+ api-key: ENV/MISTRAL_API_KEY
+ settings:
+ model: mistral-medium
diff --git a/spec/data/cartridges/models/mistral/small.yml b/spec/data/cartridges/models/mistral/small.yml
new file mode 100644
index 0000000..3ca5a2b
--- /dev/null
+++ b/spec/data/cartridges/models/mistral/small.yml
@@ -0,0 +1,12 @@
+---
+meta:
+ symbol: 🟠
+ name: Mistral Small
+ license: MIT
+
+provider:
+ id: mistral
+ credentials:
+ api-key: ENV/MISTRAL_API_KEY
+ settings:
+ model: mistral-small
diff --git a/spec/data/cartridges/models/mistral/tiny.yml b/spec/data/cartridges/models/mistral/tiny.yml
new file mode 100644
index 0000000..e51ab21
--- /dev/null
+++ b/spec/data/cartridges/models/mistral/tiny.yml
@@ -0,0 +1,12 @@
+---
+meta:
+ symbol: 🟠
+ name: Mistral Tiny
+ license: MIT
+
+provider:
+ id: mistral
+ credentials:
+ api-key: ENV/MISTRAL_API_KEY
+ settings:
+ model: mistral-tiny
diff --git a/spec/data/cartridges/models/openai/gpt-3-5-turbo.yml b/spec/data/cartridges/models/openai/gpt-3-5-turbo.yml
new file mode 100644
index 0000000..9b70919
--- /dev/null
+++ b/spec/data/cartridges/models/openai/gpt-3-5-turbo.yml
@@ -0,0 +1,12 @@
+---
+meta:
+ symbol: 🟢
+ name: OpenAI GPT 3.5 Turbo
+ license: MIT
+
+provider:
+ id: openai
+ credentials:
+ access-token: ENV/OPENAI_API_KEY
+ settings:
+ model: gpt-3.5-turbo-1106
diff --git a/spec/data/cartridges/models/openai/gpt-4-turbo.yml b/spec/data/cartridges/models/openai/gpt-4-turbo.yml
new file mode 100644
index 0000000..85db038
--- /dev/null
+++ b/spec/data/cartridges/models/openai/gpt-4-turbo.yml
@@ -0,0 +1,12 @@
+---
+meta:
+ symbol: 🟢
+ name: OpenAI GPT 4 Turbo
+ license: MIT
+
+provider:
+ id: openai
+ credentials:
+ access-token: ENV/OPENAI_API_KEY
+ settings:
+ model: gpt-4-1106-preview
diff --git a/spec/tasks/run-all-models.rb b/spec/tasks/run-all-models.rb
new file mode 100644
index 0000000..a7f4570
--- /dev/null
+++ b/spec/tasks/run-all-models.rb
@@ -0,0 +1,53 @@
+# 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
+
+puts '[NO STREAM]'
+
+Dir['spec/data/cartridges/models/*/*.yml'].each do |path|
+ run_model!(
+ NanoBot::Logic::Helpers::Hash.symbolize_keys(
+ YAML.safe_load_file(path, permitted_classes: [Symbol])
+ ),
+ false
+ )
+end
+
+puts "\n[STREAM]"
+
+Dir['spec/data/cartridges/models/*/*.yml'].each do |path|
+ run_model!(
+ NanoBot::Logic::Helpers::Hash.symbolize_keys(
+ YAML.safe_load_file(path, permitted_classes: [Symbol])
+ )
+ )
+end