Class: OxAiWorkers::Request

Inherits:
ModuleRequest show all
Defined in:
lib/oxaiworkers/request.rb

Instance Attribute Summary

Attributes inherited from ModuleRequest

#call_stack, #client, #custom_id, #errors, #is_truncated, #last_call, #messages, #model, #result, #stop_double_calls, #tool_calls, #tools

Instance Method Summary collapse

Methods inherited from ModuleRequest

#append, #cleanup, #initialize_requests, #not_found_is_ok, #params, #parse_choices

Instance Method Details

#completed?Boolean

Returns:

  • (Boolean)


31
32
33
34
35
36
37
# File 'lib/oxaiworkers/request.rb', line 31

def completed?
  # Truncated response is not considered complete,
  # so the iterator continues processing
  return false if @is_truncated

  @result.present? or @errors.present? or @tool_calls.present?
end

#finishObject



7
8
9
10
# File 'lib/oxaiworkers/request.rb', line 7

def finish
  @custom_id = SecureRandom.uuid
  cleanup
end

#finish_without_cleanupObject

Method to finish without clearing messages



13
14
15
16
17
18
19
20
# File 'lib/oxaiworkers/request.rb', line 13

def finish_without_cleanup
  @custom_id = SecureRandom.uuid
  # Clear only result and errors, but not messages
  @result = nil
  @errors = nil
  @tool_calls = nil
  @is_truncated = false
end

#request!Object



22
23
24
25
# File 'lib/oxaiworkers/request.rb', line 22

def request!
  response = @model.request(params)
  parse_choices(response)
end

#requested?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/oxaiworkers/request.rb', line 27

def requested?
  false
end