Class: SentinelRb::Analyzers::Misinformation

Inherits:
Base
  • Object
show all
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

#client, #config, #prompt

Instance Method Summary collapse

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

#callObject



16
17
18
# File 'lib/sentinel_rb/analyzers/misinformation.rb', line 16

def call
  analyze(@prompt)
end