Module: Legion::Extensions::Agentic::Language::ConceptualMetaphor::Runners::ConceptualMetaphor
- Includes:
- Helpers::Lex
- Included in:
- Client
- Defined in:
- lib/legion/extensions/agentic/language/conceptual_metaphor/runners/conceptual_metaphor.rb
Instance Method Summary collapse
- #add_metaphor_entailment(metaphor_id:, entailment:) ⇒ Object
- #apply_metaphor(metaphor_id:, source_concept:) ⇒ Object
- #conceptual_metaphor_stats ⇒ Object
- #conventional_metaphors ⇒ Object
- #create_metaphor(source_domain:, target_domain:, metaphor_type:, mappings:, strength: nil, conventionality: nil) ⇒ Object
- #find_metaphors_for(domain:) ⇒ Object
- #metaphors_by_type(metaphor_type:) ⇒ Object
- #novel_metaphors ⇒ Object
- #strongest_metaphors(limit: 5) ⇒ Object
- #update_conceptual_metaphor ⇒ Object
Instance Method Details
#add_metaphor_entailment(metaphor_id:, entailment:) ⇒ Object
45 46 47 48 49 50 |
# File 'lib/legion/extensions/agentic/language/conceptual_metaphor/runners/conceptual_metaphor.rb', line 45 def (metaphor_id:, entailment:, **) result = engine.add_entailment(metaphor_id: , entailment: entailment) log.debug "[conceptual_metaphor] entailment id=#{[0..7]} " \ "success=#{result[:success]}" result end |
#apply_metaphor(metaphor_id:, source_concept:) ⇒ Object
38 39 40 41 42 43 |
# File 'lib/legion/extensions/agentic/language/conceptual_metaphor/runners/conceptual_metaphor.rb', line 38 def (metaphor_id:, source_concept:, **) result = engine.(metaphor_id: , source_concept: source_concept) log.debug "[conceptual_metaphor] apply id=#{[0..7]} " \ "concept=#{source_concept} mapped=#{result[:mapped]}" { success: true }.merge(result) end |
#conceptual_metaphor_stats ⇒ Object
90 91 92 93 94 |
# File 'lib/legion/extensions/agentic/language/conceptual_metaphor/runners/conceptual_metaphor.rb', line 90 def (**) stats = engine.to_h log.debug "[conceptual_metaphor] stats total=#{stats[:total_metaphors]}" { success: true }.merge(stats) end |
#conventional_metaphors ⇒ Object
58 59 60 61 62 |
# File 'lib/legion/extensions/agentic/language/conceptual_metaphor/runners/conceptual_metaphor.rb', line 58 def (**) = engine. log.debug "[conceptual_metaphor] conventional count=#{.size}" { success: true, metaphors: .map(&:to_h), count: .size } end |
#create_metaphor(source_domain:, target_domain:, metaphor_type:, mappings:, strength: nil, conventionality: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/legion/extensions/agentic/language/conceptual_metaphor/runners/conceptual_metaphor.rb', line 13 def (source_domain:, target_domain:, metaphor_type:, mappings:, strength: nil, conventionality: nil, **) unless Helpers::Constants::METAPHOR_TYPES.include?() return { success: false, error: :invalid_metaphor_type, valid_types: Helpers::Constants::METAPHOR_TYPES } end result = engine.( source_domain: source_domain, target_domain: target_domain, metaphor_type: , mappings: mappings, strength: strength, conventionality: conventionality ) return result unless result.is_a?(Helpers::Metaphor) log.debug "[conceptual_metaphor] created #{source_domain}->#{target_domain} " \ "type=#{} id=#{result.id[0..7]}" { success: true, metaphor_id: result.id, source_domain: source_domain, target_domain: target_domain, metaphor_type: , strength: result.strength, conventionality: result.conventionality } end |
#find_metaphors_for(domain:) ⇒ Object
52 53 54 55 56 |
# File 'lib/legion/extensions/agentic/language/conceptual_metaphor/runners/conceptual_metaphor.rb', line 52 def (domain:, **) = engine.find_by_domain(domain: domain) log.debug "[conceptual_metaphor] find domain=#{domain} count=#{.size}" { success: true, domain: domain, metaphors: .map(&:to_h), count: .size } end |
#metaphors_by_type(metaphor_type:) ⇒ Object
76 77 78 79 80 81 |
# File 'lib/legion/extensions/agentic/language/conceptual_metaphor/runners/conceptual_metaphor.rb', line 76 def (metaphor_type:, **) = engine.by_type(metaphor_type: ) log.debug "[conceptual_metaphor] by_type=#{} count=#{.size}" { success: true, metaphor_type: , metaphors: .map(&:to_h), count: .size } end |
#novel_metaphors ⇒ Object
64 65 66 67 68 |
# File 'lib/legion/extensions/agentic/language/conceptual_metaphor/runners/conceptual_metaphor.rb', line 64 def (**) = engine. log.debug "[conceptual_metaphor] novel count=#{.size}" { success: true, metaphors: .map(&:to_h), count: .size } end |
#strongest_metaphors(limit: 5) ⇒ Object
70 71 72 73 74 |
# File 'lib/legion/extensions/agentic/language/conceptual_metaphor/runners/conceptual_metaphor.rb', line 70 def (limit: 5, **) = engine.strongest(limit: limit) log.debug "[conceptual_metaphor] strongest limit=#{limit} count=#{.size}" { success: true, metaphors: .map(&:to_h), count: .size } end |
#update_conceptual_metaphor ⇒ Object
83 84 85 86 87 88 |
# File 'lib/legion/extensions/agentic/language/conceptual_metaphor/runners/conceptual_metaphor.rb', line 83 def (**) engine.decay_all pruned = engine.prune_weak log.debug "[conceptual_metaphor] decay+prune pruned=#{pruned}" { success: true, pruned: pruned } end |