diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/data/cartridges/models/cohere/command-light.yml | 12 | ||||
-rw-r--r-- | spec/data/cartridges/models/cohere/command.yml | 12 | ||||
-rw-r--r-- | spec/data/cartridges/models/google/gemini-pro.yml | 13 | ||||
-rw-r--r-- | spec/data/cartridges/models/mistral/medium.yml | 12 | ||||
-rw-r--r-- | spec/data/cartridges/models/mistral/small.yml | 12 | ||||
-rw-r--r-- | spec/data/cartridges/models/mistral/tiny.yml | 12 | ||||
-rw-r--r-- | spec/data/cartridges/models/openai/gpt-3-5-turbo.yml | 12 | ||||
-rw-r--r-- | spec/data/cartridges/models/openai/gpt-4-turbo.yml | 12 | ||||
-rw-r--r-- | spec/tasks/run-all-models.rb | 53 |
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 |