5 instantiations of TiktokenTokenizer
Microsoft.ML.Tokenizers (5)
Model\TiktokenTokenizer.cs (5)
1332
return new
TiktokenTokenizer
(
1360
=> new
TiktokenTokenizer
(vocabFilePath, preTokenizer, specialTokens, normalizer, cacheSize);
1380
=> new
TiktokenTokenizer
(vocabStream, preTokenizer, specialTokens, normalizer, cacheSize);
1411
return new
TiktokenTokenizer
(encoder, decoder, vocab, preTokenizer, specialTokens, normalizer, cacheSize);
1475
return new
TiktokenTokenizer
(vocabStream,
109 references to TiktokenTokenizer
Microsoft.Extensions.AI.Integration.Tests (1)
ReducingChatClientTests.cs (1)
21
private static readonly Tokenizer _gpt4oTokenizer =
TiktokenTokenizer
.CreateForModel("gpt-4o");
Microsoft.Extensions.DataIngestion.Tests (19)
Chunkers\ChunkerOptionsTests.cs (1)
12
private static readonly Tokenizer _tokenizer =
TiktokenTokenizer
.CreateForModel("gpt-4");
Chunkers\HeaderChunkerTests.cs (8)
39
HeaderChunker chunker = new(new(
TiktokenTokenizer
.CreateForModel("gpt-4")));
71
HeaderChunker chunker = new(new(
TiktokenTokenizer
.CreateForModel("gpt-4")) { MaxTokensPerChunk = 13 });
96
HeaderChunker lessThanContext = new(new(
TiktokenTokenizer
.CreateForModel("gpt-4")) { MaxTokensPerChunk = 5 });
99
HeaderChunker sameAsContext = new(new(
TiktokenTokenizer
.CreateForModel("gpt-4")) { MaxTokensPerChunk = 6 });
119
HeaderChunker chunker = new(new(
TiktokenTokenizer
.CreateForModel("gpt-4")) { MaxTokensPerChunk = 30 });
136
HeaderChunker chunker = new(new(
TiktokenTokenizer
.CreateForModel("gpt-4")) { MaxTokensPerChunk = 37 });
146
HeaderChunker chunker = new(new(
TiktokenTokenizer
.CreateForModel("gpt-4")) { MaxTokensPerChunk = 100 });
175
Tokenizer tokenizer =
TiktokenTokenizer
.CreateForModel("gpt-4");
Chunkers\NoOverlapTokenChunkerTests.cs (2)
16
var
tokenizer =
TiktokenTokenizer
.CreateForModel("gpt-4o");
Chunkers\OverlapTokenChunkerTests.cs (4)
17
var
tokenizer =
TiktokenTokenizer
.CreateForModel("gpt-4o");
25
var
tokenizer =
TiktokenTokenizer
.CreateForModel("gpt-4o");
Chunkers\SectionChunkerTests.cs (2)
16
var
tokenizer =
TiktokenTokenizer
.CreateForModel("gpt-4o");
Chunkers\SemanticSimilarityChunkerTests.cs (1)
26
Tokenizer tokenizer =
TiktokenTokenizer
.CreateForModel("gpt-4o");
IngestionPipelineTests.cs (1)
226
private static IngestionChunker<string> CreateChunker() => new HeaderChunker(new(
TiktokenTokenizer
.CreateForModel("gpt-4")));
Microsoft.ML.Tokenizers (17)
Model\CodeGenTokenizer.cs (1)
1879
new RegexPreTokenizer(
TiktokenTokenizer
.P50kBaseRegex(), CodeGenTokenizer.CodeGenSpecialTokens),
Model\Phi2Tokenizer.cs (1)
117
vocabStream, mergesStream, new RegexPreTokenizer(
TiktokenTokenizer
.P50kBaseRegex(), CodeGenTokenizer.CodeGenSpecialTokens), normalizer: null,
Model\TiktokenTokenizer.cs (13)
1299
private static
TiktokenTokenizer
CreateForModel(
1354
public static
TiktokenTokenizer
Create(
1374
public static
TiktokenTokenizer
Create(
1395
public static async Task<
TiktokenTokenizer
> CreateAsync(
1427
public static async Task<
TiktokenTokenizer
> CreateAsync(
1453
public static
TiktokenTokenizer
CreateForModel(
1492
public static async Task<
TiktokenTokenizer
> CreateForModelAsync(
1529
public static
TiktokenTokenizer
CreateForModel(string modelName, IReadOnlyDictionary<string, int>? extraSpecialTokens = null, Normalizer? normalizer = null)
1539
public static
TiktokenTokenizer
CreateForEncoding(string encodingName, IReadOnlyDictionary<string, int>? extraSpecialTokens = null, Normalizer? normalizer = null)
1573
throw new ArgumentException($"The encoding name '{encodingName}' is not supported. The only supported encoding names are: {
TiktokenTokenizer
.Cl100kBaseEncodingName}, {
TiktokenTokenizer
.P50kBaseEncodingName}, {
TiktokenTokenizer
.P50kEditEncodingName}, and {
TiktokenTokenizer
.R50kBaseEncodingName}.", nameof(encodingName));
PreTokenizer\RobertaPreTokenizer.cs (2)
32
return SplitText(text,
TiktokenTokenizer
.P50kBaseRegex());
47
return SplitText(text,
TiktokenTokenizer
.P50kBaseRegex());
Microsoft.ML.Tokenizers.Data.Tests (3)
TokenizerDataTests.cs (3)
30
var exception = Record.Exception(() =>
TiktokenTokenizer
.CreateForModel(modelName));
53
TiktokenTokenizer
externalTokenizer =
TiktokenTokenizer
.Create(tokenizerDataFileName, preTokenizer: null, normalizer: null);
Microsoft.ML.Tokenizers.Tests (69)
TiktokenTests.cs (69)
32
public static Tokenizer GPT4 { get; } =
TiktokenTokenizer
.CreateForModel("gpt-4", _specialTokens);
33
public static Tokenizer GPT2 { get; } =
TiktokenTokenizer
.CreateForModel("gpt2");
34
public static Tokenizer P50kBase { get; } =
TiktokenTokenizer
.CreateForModel("text-davinci-003");
35
public static Tokenizer R50kBase { get; } =
TiktokenTokenizer
.CreateForModel("ada");
36
public static Tokenizer P50kEdit { get; } =
TiktokenTokenizer
.CreateForModel("text-davinci-edit-001");
37
public static Tokenizer GPT4o { get; } =
TiktokenTokenizer
.CreateForModel("gpt-4o");
38
public static Tokenizer GPT5 { get; } =
TiktokenTokenizer
.CreateForModel("gpt-5");
39
public static Tokenizer GPT5_1 { get; } =
TiktokenTokenizer
.CreateForModel("gpt-5.1");
40
public static Tokenizer GPT5_2 { get; } =
TiktokenTokenizer
.CreateForModel("gpt-5.2");
41
public static Tokenizer GPT5_3 { get; } =
TiktokenTokenizer
.CreateForModel("gpt-5.3");
42
public static Tokenizer GPT5_4 { get; } =
TiktokenTokenizer
.CreateForModel("gpt-5.4");
43
public static Tokenizer GPT5_5 { get; } =
TiktokenTokenizer
.CreateForModel("gpt-5.5");
44
public static Tokenizer GPT5_6 { get; } =
TiktokenTokenizer
.CreateForModel("gpt-5.6");
45
public static Tokenizer GPT6 { get; } =
TiktokenTokenizer
.CreateForModel("gpt-6");
46
public static Tokenizer Phi4 { get; } =
TiktokenTokenizer
.CreateForModel("phi-4");
47
public static
TiktokenTokenizer
GptOss { get; } =
TiktokenTokenizer
.CreateForModel("gpt-oss-20b");
55
Assert.True(GPT4 is
TiktokenTokenizer
);
56
IReadOnlyDictionary<string, int>? specialTokens = (GPT4 as
TiktokenTokenizer
)!.SpecialTokens;
60
string assemblyName = typeof(
TiktokenTokenizer
).Assembly.FullName!;
71
Tokenizer tokenizer =
TiktokenTokenizer
.Create(tokenizerDataFileName, GPT4.PreTokenizer, null, specialTokens);
76
tokenizer =
TiktokenTokenizer
.Create(stream, GPT4.PreTokenizer, null, specialTokens);
80
tokenizer = await
TiktokenTokenizer
.CreateAsync(tokenizerDataFileName, GPT4.PreTokenizer, normalizer: null, specialTokens);
85
tokenizer = await
TiktokenTokenizer
.CreateAsync(stream, GPT4.PreTokenizer, normalizer: null, specialTokens);
91
tokenizer =
TiktokenTokenizer
.CreateForModel("gpt-4", stream);
97
tokenizer = await
TiktokenTokenizer
.CreateForModelAsync("gpt-3.5-turbo", stream);
101
tokenizer =
TiktokenTokenizer
.CreateForModel("gpt-4");
128
TiktokenTokenizer
tiktoken = (tokenizer as
TiktokenTokenizer
)!;
129
TiktokenTokenizer
externalTokenizer =
TiktokenTokenizer
.Create(tokenizerDataFileName, tokenizer.PreTokenizer, null, tiktoken.SpecialTokens);
153
TestDecodingWithSpan((tokenizer as
TiktokenTokenizer
)!, encoded.ToArray(), text);
170
private void TestDecodingWithSpan(
TiktokenTokenizer
tokenizer, int[] ids, string expectedDecoded)
206
TestDecodingWithSpan((GPT4 as
TiktokenTokenizer
)!, encoded.ToArray(), text);
237
TestDecodingWithSpan((gpt4Tokenizer as
TiktokenTokenizer
)!, encoded.ToArray(), text);
249
TestDecodingWithSpan((GPT4 as
TiktokenTokenizer
)!, encoded.ToArray(), text);
284
TestDecodingWithSpan((GPT4 as
TiktokenTokenizer
)!, encoded.ToArray(), text);
296
foreach (
TiktokenTokenizer
tokenizer in new[] { GPT4o, GptOss, GPT5, GPT5_1, GPT5_2, GPT6 })
349
TestDecodingWithSpan((GPT2 as
TiktokenTokenizer
)!, encoded.ToArray(), text);
368
TestDecodingWithSpan((P50kBase as
TiktokenTokenizer
)!, encoded.ToArray(), text);
387
TestDecodingWithSpan((P50kEdit as
TiktokenTokenizer
)!, encoded.ToArray(), text);
406
TestDecodingWithSpan((R50kBase as
TiktokenTokenizer
)!, encoded.ToArray(), text);
498
Tokenizer tokenizer =
TiktokenTokenizer
.CreateForModel(modelName);
499
Assert.True(tokenizer is
TiktokenTokenizer
);
512
Tokenizer tokenizer =
TiktokenTokenizer
.CreateForEncoding(encodingName);
513
Assert.True(tokenizer is
TiktokenTokenizer
);
527
Tokenizer tokenizer1 =
TiktokenTokenizer
.CreateForModel(modelName);
529
Assert.True(tokenizer is
TiktokenTokenizer
);
530
Assert.True(tokenizer1 is
TiktokenTokenizer
);
532
TiktokenTokenizer
tiktoken = (tokenizer as
TiktokenTokenizer
)!;
533
TiktokenTokenizer
tiktoken1 = (tokenizer1 as
TiktokenTokenizer
)!;
544
Assert.Throws<ArgumentNullException>(() =>
TiktokenTokenizer
.CreateForEncoding(null!));
545
Assert.Throws<ArgumentException>(() =>
TiktokenTokenizer
.CreateForEncoding("r50k_base_"));
546
Assert.Throws<ArgumentException>(() =>
TiktokenTokenizer
.CreateForEncoding("p50k_base_"));
547
Assert.Throws<ArgumentException>(() =>
TiktokenTokenizer
.CreateForEncoding("p50k_edit_"));
548
Assert.Throws<ArgumentException>(() =>
TiktokenTokenizer
.CreateForEncoding("cl100k_base_"));
549
Assert.Throws<ArgumentException>(() =>
TiktokenTokenizer
.CreateForEncoding("o200k_base_"));
550
Assert.Throws<ArgumentException>(() =>
TiktokenTokenizer
.CreateForEncoding("o200k_harmony_"));
581
Tokenizer tokenizer =
TiktokenTokenizer
.CreateForModel(name);
582
Assert.True(tokenizer is
TiktokenTokenizer
);
586
int entriesCount = GetEncoder((tokenizer as
TiktokenTokenizer
)!)!.Count;
863
private static IReadOnlyDictionary<ReadOnlyMemory<byte>, int>? GetEncoder(
TiktokenTokenizer
tiktoken)
864
=> typeof(
TiktokenTokenizer
).GetProperty("Encoder", BindingFlags.Instance | BindingFlags.NonPublic)?.GetValue(tiktoken) as IReadOnlyDictionary<ReadOnlyMemory<byte>, int>;
866
private static IReadOnlyDictionary<int, ReadOnlyMemory<byte>>? GetDecoder(
TiktokenTokenizer
tiktoken)
867
=> typeof(
TiktokenTokenizer
).GetProperty("Decoder", BindingFlags.Instance | BindingFlags.NonPublic)?.GetValue(tiktoken) as IReadOnlyDictionary<int, ReadOnlyMemory<byte>>;
869
private static IReadOnlyDictionary<string, int>? GetVocabulary(
TiktokenTokenizer
tiktoken)
870
=> typeof(
TiktokenTokenizer
).GetProperty("Vocabulary", BindingFlags.Instance | BindingFlags.NonPublic)?.GetValue(tiktoken) as IReadOnlyDictionary<string, int>;