Class: Ask::RAG::TextSplitter::RecursiveCharacter
- Defined in:
- lib/ask/rag/text_splitter/recursive_character.rb
Overview
Splits text recursively by descending separator length.
The default separators try paragraph breaks, then line breaks, then sentences, then words, then characters. This produces semantically coherent chunks that fit within chunk_size.
Instance Method Summary collapse
-
#initialize(separators: ["\n\n", "\n", ". ", " ", ""], **options) ⇒ RecursiveCharacter
constructor
A new instance of RecursiveCharacter.
- #split_text(text) ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(separators: ["\n\n", "\n", ". ", " ", ""], **options) ⇒ RecursiveCharacter
Returns a new instance of RecursiveCharacter.
22 23 24 25 |
# File 'lib/ask/rag/text_splitter/recursive_character.rb', line 22 def initialize(separators: ["\n\n", "\n", ". ", " ", ""], **) @separators = separators super(**) end |
Instance Method Details
#split_text(text) ⇒ Object
27 28 29 30 |
# File 'lib/ask/rag/text_splitter/recursive_character.rb', line 27 def split_text(text) splits = split_with_separators(text, @separators) merge_splits(splits) end |