Skip to main content

ClikaRT::tokenizer::PreTokenizer

class

Header: ClikaRT/tokenizer/builder.h

The pre-segmentation stage (optional): cuts text into pieces the model tokenizes independently (whitespace, byte-level, metaspace, regex splits). Composable via sequence(); move-only handle consumed by TokenizerBuilder::pre_tokenizer.

Types

enum PrependScheme

enum class PrependScheme

Where a metaspace pre-tokenizer prepends its marker.

EnumeratorDescription
Always
First
Never

Declared in ClikaRT/tokenizer/builder.h, line 198

enum SplitDelimiterBehavior

enum class SplitDelimiterBehavior

How a split keeps or drops the delimiter it matched.

EnumeratorDescription
RemovedDrop the matched delimiter.
IsolatedKeep the delimiter as its own piece.
MergedWithPreviousGlue the delimiter onto the piece before it.
MergedWithNextGlue the delimiter onto the piece after it.
ContiguousMerge a RUN of delimiters into one piece.

Declared in ClikaRT/tokenizer/builder.h, line 200

Static member functions

bert()

static PreTokenizer bert()

The BERT pre-tokenizer (whitespace + punctuation).

Declared in ClikaRT/tokenizer/builder.h, line 214

byte_level()

static PreTokenizer byte_level(
    bool add_prefix_space = true,
    bool trim_offsets = true,
    bool use_regex = true
)

GPT-2 byte-level pre-tokenizer. add_prefix_space inserts a leading space; use_regex applies the GPT-2 token regex.

Declared in ClikaRT/tokenizer/builder.h, line 217

digits()

static PreTokenizer digits(bool individual_digits = false)

Split runs of digits (optionally each digit individually).

Declared in ClikaRT/tokenizer/builder.h, line 220

metaspace()

static PreTokenizer metaspace(
    std::string_view replacement = "\xe2\x96\x81",
    PrependScheme prepend_scheme = PrependScheme::Always,
    bool split = true
)

SentencePiece-style metaspace: replace spaces with replacement (default , U+2581). split also breaks on the marker.

Declared in ClikaRT/tokenizer/builder.h, line 223

sequence()

static PreTokenizer sequence(std::vector<PreTokenizer> pretokenizers)

Apply a list of pre-tokenizers in order (each consumed).

Declared in ClikaRT/tokenizer/builder.h, line 227

split()

static PreTokenizer split(
    std::string_view pattern,
    SplitDelimiterBehavior behavior = SplitDelimiterBehavior::Isolated,
    bool invert = false,
    bool is_regex = true
)

Split on pattern. is_regex selects regex vs exact-string; invert splits on the complement; raises if a regex does not compile.

Declared in ClikaRT/tokenizer/builder.h, line 234

whitespace_split()

static PreTokenizer whitespace_split()

Split on whitespace only.

Declared in ClikaRT/tokenizer/builder.h, line 240

Member functions

PreTokenizer(void)

explicit PreTokenizer(void* impl) noexcept

Declared in ClikaRT/tokenizer/builder.h, line 242

PreTokenizer(PreTokenizer)

PreTokenizer(PreTokenizer&& other) noexcept

Move-only handle; the moved-from object is empty.

Declared in ClikaRT/tokenizer/builder.h, line 244

operator=()

PreTokenizer& operator=(PreTokenizer&& other) noexcept

Move-only handle; the moved-from object is empty.

Declared in ClikaRT/tokenizer/builder.h, line 246

~PreTokenizer()

~PreTokenizer()

Releases the pre-tokenizer.

Declared in ClikaRT/tokenizer/builder.h, line 248