Class: Raix::MessageAdapters::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/raix/message_adapters/base.rb

Overview

Transforms messages into the format expected by the OpenAI API

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(context) ⇒ Base



13
14
15
# File 'lib/raix/message_adapters/base.rb', line 13

def initialize(context)
  @context = context
end

Instance Attribute Details

#contextObject

Returns the value of attribute context.



9
10
11
# File 'lib/raix/message_adapters/base.rb', line 9

def context
  @context
end

Instance Method Details

#transform(message) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/raix/message_adapters/base.rb', line 17

def transform(message)
  return message if message[:role].present?

  if message[:function].present?
    { role: "assistant", name: message.dig(:function, :name), content: message.dig(:function, :arguments).to_json }
  elsif message[:result].present?
    { role: "function", name: message[:name], content: message[:result] }
  else
    content(message)
  end
end