Class: Ask::Agent::MemoryWrite
- Inherits:
-
Tool
- Object
- Tool
- Ask::Agent::MemoryWrite
- Defined in:
- lib/ask/agent/memory_write.rb
Overview
Tool that saves facts to the session's durable memory (Memory).
Injected into the session by Session.new(memory: memory).
Instance Method Summary collapse
- #execute(content:) ⇒ Object
-
#initialize(memory:, session_id:) ⇒ MemoryWrite
constructor
A new instance of MemoryWrite.
Constructor Details
#initialize(memory:, session_id:) ⇒ MemoryWrite
Returns a new instance of MemoryWrite.
21 22 23 24 25 |
# File 'lib/ask/agent/memory_write.rb', line 21 def initialize(memory:, session_id:) @memory = memory @session_id = session_id super() end |
Instance Method Details
#execute(content:) ⇒ Object
27 28 29 30 31 32 33 34 35 |
# File 'lib/ask/agent/memory_write.rb', line 27 def execute(content:) entry = @memory.write( content, metadata: { session_id: @session_id, written_at: Time.now.iso8601 } ) Ask::Result.ok(data: "Saved to memory (#{entry.id}): #{entry.content}") rescue ArgumentError => e Ask::Result.error(message: e.) end |