Class: Llmemory::Retrieval::MultiSource
- Inherits:
-
Object
- Object
- Llmemory::Retrieval::MultiSource
- Defined in:
- lib/llmemory/retrieval/multi_source.rb
Overview
Combines semantic, episodic and procedural memory for unified retrieval.
Instance Method Summary collapse
-
#initialize(primary:, memory:) ⇒ MultiSource
constructor
A new instance of MultiSource.
- #search_candidates(query, user_id: nil, top_k: 20) ⇒ Object
- #user_id ⇒ Object
Constructor Details
#initialize(primary:, memory:) ⇒ MultiSource
Returns a new instance of MultiSource.
7 8 9 10 |
# File 'lib/llmemory/retrieval/multi_source.rb', line 7 def initialize(primary:, memory:) @primary = primary @memory = memory end |
Instance Method Details
#search_candidates(query, user_id: nil, top_k: 20) ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/llmemory/retrieval/multi_source.rb', line 16 def search_candidates(query, user_id: nil, top_k: 20) uid = user_id || @memory.user_id combined = [] combined.concat(@primary.search_candidates(query, user_id: uid, top_k: top_k)) combined.concat(@memory.episodic.search_candidates(query, user_id: uid, top_k: top_k)) combined.concat(@memory.procedural.search_candidates(query, user_id: uid, top_k: top_k)) combined end |
#user_id ⇒ Object
12 13 14 |
# File 'lib/llmemory/retrieval/multi_source.rb', line 12 def user_id @memory.user_id end |