Class: Request
- Inherits:
-
Object
- Object
- Request
- Defined in:
- lib/request.rb
Overview
request
Instance Attribute Summary collapse
-
#request ⇒ Object
Returns the value of attribute request.
-
#uri ⇒ Object
Returns the value of attribute uri.
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(options) ⇒ Request
constructor
A new instance of Request.
- #request_body(options) ⇒ Object
Constructor Details
#initialize(options) ⇒ Request
Returns a new instance of Request.
10 11 12 13 14 15 16 |
# File 'lib/request.rb', line 10 def initialize() @uri = URI(.credentials.url) @request = Net::HTTP::Post.new(@uri) @request['Content-Type'] = 'application/json' @request['Authorization'] = "Bearer #{.credentials.key}" request_body() end |
Instance Attribute Details
#request ⇒ Object
Returns the value of attribute request.
8 9 10 |
# File 'lib/request.rb', line 8 def request @request end |
#uri ⇒ Object
Returns the value of attribute uri.
8 9 10 |
# File 'lib/request.rb', line 8 def uri @uri end |
Instance Method Details
#call ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/request.rb', line 34 def call response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http| http.request(request) end if response.code.to_i != 200 puts "Error: #{response.code} - #{response.}" puts response.body return end result = JSON.parse(response.body) result.dig('choices', 0, 'message', 'content') end |
#request_body(options) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/request.rb', line 18 def request_body() request.body = { "model": .credentials.model, "messages": [ { "role": 'system', "content": .system_prompt }, { "role": 'user', "content": .user_prompt } ] }.to_json end |