Class: LlmOrchestrator::Memory

Inherits:
Object
  • Object
show all
Defined in:
lib/llm_orchestrator/memory.rb

Overview

Memory manages conversation history and context for LLM interactions Handles message storage, token limits, and context management

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(max_tokens: 2000) ⇒ Memory

Input prompts of 4-6K are ideal



10
11
12
13
# File 'lib/llm_orchestrator/memory.rb', line 10

def initialize(max_tokens: 2000)
  @messages = []
  @max_tokens = max_tokens # Adjust based on your needs
end

Instance Attribute Details

#messagesObject (readonly)

Returns the value of attribute messages.



7
8
9
# File 'lib/llm_orchestrator/memory.rb', line 7

def messages
  @messages
end

Instance Method Details

#add_message(role, content) ⇒ Object



15
16
17
18
# File 'lib/llm_orchestrator/memory.rb', line 15

def add_message(role, content)
  @messages << { role: role, content: content }
  trim_messages if exceeds_token_limit?
end

#clearObject



20
21
22
# File 'lib/llm_orchestrator/memory.rb', line 20

def clear
  @messages.clear
end

#context_stringObject



24
25
26
# File 'lib/llm_orchestrator/memory.rb', line 24

def context_string
  @messages.map { |msg| "#{msg[:role]}: #{msg[:content]}" }.join("\n")
end