Class: Engram::UseCases::Inject
- Inherits:
-
Object
- Object
- Engram::UseCases::Inject
- Defined in:
- lib/engram/use_cases/inject.rb
Overview
Render recalled memories into a prompt as a clearly delimited block.
Constant Summary collapse
- DEFAULT_HEADER =
"# What you remember about the user"
Instance Method Summary collapse
-
#call(prompt:, memories:) ⇒ Object
Returns a new prompt string.
-
#initialize(header: DEFAULT_HEADER) ⇒ Inject
constructor
A new instance of Inject.
Constructor Details
#initialize(header: DEFAULT_HEADER) ⇒ Inject
Returns a new instance of Inject.
9 10 11 |
# File 'lib/engram/use_cases/inject.rb', line 9 def initialize(header: DEFAULT_HEADER) @header = header end |
Instance Method Details
#call(prompt:, memories:) ⇒ Object
Returns a new prompt string. If there are no memories, the prompt is unchanged.
14 15 16 17 18 19 |
# File 'lib/engram/use_cases/inject.rb', line 14 def call(prompt:, memories:) return prompt if memories.nil? || memories.empty? block = memories.map { |m| "- #{m.content}" }.join("\n") "#{prompt}\n\n#{@header}:\n#{block}" end |