GoodMem
ReferenceClient SDKsJavaConfiguration

ChunkingConfiguration Configuration

ChunkingConfiguration Configuration documentation for Java SDK

ChunkingConfiguration

Configuration for text chunking strategy used when processing content. Exactly one of none, recursive, or sentence must be provided.

Properties

NameTypeDescriptionNotes
noneObjectNo chunking strategy - preserves original content as a single unit[optional]
recursiveRecursiveChunkingConfiguration[optional]
sentenceSentenceChunkingConfiguration[optional]

Usage Example

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

// Option 1: No chunking (preserve content as a single unit)
ChunkingConfigurationOneOf noneVariant = new ChunkingConfigurationOneOf().none(new Object());
ChunkingConfiguration configNone = new ChunkingConfiguration(noneVariant);

// Option 2: Recursive chunking
RecursiveChunkingConfiguration recursive = new RecursiveChunkingConfiguration()
    .chunkSize(512)
    .chunkOverlap(64)
    .keepStrategy(SeparatorKeepStrategy.KEEP_END)
    .lengthMeasurement(LengthMeasurement.CHARACTER_COUNT);
ChunkingConfigurationOneOf1 recursiveVariant = new ChunkingConfigurationOneOf1().recursive(recursive);
ChunkingConfiguration configRecursive = new ChunkingConfiguration(recursiveVariant);

// Option 3: Sentence-based chunking
SentenceChunkingConfiguration sentence = new SentenceChunkingConfiguration()
    .maxChunkSize(1024)
    .minChunkSize(100)
    .lengthMeasurement(LengthMeasurement.CHARACTER_COUNT);
ChunkingConfigurationOneOf2 sentenceVariant = new ChunkingConfigurationOneOf2().sentence(sentence);
ChunkingConfiguration configSentence = new ChunkingConfiguration(sentenceVariant);

// Reading from a response (auto-detects which variant)
Space space = spacesApi.getSpace(spaceId);
ChunkingConfiguration config = space.getDefaultChunkingConfig();
Object actual = config.getActualInstance();
if (actual instanceof ChunkingConfigurationOneOf1) {
    System.out.println("Recursive chunking");
}