Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion swift/Sources/CoreAILanguageModels/Bundle/LanguageConfig.swift
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ public struct LanguageConfig: Codable, Sendable, Equatable {
// 3. Check added_tokens_decoder for turn-ending special tokens
// (e.g. Gemma's <end_of_turn> ID 106, Qwen's <|im_end|>)
// Only include tokens whose content matches known turn-ending patterns.
let turnEndPatterns = ["end_of_turn", "im_end", "eot_id", "endoftext"]
let turnEndPatterns = ["end_of_turn", "im_end", "eot_id", "endoftext", "eot_token"]
if let addedTokens = json["added_tokens_decoder"] as? [String: Any] {
for (idString, value) in addedTokens {
guard let dict = value as? [String: Any],
Expand All @@ -149,6 +149,18 @@ public struct LanguageConfig: Codable, Sendable, Equatable {
}
}

// 4. Check for turn-ending tokens in in top level of config
for turnEndPattern in turnEndPatterns {
if let eotToken = json[turnEndPattern] as? String {
if let id = tokenizer.convertTokenToId(eotToken) {
let id32 = Int32(id)
if id32 != mainEos {
result.insert(id32)
}
}
}
}

return Array(result)
}
}
Expand Down