Module: Legion::Extensions::Agentic::Attention::LatentInhibition::Runners::LatentInhibition
- Includes:
- Helpers::Lex
- Included in:
- Client
- Defined in:
- lib/legion/extensions/agentic/attention/latent_inhibition/runners/latent_inhibition.rb
Instance Method Summary collapse
- #associate(label:, outcome:, engine: nil) ⇒ Object
- #disinhibit(label:, intensity: 1.0, engine: nil) ⇒ Object
- #expose(label:, engine: nil) ⇒ Object
- #inhibition_report(engine: nil) ⇒ Object
- #most_inhibited(limit: 10, engine: nil) ⇒ Object
- #novel_stimuli(engine: nil) ⇒ Object
Instance Method Details
#associate(label:, outcome:, engine: nil) ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/legion/extensions/agentic/attention/latent_inhibition/runners/latent_inhibition.rb', line 24 def associate(label:, outcome:, engine: nil, **) eng = engine || default_engine result = eng.attempt_association(label: label, outcome: outcome) log.debug("[latent_inhibition] associate: label=#{label} outcome=#{outcome} " \ "effectiveness=#{result[:effectiveness].round(4)} blocked=#{result[:blocked]}") result end |
#disinhibit(label:, intensity: 1.0, engine: nil) ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/legion/extensions/agentic/attention/latent_inhibition/runners/latent_inhibition.rb', line 33 def disinhibit(label:, intensity: 1.0, engine: nil, **) eng = engine || default_engine result = eng.disinhibit(label: label, intensity: intensity) log.debug("[latent_inhibition] disinhibit: label=#{label} " \ "prior=#{result[:prior_score]&.round(4)} new=#{result[:new_score]&.round(4)}") result end |
#expose(label:, engine: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/legion/extensions/agentic/attention/latent_inhibition/runners/latent_inhibition.rb', line 13 def expose(label:, engine: nil, **) eng = engine || default_engine result = eng.expose_stimulus(label: label) log.debug("[latent_inhibition] expose: label=#{label} " \ "exposure_count=#{result[:exposure_count]} " \ "inhibition=#{result[:inhibition_score].round(4)} " \ "label=#{result[:inhibition_label]} novel=#{result[:novel]}") result end |
#inhibition_report(engine: nil) ⇒ Object
58 59 60 61 62 63 64 65 |
# File 'lib/legion/extensions/agentic/attention/latent_inhibition/runners/latent_inhibition.rb', line 58 def inhibition_report(engine: nil, **) eng = engine || default_engine report = eng.inhibition_report log.debug("[latent_inhibition] report: total=#{report[:total_stimuli]} " \ "novel=#{report[:novel_count]} mean=#{report[:mean_inhibition]&.round(4)}") report end |
#most_inhibited(limit: 10, engine: nil) ⇒ Object
50 51 52 53 54 55 56 |
# File 'lib/legion/extensions/agentic/attention/latent_inhibition/runners/latent_inhibition.rb', line 50 def most_inhibited(limit: 10, engine: nil, **) eng = engine || default_engine stimuli = eng.most_inhibited(limit: limit) log.debug("[latent_inhibition] most_inhibited: limit=#{limit} returned=#{stimuli.size}") { stimuli: stimuli, count: stimuli.size } end |
#novel_stimuli(engine: nil) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/legion/extensions/agentic/attention/latent_inhibition/runners/latent_inhibition.rb', line 42 def novel_stimuli(engine: nil, **) eng = engine || default_engine stimuli = eng.novel_stimuli log.debug("[latent_inhibition] novel_stimuli: count=#{stimuli.size}") { stimuli: stimuli, count: stimuli.size } end |