Class: Aiko::Conversation

Inherits:
Object
  • Object
show all
Defined in:
lib/aiko/conversation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(system_prompt:) ⇒ Conversation

Returns a new instance of Conversation.



7
8
9
10
# File 'lib/aiko/conversation.rb', line 7

def initialize(system_prompt:)
  @system_prompt = system_prompt
  @messages = [{ "role" => "system", "content" => system_prompt }]
end

Instance Attribute Details

#messagesObject (readonly)

Returns the value of attribute messages.



5
6
7
# File 'lib/aiko/conversation.rb', line 5

def messages
  @messages
end

Instance Method Details

#add_assistant(message) ⇒ Object



16
17
18
# File 'lib/aiko/conversation.rb', line 16

def add_assistant(message)
  @messages << message
end

#add_tool_result(tool_call_id:, content:) ⇒ Object



20
21
22
# File 'lib/aiko/conversation.rb', line 20

def add_tool_result(tool_call_id:, content:)
  @messages << { "role" => "tool", "tool_call_id" => tool_call_id, "content" => content }
end

#add_user(text) ⇒ Object



12
13
14
# File 'lib/aiko/conversation.rb', line 12

def add_user(text)
  @messages << { "role" => "user", "content" => text }
end

#clearObject



24
25
26
# File 'lib/aiko/conversation.rb', line 24

def clear
  @messages = [{ "role" => "system", "content" => @system_prompt }]
end