Sha256: 7eca59cc12f0d381dfb546d725f99d7e8b1292608c11cdd500415430919a8141

Contents?: true

Size: 932 Bytes

Versions: 3

Compression:

Stored size: 932 Bytes

Contents

require 'openai'
require 'fileutils'

module OpenAi
  class << self
    def create_client
      configure_client
      OpenAI::Client.new
    end

    def configure_client
      OpenAI.configure do |config|
        config.access_token = ENV.fetch('OPENAI_ACCESS_TOKEN')
        config.organization_id = ENV.fetch('OPENAI_ORGANIZATION_ID', nil)
      end
    end

    def input(model = "gpt-3.5-turbo", temperature = 0.7, request)
      create_client.chat(
        parameters: {
          model: model,
          messages: [{ role: "user", content: request }],
          temperature: temperature
        })
    end

    def create_file(choice = 0, path, request)
      response = input(request)
      File.write(path, response.dig("choices", choice, "message", "content"))
    end

    def output(choice = 0, request)
      response = input(request)
      puts response.dig("choices", choice, "message", "content")
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ruby_raider-0.5.2 lib/utilities/open_ai.rb
ruby_raider-0.5.1 lib/utilities/open_ai.rb
ruby_raider-0.5.0 lib/utilities/open_ai.rb