Sha256: 014b29ea426e4c3b5d3877d6aef9f09a2de7d95a210591b9f7420802ea5bd2d1

Contents?: true

Size: 728 Bytes

Versions: 6

Compression:

Stored size: 728 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/openai"
require "boxcars/engine/gpt4all_eng"

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
boxcars-0.4.5 lib/boxcars/engine.rb
boxcars-0.4.4 lib/boxcars/engine.rb
boxcars-0.4.3 lib/boxcars/engine.rb
boxcars-0.4.2 lib/boxcars/engine.rb
boxcars-0.4.1 lib/boxcars/engine.rb
boxcars-0.4.0 lib/boxcars/engine.rb