Class: PromptBuilder::Content::ReasoningText

Inherits:
Base
  • Object
show all
Defined in:
lib/prompt_builder/content/reasoning_text.rb

Overview

Represents reasoning text content from the model.

Constant Summary

Constants inherited from Base

Base::TYPES

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(text:, **extra) ⇒ ReasoningText

Create a new ReasoningText content object.

Parameters:

  • text (String)

    the reasoning text content

  • extra (Hash)

    provider-specific extra keyword arguments



17
18
19
20
# File 'lib/prompt_builder/content/reasoning_text.rb', line 17

def initialize(text:, **extra)
  @text = text&.to_s
  @extra = extra.transform_keys(&:to_s)
end

Instance Attribute Details

#extraHash? (readonly)

Returns provider-specific extra data.

Returns:

  • (Hash, nil)

    provider-specific extra data



11
12
13
# File 'lib/prompt_builder/content/reasoning_text.rb', line 11

def extra
  @extra
end

#textString (readonly)

Returns the reasoning text content.

Returns:

  • (String)

    the reasoning text content



8
9
10
# File 'lib/prompt_builder/content/reasoning_text.rb', line 8

def text
  @text
end

Class Method Details

.from_h(hash) ⇒ ReasoningText

Deserialize a ReasoningText from a Hash.

Parameters:

  • hash (Hash)

    a Hash with string keys

Returns:



27
28
29
# File 'lib/prompt_builder/content/reasoning_text.rb', line 27

def from_h(hash)
  new(text: hash["text"], **hash.except("type", "text").transform_keys(&:to_sym))
end

Instance Method Details

#to_hHash

Serialize to a Hash with string keys.

Returns:

  • (Hash)


35
36
37
38
39
# File 'lib/prompt_builder/content/reasoning_text.rb', line 35

def to_h
  h = {"type" => "reasoning_text", "text" => @text}
  h = PromptBuilder.jsonify(@extra).merge(h) unless @extra.empty?
  h
end