Something went wrong. Try again.
Routing embedding stack for Qwen3-Embedding-0.6B on Apple Silicon: orchestrator + MLX + llama.cpp backends
Something went wrong. Try again.
1.7 kB · 46 lines
Swift
at main
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647import Foundationimport MLXLMCommonimport Tokenizers
/// Bridges swift-transformers' `AutoTokenizer` to `MLXLMCommon.Tokenizer`./// This is the non-macro equivalent of `#huggingFaceTokenizerLoader()`.struct HFTokenizerLoader: TokenizerLoader { func load(from directory: URL) async throws -> any MLXLMCommon.Tokenizer { let upstream = try await AutoTokenizer.from(modelFolder: directory) return HFTokenizerBridge(upstream) }}
private struct HFTokenizerBridge: MLXLMCommon.Tokenizer { let upstream: any Tokenizers.Tokenizer
init(_ upstream: any Tokenizers.Tokenizer) { self.upstream = upstream }
func encode(text: String, addSpecialTokens: Bool) -> [Int] { upstream.encode(text: text, addSpecialTokens: addSpecialTokens) }
func decode(tokenIds: [Int], skipSpecialTokens: Bool) -> String { upstream.decode(tokens: tokenIds, skipSpecialTokens: skipSpecialTokens) }
func convertTokenToId(_ token: String) -> Int? { upstream.convertTokenToId(token) } func convertIdToToken(_ id: Int) -> String? { upstream.convertIdToToken(id) }
var bosToken: String? { upstream.bosToken } var eosToken: String? { upstream.eosToken } var unknownToken: String? { upstream.unknownToken }
func applyChatTemplate( messages: [[String: any Sendable]], tools: [[String: any Sendable]]?, additionalContext: [String: any Sendable]? ) throws -> [Int] { do { return try upstream.applyChatTemplate( messages: messages, tools: tools, additionalContext: additionalContext) } catch Tokenizers.TokenizerError.missingChatTemplate { throw MLXLMCommon.TokenizerError.missingChatTemplate } }}