Files
MarkBase Admin ac75faa0cc
CI / build-and-test (push) Has been cancelled
Initial commit: E4B-MarkBase model integration with passing tests
- E4B-MarkBase model (42 layers, 4.4GB) loaded successfully
- All Phase 1-6 tests passed (model loading, forward pass, vision/audio towers, token generation, performance)
- All stress tests passed (5/5 in 127.6s)
  - Concurrent inference
  - Memory stress (67.5 tok/s, 0 NaN)
  - Continuous generation
  - Batch processing
  - Long-running stability
- Swift Metal inference engine with multimodal support
2026-06-23 18:12:35 +08:00

41 lines
1.5 KiB
Swift

import XCTest
@testable import MarkBase
final class CoreTests: XCTestCase {
func testTokenizerSpaces() throws {
let modelDir = "/Users/accusys/MarkBaseEngine/models/E4B-MarkBase"
let tokenizer = try TokenizerFactory.load(modelDir: modelDir)
// Test space preservation
let input = "Hello World"
let tokens = tokenizer.encode(text: input)
let decoded = tokenizer.decode(tokens: tokens)
XCTAssertEqual(decoded.contains(" "), true, "Spaces should be preserved")
}
func testMultimodalPipeline() throws {
let modelDir = "/Users/accusys/MarkBaseEngine/models/E4B-MarkBase"
let engine = try MarkBaseEngine(autoCompile: true)
let mm = try MultimodalModel(modelDir: modelDir, engine: engine, maxContextLength: 512)
XCTAssertNotNil(mm.visionTowerFull, "Vision tower should load")
XCTAssertEqual(mm.visionTowerFull?.config.numHiddenLayers, 16, "Vision tower has 16 layers")
}
func testSamplerFiltering() throws {
let sampler = Sampler()
// Create test logits
var logits = [Float](repeating: 0, count: 262144)
logits[258123] = 30.0 // Unused token with high logit
logits[500] = 29.0 // Regular token
// Test filtering
let sampled = sampler.sample(logits: logits, temperature: 1.0, topK: 50, topP: 0.95, filterUnusedTokens: true)
XCTAssertLessThan(sampled, 258000, "Should not sample unused tokens when filtering enabled")
}
}