Class: Llmemory::NoiseFilter
- Inherits:
-
Object
- Object
- Llmemory::NoiseFilter
- Defined in:
- lib/llmemory/noise_filter.rb
Constant Summary collapse
- NO_REPLY_MARKER =
"NO_REPLY"- DEFAULT_MIN_CHARS =
10
Class Method Summary collapse
Instance Method Summary collapse
- #filter(conversation_text) ⇒ Object
-
#initialize(min_chars: nil, enabled: true) ⇒ NoiseFilter
constructor
A new instance of NoiseFilter.
Constructor Details
#initialize(min_chars: nil, enabled: true) ⇒ NoiseFilter
Returns a new instance of NoiseFilter.
8 9 10 11 |
# File 'lib/llmemory/noise_filter.rb', line 8 def initialize(min_chars: nil, enabled: true) @min_chars = min_chars || Llmemory.configuration.noise_filter_min_chars @enabled = enabled end |
Class Method Details
.filter?(conversation_text) ⇒ Boolean
30 31 32 33 34 |
# File 'lib/llmemory/noise_filter.rb', line 30 def self.filter?(conversation_text) return conversation_text.to_s unless Llmemory.configuration.noise_filter_enabled new.filter(conversation_text) end |
Instance Method Details
#filter(conversation_text) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/llmemory/noise_filter.rb', line 13 def filter(conversation_text) return conversation_text.to_s unless @enabled lines = conversation_text.to_s.split("\n") seen = {} filtered = lines.select do |line| next false if line.strip.length < @min_chars next false if line.include?(NO_REPLY_MARKER) next false if seen[line.strip] seen[line.strip] = true true end filtered.join("\n").strip end |