Class: SentinelRb::Analyzers::Misinformation
- Defined in:
- lib/sentinel_rb/analyzers/misinformation.rb
Overview
A2: Misinformation Detection Detects prompts that may contain or encourage the generation of misinformation
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #analyze(prompt) ⇒ Object
- #call ⇒ Object
-
#initialize(prompt, config, client) ⇒ Misinformation
constructor
A new instance of Misinformation.
Constructor Details
#initialize(prompt, config, client) ⇒ Misinformation
Returns a new instance of Misinformation.
10 11 12 13 14 |
# File 'lib/sentinel_rb/analyzers/misinformation.rb', line 10 def initialize(prompt, config, client) super @fact_check_threshold = config["fact_check_threshold"] || 0.7 @misinformation_keywords = config["misinformation_keywords"] || default_misinformation_keywords end |
Instance Method Details
#analyze(prompt) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/sentinel_rb/analyzers/misinformation.rb', line 20 def analyze(prompt) findings = [] # Check for explicit misinformation instruction patterns findings.concat(check_misinformation_instructions(prompt)) # Check for conspiracy theory keywords findings.concat(check_conspiracy_patterns(prompt)) # Check for medical/health misinformation patterns findings.concat(check_medical_misinformation(prompt)) # For statements that claim to be facts, attempt fact-checking findings.concat(check_factual_claims(prompt)) findings end |
#call ⇒ Object
16 17 18 |
# File 'lib/sentinel_rb/analyzers/misinformation.rb', line 16 def call analyze(@prompt) end |