Class: Purizumu::Engines::Xai::PayloadBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/purizumu/engines/xai/payload_builder.rb

Overview

Builds the tool-enforced request payload sent to xAI.

Constant Summary collapse

TOOL_NAME =
Xai::TOOL_NAME

Instance Method Summary collapse

Constructor Details

#initialize(configuration:, request:) ⇒ PayloadBuilder

Returns a new instance of PayloadBuilder.



10
11
12
13
# File 'lib/purizumu/engines/xai/payload_builder.rb', line 10

def initialize(configuration:, request:)
  @configuration = configuration
  @request = request
end

Instance Method Details

#to_json(*_args) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/purizumu/engines/xai/payload_builder.rb', line 15

def to_json(*_args)
  {
    model: configuration.model,
    messages: messages,
    tools: [tool_definition],
    tool_choice: tool_choice
  }.to_json
end