Sha256: 7bfd200979a46aa6e5bc4dbf7ab83e943513102812dd7fc37ced4ef1c0070042

Contents?: true

Size: 766 Bytes

Versions: 4

Compression:

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
boxcars-0.4.9 lib/boxcars/engine.rb
boxcars-0.4.8 lib/boxcars/engine.rb
boxcars-0.4.7 lib/boxcars/engine.rb
boxcars-0.4.6 lib/boxcars/engine.rb