Class: Llmemory::LongTerm::FileBased::Retrieval
- Inherits:
-
Object
- Object
- Llmemory::LongTerm::FileBased::Retrieval
- Defined in:
- lib/llmemory/long_term/file_based/retrieval.rb
Instance Method Summary collapse
-
#initialize(user_id:, storage:, llm: nil) ⇒ Retrieval
constructor
A new instance of Retrieval.
- #retrieve(query) ⇒ Object
Constructor Details
Instance Method Details
#retrieve(query) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/llmemory/long_term/file_based/retrieval.rb', line 15 def retrieve(query) all_categories = @storage.list_categories(@user_id) return {} if all_categories.empty? relevant_categories = select_relevant_categories(query, all_categories) summaries = {} relevant_categories.each { |cat| summaries[cat] = @storage.load_category(@user_id, cat) } return summaries if is_sufficient?(query, summaries) search_query = generate_search_query(query, summaries) items = @storage.search_items(@user_id, search_query) return format_items(items) if items.any? resources = @storage.search_resources(@user_id, search_query) format_resources(resources) end |