Class: Boxcars::ToolTrain::MessagePrompt

Inherits:
Prompt
  • Object
show all
Defined in:
lib/boxcars/train/tool_train.rb

Overview

Lightweight prompt wrapper so engine adapters can send an exact message list.

Instance Attribute Summary

Attributes inherited from Prompt

#input_variables, #other_inputs, #output_variables, #template

Instance Method Summary collapse

Methods inherited from Prompt

#as_intelligence_conversation, #default_prefixes, #format, #with_conversation

Constructor Details

#initialize(messages) ⇒ MessagePrompt

Returns a new instance of MessagePrompt.



12
13
14
15
# File 'lib/boxcars/train/tool_train.rb', line 12

def initialize(messages)
  @messages = messages
  super(template: "")
end

Instance Method Details

#as_messages(_inputs = nil) ⇒ Object



17
18
19
# File 'lib/boxcars/train/tool_train.rb', line 17

def as_messages(_inputs = nil)
  { messages: @messages }
end

#as_prompt(_inputs: nil) ⇒ Object



21
22
23
# File 'lib/boxcars/train/tool_train.rb', line 21

def as_prompt(_inputs: nil, **)
  { prompt: @messages.map { |m| "#{m[:role]}: #{message_content(m)}" }.join("\n") }
end