Class: AskGptCli::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/ask_gpt_cli.rb

Constant Summary collapse

API_KEY =
ENV['OPENAI_API_KEY']
MODEL =
ENV['ASK_GPT_MODEL'] || 'gpt-3.5-turbo'

Instance Method Summary collapse

Instance Method Details

#askObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/ask_gpt_cli.rb', line 15

def ask
  incomplete_setup_text = 'Setup incomplete. Make sure you have set the OPENAI_API_KEY environment variable.'
  welcome_text = 'Welcome to Ask GPT CLI!. Ask me anything. Type "!q" to quit.'

  ask_gpt = AskGpt::GPT.new(API_KEY, model: MODEL)

  puts welcome_text

  loop do
    break unless key_exists? || puts(incomplete_setup_text)

    print "\nYou: "
    question = gets.chomp
    if question == '!q'
      puts "\nBye!"
      break
    end

    answer = ask_gpt.ask(question)
    puts "\nGPT: #{answer}"
  end
end

#key_exists?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/ask_gpt_cli.rb', line 11

def key_exists?
  !API_KEY.nil?
end