Class: ChunkerRuby::RecursiveCharacter
- Inherits:
-
BaseSplitter
- Object
- BaseSplitter
- ChunkerRuby::RecursiveCharacter
- Defined in:
- lib/chunker_ruby/recursive_character.rb
Constant Summary collapse
- DEFAULT_SEPARATORS =
["\n\n", "\n", ". ", ", ", " ", ""].freeze
Instance Attribute Summary
Attributes inherited from BaseSplitter
Instance Method Summary collapse
-
#initialize(separators: nil, keep_separator: true, **kwargs) ⇒ RecursiveCharacter
constructor
A new instance of RecursiveCharacter.
- #split(text, metadata: {}) ⇒ Object
Methods inherited from BaseSplitter
Constructor Details
#initialize(separators: nil, keep_separator: true, **kwargs) ⇒ RecursiveCharacter
Returns a new instance of RecursiveCharacter.
7 8 9 10 11 |
# File 'lib/chunker_ruby/recursive_character.rb', line 7 def initialize(separators: nil, keep_separator: true, **kwargs) super(**kwargs) @separators = separators || DEFAULT_SEPARATORS @keep_separator = keep_separator end |
Instance Method Details
#split(text, metadata: {}) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/chunker_ruby/recursive_character.rb', line 13 def split(text, metadata: {}) return [] if text.nil? || text.empty? chunks = recursive_split(text, @separators) merge_chunks(chunks, text, metadata: ) end |