Module: Legion::Extensions::Agentic::Memory::Transfer::Runners::TransferLearning
- Includes:
- Helpers::Lex
- Included in:
- Client
- Defined in:
- lib/legion/extensions/agentic/memory/transfer/runners/transfer_learning.rb
Instance Method Summary collapse
- #attempt_transfer(from_domain:, to_domain:) ⇒ Object
- #get_domain(domain:) ⇒ Object
- #interference_risks(target_domain:) ⇒ Object
- #learn_domain(domain:, amount:) ⇒ Object
- #most_transferable(target_domain:, limit: 5) ⇒ Object
- #set_similarity(domain_a:, domain_b:, similarity:) ⇒ Object
- #transfer_effectiveness(from_domain:, to_domain:) ⇒ Object
- #transfer_report ⇒ Object
Instance Method Details
#attempt_transfer(from_domain:, to_domain:) ⇒ Object
19 20 21 22 23 |
# File 'lib/legion/extensions/agentic/memory/transfer/runners/transfer_learning.rb', line 19 def attempt_transfer(from_domain:, to_domain:, **) result = transfer_engine.attempt_transfer(from_domain: from_domain, to_domain: to_domain) log.info("[transfer_learning] transfer: from=#{from_domain} to=#{to_domain} type=#{result[:type]} effect=#{result[:effect]}") result end |
#get_domain(domain:) ⇒ Object
55 56 57 58 59 60 61 62 63 64 |
# File 'lib/legion/extensions/agentic/memory/transfer/runners/transfer_learning.rb', line 55 def get_domain(domain:, **) entry = transfer_engine.domains[domain] if entry log.debug("[transfer_learning] get_domain: domain=#{domain} proficiency=#{entry.proficiency}") { found: true, domain: entry.to_h } else log.debug("[transfer_learning] get_domain: domain=#{domain} not found") { found: false, domain: domain } end end |
#interference_risks(target_domain:) ⇒ Object
43 44 45 46 47 |
# File 'lib/legion/extensions/agentic/memory/transfer/runners/transfer_learning.rb', line 43 def interference_risks(target_domain:, **) risks = transfer_engine.interference_risks(target_domain: target_domain) log.debug("[transfer_learning] interference_risks: target=#{target_domain} risks=#{risks.size}") { target_domain: target_domain, risks: risks, count: risks.size } end |
#learn_domain(domain:, amount:) ⇒ Object
13 14 15 16 17 |
# File 'lib/legion/extensions/agentic/memory/transfer/runners/transfer_learning.rb', line 13 def learn_domain(domain:, amount:, **) result = transfer_engine.learn_domain(domain: domain, amount: amount) log.info("[transfer_learning] learn: domain=#{domain} amount=#{amount} proficiency=#{result[:proficiency]}") result end |
#most_transferable(target_domain:, limit: 5) ⇒ Object
37 38 39 40 41 |
# File 'lib/legion/extensions/agentic/memory/transfer/runners/transfer_learning.rb', line 37 def most_transferable(target_domain:, limit: 5, **) candidates = transfer_engine.most_transferable(target_domain: target_domain, limit: limit) log.debug("[transfer_learning] most_transferable: target=#{target_domain} found=#{candidates.size}") { target_domain: target_domain, candidates: candidates, count: candidates.size } end |
#set_similarity(domain_a:, domain_b:, similarity:) ⇒ Object
25 26 27 28 29 |
# File 'lib/legion/extensions/agentic/memory/transfer/runners/transfer_learning.rb', line 25 def set_similarity(domain_a:, domain_b:, similarity:, **) sim = transfer_engine.set_similarity(domain_a: domain_a, domain_b: domain_b, similarity: similarity) log.debug("[transfer_learning] similarity set: #{domain_a}<->#{domain_b} similarity=#{sim}") { domain_a: domain_a, domain_b: domain_b, similarity: sim } end |
#transfer_effectiveness(from_domain:, to_domain:) ⇒ Object
31 32 33 34 35 |
# File 'lib/legion/extensions/agentic/memory/transfer/runners/transfer_learning.rb', line 31 def transfer_effectiveness(from_domain:, to_domain:, **) result = transfer_engine.transfer_effectiveness(from_domain: from_domain, to_domain: to_domain) log.debug("[transfer_learning] effectiveness: from=#{from_domain} to=#{to_domain} type=#{result[:type]}") result end |
#transfer_report ⇒ Object
49 50 51 52 53 |
# File 'lib/legion/extensions/agentic/memory/transfer/runners/transfer_learning.rb', line 49 def transfer_report(**) report = transfer_engine.transfer_report log.debug("[transfer_learning] report: domains=#{report[:domain_count]} transfers=#{report[:total_transfers]}") report end |