Sha256: 84860e4ef84389ee85812ce259ba5a02287f3a8cde0e5a7e51f928f47407af43
Contents?: true
Size: 1.08 KB
Versions: 2
Compression:
Stored size: 1.08 KB
Contents
# frozen_string_literal: true require_relative "quick_openai/version" require_relative "quick_openai/dalle2" require_relative "quick_openai/gpt3" require_relative "quick_openai/extensions/string" module QuickOpenAI class Error < StandardError; end class << self def client OpenAI::Client.new(access_token: ENV["OPENAI_ACCESS_TOKEN"]) end def fetch_response_from_client ensure_access_token! begin response = yield client rescue StandardError raise QuickOpenAI::Error, "Unable to fetch response." end ensure_no_error!(response) response end private def ensure_access_token! return if ENV.key?("OPENAI_ACCESS_TOKEN") raise QuickOpenAI::Error, "Make sure OPENAI_ACCESS_TOKEN is present in ENV." end def ensure_no_error!(response) return unless (error = response.dig("error", "message")) raise QuickOpenAI::Error, "Unable to fetch response: #{error}" end end end require "down" require "ruby/openai" require "tempfile" class String include QuickOpenAI::Extensions::String end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
quick_openai-0.1.3 | lib/quick_openai.rb |
quick_openai-0.1.2 | lib/quick_openai.rb |