Sha256: fbe397a3ad1f22aeaa11609730b14bc1077a350cd11bc885ab48ebe57280c055
Contents?: true
Size: 1.86 KB
Versions: 4
Compression:
Stored size: 1.86 KB
Contents
require "faraday" require "faraday/multipart" require_relative "openai/http" require_relative "openai/client" require_relative "openai/files" require_relative "openai/finetunes" require_relative "openai/images" require_relative "openai/models" require_relative "openai/audio" require_relative "openai/version" module OpenAI class Error < StandardError; end class ConfigurationError < Error; end class Configuration attr_writer :access_token attr_accessor :api_type, :api_version, :organization_id, :uri_base, :request_timeout, :extra_headers DEFAULT_API_VERSION = "v1".freeze DEFAULT_URI_BASE = "https://api.openai.com/".freeze DEFAULT_REQUEST_TIMEOUT = 120 def initialize @access_token = nil @api_type = nil @api_version = DEFAULT_API_VERSION @organization_id = nil @uri_base = DEFAULT_URI_BASE @request_timeout = DEFAULT_REQUEST_TIMEOUT @extra_headers = nil end def access_token return @access_token if @access_token error_text = "OpenAI access token missing! See https://github.com/alexrudall/ruby-openai#usage" raise ConfigurationError, error_text end end class << self attr_writer :configuration end def self.configuration @configuration ||= OpenAI::Configuration.new end def self.configure yield(configuration) end # Estimate the number of tokens in a string, using the rules of thumb from OpenAI: # https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them def self.rough_token_count(content = "") raise ArgumentError, "rough_token_count requires a string" unless content.is_a? String return 0 if content.empty? count_by_chars = content.size / 4.0 count_by_words = content.split.size * 4.0 / 3 estimate = ((count_by_chars + count_by_words) / 2.0).round [1, estimate].max end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
ruby-openai-6.0.1 | lib/openai.rb |
ruby-openai-6.0.0 | lib/openai.rb |
ruby-openai-5.2.0 | lib/openai.rb |
ruby-openai-5.1.0 | lib/openai.rb |