GoodMem
ReferenceClient SDKsJavaConfiguration

RecursiveChunkingConfiguration Configuration

RecursiveChunkingConfiguration Configuration documentation for Java SDK

RecursiveChunkingConfiguration

Recursive hierarchical chunking strategy with configurable separators and overlap

Properties

NameTypeDescriptionNotes
chunkSizeIntegerMaximum size of a chunk (should be ≤ context window)
chunkOverlapIntegerSliding overlap between chunks
separatorsList<String>Hierarchical separator list (order = preference)[optional]
keepStrategySeparatorKeepStrategyHow to handle separators after splitting. KEEP_NONE is deprecated and behaves as KEEP_END.
separatorIsRegexBooleanWhether separators are regex patterns[optional]
lengthMeasurementLengthMeasurementHow to measure chunk length

Usage Example

import ai.pairsys.goodmem.client.model.*;

RecursiveChunkingConfiguration config = new RecursiveChunkingConfiguration()
    .chunkSize(512)
    .chunkOverlap(64)
    .keepStrategy(SeparatorKeepStrategy.KEEP_END)
    .lengthMeasurement(LengthMeasurement.CHARACTER_COUNT);

// With custom separators
RecursiveChunkingConfiguration customConfig = new RecursiveChunkingConfiguration()
    .chunkSize(1024)
    .chunkOverlap(128)
    .addSeparatorsItem("\n\n")
    .addSeparatorsItem("\n")
    .addSeparatorsItem(". ")
    .keepStrategy(SeparatorKeepStrategy.KEEP_END)
    .lengthMeasurement(LengthMeasurement.CHARACTER_COUNT);