Class: FlexiAdmin::Services::CodeGen::Gpt::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/flexi_admin/services/code_gen/gpt.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response, format:) ⇒ Response

Returns a new instance of Response.



16
17
18
19
# File 'lib/flexi_admin/services/code_gen/gpt.rb', line 16

def initialize(response, format:)
  @response = response
  @format = format
end

Instance Attribute Details

#responseObject (readonly)

Returns the value of attribute response.



14
15
16
# File 'lib/flexi_admin/services/code_gen/gpt.rb', line 14

def response
  @response
end

Instance Method Details

#textObject



21
22
23
# File 'lib/flexi_admin/services/code_gen/gpt.rb', line 21

def text
  response.dig('choices', 0, 'message', 'content')
end

#to_hObject Also known as: as_json



25
26
27
28
29
30
# File 'lib/flexi_admin/services/code_gen/gpt.rb', line 25

def to_h
  JSON.parse(response.dig('choices', 0, 'message', 'content'))
rescue StandardError
  puts "Error parsing JSON: #{text}"
  {}
end

#usageObject



33
34
35
# File 'lib/flexi_admin/services/code_gen/gpt.rb', line 33

def usage
  response.dig('usage', 'total_tokens')
end