Sha256: 19816de7e0ca8a312c6e0704011d92fb4df117703237459f0af539ad2df52d70

Contents?: true

Size: 798 Bytes

Versions: 4

Compression:

Stored size: 798 Bytes

Contents

# frozen_string_literal: true

module Boxcars
  # @abstract
  class Engine
    # An Engine is used by Boxcars to generate output from prompts
    # @param name [String] The name of the Engine. Defaults to classname.
    # @param description [String] A description of the Engine.
    def initialize(description: 'Engine', name: nil)
      @name = name || self.class.name
      @description = description
    end

    # Get an answer from the Engine.
    # @param question [String] The question to ask the Engine.
    def run(question)
      raise NotImplementedError
    end
  end
end

require "boxcars/engine/engine_result"
require "boxcars/engine/anthropic"
require "boxcars/engine/cohere"
require "boxcars/engine/openai"
require "boxcars/engine/perplexityai"
require "boxcars/engine/gpt4all_eng"

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
boxcars-0.6.2 lib/boxcars/engine.rb
boxcars-0.6.1 lib/boxcars/engine.rb
boxcars-0.5.1 lib/boxcars/engine.rb
boxcars-0.4.10 lib/boxcars/engine.rb