Class: ChatGpt2023
- Inherits:
-
Object
- Object
- ChatGpt2023
- Defined in:
- lib/chatgpt2023.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#assistant_recent ⇒ Object
Returns the value of attribute assistant_recent.
Instance Method Summary collapse
-
#chat(s, temperature: 1, max_tokens: 3900) ⇒ Object
(also: #ask)
c = ChatGpt2023.new(apikey: YOUR_API_KEY) r = c.chat ‘who is Burt Reynolds?’ r2 = c.chat ‘what age was he?’ r3 = c.chat ‘did he have family?’.
- #chats(s = nil, messages: [], temperature: 1, max_tokens: 3900, n: 1) ⇒ Object
- #code_completion(s, temperature: 1, max_tokens: 32) ⇒ Object
-
#code_completions(s, temperature: 1, max_tokens: 32, n: 1) ⇒ Object
Example c = ChatGpt2023.new(apikey: ‘yourapikey’) s = ‘ # Ruby # Ask the user for their name and say “Hello” ’ r = c.code_completions s, temperature: 0.2 puts r.first.
- #completion(s, temperature: 1, max_tokens: 32) ⇒ Object (also: #complete)
- #completions(s, temperature: 1, max_tokens: 32, n: 1) ⇒ Object
- #edits(s, s2) ⇒ Object
- #image(s) ⇒ Object (also: #imagine)
- #images(s) ⇒ Object
- #images_edit(s, image, mask: nil) ⇒ Object
-
#initialize(apikey: nil, attempts: 1, debug: false) ⇒ ChatGpt2023
constructor
A new instance of ChatGpt2023.
Constructor Details
#initialize(apikey: nil, attempts: 1, debug: false) ⇒ ChatGpt2023
Returns a new instance of ChatGpt2023.
44 45 46 47 48 49 50 51 52 |
# File 'lib/chatgpt2023.rb', line 44 def initialize(apikey: nil, attempts: 1, debug: false) @apiurl = "https://api.openai.com/v1" raise 'You must supply an API key!' unless apikey @apikey, @attempts, @debug = apikey, attempts, debug @assistant_recent = nil end |
Instance Attribute Details
#assistant_recent ⇒ Object
Returns the value of attribute assistant_recent.
42 43 44 |
# File 'lib/chatgpt2023.rb', line 42 def assistant_recent @assistant_recent end |
Instance Method Details
#chat(s, temperature: 1, max_tokens: 3900) ⇒ Object Also known as: ask
c = ChatGpt2023.new(apikey: YOUR_API_KEY) r = c.chat ‘who is Burt Reynolds?’ r2 = c.chat ‘what age was he?’ r3 = c.chat ‘did he have family?’
74 75 76 77 78 |
# File 'lib/chatgpt2023.rb', line 74 def chat(s, temperature: 1, max_tokens: 3900) r = chats(s, temperature: temperature, max_tokens: max_tokens) return r if r.is_a?(Hash) return {text: r.first[:message][:content].strip} end |
#chats(s = nil, messages: [], temperature: 1, max_tokens: 3900, n: 1) ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/chatgpt2023.rb', line 80 def chats(s=nil, messages: [], temperature: 1, max_tokens: 3900, n: 1) << @assistant_recent if @assistant_recent << {'role' => 'user', 'content' => s } if s r = go_chat(, temperature: temperature, max_tokens: max_tokens, n: n) puts 'chat/completions r: ' + r.inspect if @debug if r[:error] then r r else @assistant_recent = r[:choices].first[:message] r[:choices] end end |
#code_completion(s, temperature: 1, max_tokens: 32) ⇒ Object
116 117 118 119 120 |
# File 'lib/chatgpt2023.rb', line 116 def code_completion(s, temperature: 1, max_tokens: 32) r = code_completions(s, temperature: temperature, max_tokens: max_tokens) return r if r.is_a?(Hash) return {text: r.first[:text].strip} end |
#code_completions(s, temperature: 1, max_tokens: 32, n: 1) ⇒ Object
Example c = ChatGpt2023.new(apikey: ‘yourapikey’) s = ‘ # Ruby # Ask the user for their name and say “Hello” ’ r = c.code_completions s, temperature: 0.2 puts r.first
107 108 109 110 111 112 113 114 |
# File 'lib/chatgpt2023.rb', line 107 def code_completions(s, temperature: 1, max_tokens: 32, n: 1) r = go_code(s, temperature: temperature, max_tokens: max_tokens, n: n) puts 'code r: ' + r.inspect if @debug r[:error] ? r : r[:choices] end |
#completion(s, temperature: 1, max_tokens: 32) ⇒ Object Also known as: complete
131 132 133 134 135 |
# File 'lib/chatgpt2023.rb', line 131 def completion(s, temperature: 1, max_tokens: 32) r = completions(s, temperature: temperature, max_tokens: max_tokens) return r if r.is_a?(Hash) return {text: r.first[:text].strip} end |
#completions(s, temperature: 1, max_tokens: 32, n: 1) ⇒ Object
122 123 124 125 126 127 128 129 |
# File 'lib/chatgpt2023.rb', line 122 def completions(s, temperature: 1, max_tokens: 32, n: 1) r = go_completions(s, temperature: temperature, max_tokens: max_tokens, n: n) puts 'completions r: ' + r.inspect if @debug r[:error] ? r : r[:choices] end |
#edits(s, s2) ⇒ Object
140 141 142 |
# File 'lib/chatgpt2023.rb', line 140 def edits(s, s2) r = go_edits(s, s2) end |
#image(s) ⇒ Object Also known as: imagine
148 149 150 151 |
# File 'lib/chatgpt2023.rb', line 148 def image(s) r = images(s) Down.download(r[:data].first[:url] ) end |
#images(s) ⇒ Object
144 145 146 |
# File 'lib/chatgpt2023.rb', line 144 def images(s) go_images_generations(s) end |
#images_edit(s, image, mask: nil) ⇒ Object
155 156 157 |
# File 'lib/chatgpt2023.rb', line 155 def images_edit(s, image, mask: nil) go_images_edits(s, image, mask: mask) end |