Sha256: 388a4c3df6f03c56e44ac9cee322d5cde72f7603c559e2ec1c469ba3a43b2de1
Contents?: true
Size: 1.25 KB
Versions: 6
Compression:
Stored size: 1.25 KB
Contents
# frozen_string_literal: true require_relative 'providers/openai' require_relative 'providers/ollama' require_relative 'providers/mistral' require_relative 'providers/google' require_relative 'providers/cohere' require_relative 'providers/maritaca' module NanoBot module Components class Provider def self.new(provider, environment: {}) case provider[:id] when 'openai' Providers::OpenAI.new(nil, provider[:settings], provider[:credentials], environment:) when 'ollama' Providers::Ollama.new(provider[:options], provider[:settings], provider[:credentials], environment:) when 'mistral' Providers::Mistral.new(provider[:options], provider[:settings], provider[:credentials], environment:) when 'google' Providers::Google.new(provider[:options], provider[:settings], provider[:credentials], environment:) when 'cohere' Providers::Cohere.new(provider[:options], provider[:settings], provider[:credentials], environment:) when 'maritaca' Providers::Maritaca.new(provider[:options], provider[:settings], provider[:credentials], environment:) else raise "Unsupported provider \"#{provider[:id]}\"" end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems