import XCTest @testable import MarkBase final class LongContext12BTest: XCTestCase { var engine: MarkBaseEngine! var model: E4BModel! let modelDir = "/Users/accusys/MarkBaseEngine/models/gemma-4-12b-it-4bit" let maxCtx = 2048 override func setUp() { super.setUp() guard FileManager.default.fileExists(atPath: modelDir + "/model.safetensors.index.json") else { return } engine = try? MarkBaseEngine(autoCompile: true) model = try? E4BModel(modelDir: modelDir, engine: engine, maxContextLength: maxCtx) } func testLongContext256Tokens() throws { try XCTSkipIf(model == nil, "12B model not found") let promptLength = 256 var tokens = [Int]() for i in 0.. maxVal { maxVal = logits[j]; maxIdx = j } } genTokens.append(maxIdx) print(" gen[\(i)]: token=\(maxIdx) logit=\(maxVal)") } } func testFullContext2048Tokens() throws { try XCTSkipIf(model == nil, "12B model not found") let promptLength = maxCtx var tokens = [Int]() for i in 0.. maxVal { maxVal = logits[j]; maxIdx = j } } genTokens.append(maxIdx) print(" gen[\(i)]: token=\(maxIdx) logit=\(maxVal)") } } func testRepeatedTokensFullContext() throws { try XCTSkipIf(model == nil, "12B model not found") let promptLength = maxCtx / 2 for (pos, _) in (0.. maxVal { maxVal = logits[j]; maxIdx = j } } genTokens.append(maxIdx) print(" gen[\(i)]: token=\(maxIdx) logit=\(maxVal)") } } }