Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -280,13 +280,13 @@ struct GenerableRoundTripTests {
kvBits: Int? = nil
) async throws -> String {
try await container.perform { context in
let xgTokenizer = try await MLXLanguageModel.makeXGTokenizer(
let grammarTokenizer = try await MLXLanguageModel.makeGrammarTokenizer(
modelID: modelID,
tokenizer: context.tokenizer
)

let constraint = try GrammarConstraint(
tokenizer: xgTokenizer,
tokenizer: grammarTokenizer,
jsonSchema: jsonSchema,
fastForward: true,
hostTokenizer: context.tokenizer
Expand Down Expand Up @@ -320,7 +320,7 @@ struct GenerableRoundTripTests {
context: context,
constraint: constraint,
maxTokens: maxTokens,
vocabSize: Int(xgTokenizer.vocabSize),
vocabSize: Int(grammarTokenizer.vocabSize),
kvBits: kvBits,
completionReserve: completionReserve,
hardReserve: hardReserve,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,12 @@ struct EmitStopSignalTests {
let container = try await loadTestModelContainer(id: TestFixtures.defaultModelID)

try await container.perform { context in
let xgTokenizer = try await MLXLanguageModel.makeXGTokenizer(
let grammarTokenizer = try await MLXLanguageModel.makeGrammarTokenizer(
modelID: TestFixtures.defaultModelID,
tokenizer: context.tokenizer
)
let constraint = try GrammarConstraint(
tokenizer: xgTokenizer,
tokenizer: grammarTokenizer,
jsonSchema: schema,
fastForward: true,
hostTokenizer: context.tokenizer
Expand All @@ -83,7 +83,7 @@ struct EmitStopSignalTests {
context: context,
constraint: constraint,
maxTokens: 128,
vocabSize: Int(xgTokenizer.vocabSize)
vocabSize: Int(grammarTokenizer.vocabSize)
) { _ in
callCount += 1
if firstFalseAt != nil {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ struct FastForwardTokenizationDisagreementTests {
}

try await qwenContainer.perform { qwenContext in
let xgTokenizer = try GrammarTokenizer(
let grammarTokenizer = try GrammarTokenizer(
vocab: seeds.vocab,
vocabType: seeds.vocabType,
eosTokenId: seeds.eosTokenId
Expand All @@ -173,7 +173,7 @@ struct FastForwardTokenizationDisagreementTests {
// Gemma-bound matcher does not have in its current mask.
let grammar = "root ::= \"\(Self.forcedPayload)\"\n"
let constraint = try GrammarConstraint(
tokenizer: xgTokenizer,
tokenizer: grammarTokenizer,
grammar: grammar,
fastForward: true,
hostTokenizer: qwenContext.tokenizer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -322,13 +322,13 @@ struct GuidedGenerationBenchmarkTests {
let container = try await loadTestModelContainer(id: TestFixtures.defaultModelID)

let modelID = TestFixtures.defaultModelID
let (xgTokenizer, hostTokenizer): (GrammarTokenizer, any Tokenizer) =
let (grammarTokenizer, hostTokenizer): (GrammarTokenizer, any Tokenizer) =
try await container.perform { context in
let xg = try await MLXLanguageModel.makeXGTokenizer(
let tokenizer = try await MLXLanguageModel.makeGrammarTokenizer(
modelID: modelID,
tokenizer: context.tokenizer
)
return (xg, context.tokenizer)
return (tokenizer, context.tokenizer)
}

let schema = """
Expand All @@ -349,7 +349,7 @@ struct GuidedGenerationBenchmarkTests {
for _ in 0 ..< iterations {
let start = ContinuousClock.now
let constraint = try GrammarConstraint(
tokenizer: xgTokenizer,
tokenizer: grammarTokenizer,
jsonSchema: schema,
fastForward: true,
hostTokenizer: hostTokenizer
Expand Down Expand Up @@ -447,12 +447,12 @@ struct GuidedGenerationBenchmarkTests {
modelID: String = TestFixtures.defaultModelID
) async throws -> RunResult {
try await container.perform { context in
let xgTokenizer = try await MLXLanguageModel.makeXGTokenizer(
let grammarTokenizer = try await MLXLanguageModel.makeGrammarTokenizer(
modelID: modelID,
tokenizer: context.tokenizer
)
let constraint = try GrammarConstraint(
tokenizer: xgTokenizer,
tokenizer: grammarTokenizer,
jsonSchema: Self.benchmarkSchema,
fastForward: true,
hostTokenizer: context.tokenizer
Expand All @@ -472,7 +472,7 @@ struct GuidedGenerationBenchmarkTests {
context: context,
constraint: constraint,
maxTokens: Self.benchmarkMaxTokens,
vocabSize: Int(xgTokenizer.vocabSize)
vocabSize: Int(grammarTokenizer.vocabSize)
) { text in
charCount += text.count
deltaCount += 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -324,12 +324,12 @@ struct GuidedGenerationTests {
let container = try await loadTestModelContainer(id: modelID)

let raw: String = try await container.perform { context in
let xgTokenizer = try await MLXLanguageModel.makeXGTokenizer(
let grammarTokenizer = try await MLXLanguageModel.makeGrammarTokenizer(
modelID: modelID,
tokenizer: context.tokenizer
)
let constraint = try GrammarConstraint(
tokenizer: xgTokenizer,
tokenizer: grammarTokenizer,
jsonSchema: schema,
fastForward: true,
hostTokenizer: context.tokenizer
Expand Down Expand Up @@ -364,7 +364,7 @@ struct GuidedGenerationTests {
context: context,
constraint: constraint,
maxTokens: maxTokens,
vocabSize: Int(xgTokenizer.vocabSize),
vocabSize: Int(grammarTokenizer.vocabSize),
completionReserve: reserve,
hardReserve: hardReserve,
closingBias: closingBias,
Expand Down Expand Up @@ -490,12 +490,12 @@ struct GuidedGenerationTests {
let schema = Self.unboundedSchema

let raw: String = try await container.perform { context in
let xgTokenizer = try await MLXLanguageModel.makeXGTokenizer(
let grammarTokenizer = try await MLXLanguageModel.makeGrammarTokenizer(
modelID: modelID,
tokenizer: context.tokenizer
)
let constraint = try GrammarConstraint(
tokenizer: xgTokenizer,
tokenizer: grammarTokenizer,
jsonSchema: schema,
fastForward: true,
hostTokenizer: context.tokenizer
Expand Down Expand Up @@ -536,7 +536,7 @@ struct GuidedGenerationTests {
context: context,
constraint: constraint,
maxTokens: 256,
vocabSize: Int(xgTokenizer.vocabSize),
vocabSize: Int(grammarTokenizer.vocabSize),
completionReserve: reserve,
hardReserve: hardReserve,
closingBias: closingBias,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,12 +158,12 @@ struct HardReserveStressTests {
let container = try await loadTestModelContainer(id: modelID)

let raw: String = try await container.perform { context in
let xgTokenizer = try await MLXLanguageModel.makeXGTokenizer(
let grammarTokenizer = try await MLXLanguageModel.makeGrammarTokenizer(
modelID: modelID,
tokenizer: context.tokenizer
)
let constraint = try GrammarConstraint(
tokenizer: xgTokenizer,
tokenizer: grammarTokenizer,
jsonSchema: schema,
fastForward: true,
hostTokenizer: context.tokenizer
Expand Down Expand Up @@ -208,7 +208,7 @@ struct HardReserveStressTests {
context: context,
constraint: constraint,
maxTokens: maxTokens,
vocabSize: Int(xgTokenizer.vocabSize),
vocabSize: Int(grammarTokenizer.vocabSize),
completionReserve: softReserve,
hardReserve: hardReserve,
closingBias: closingBias,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,13 @@ struct MaxTokenTruncationTests {
}
"""

let xgTokenizer = try await MLXLanguageModel.makeXGTokenizer(
let grammarTokenizer = try await MLXLanguageModel.makeGrammarTokenizer(
modelID: TestFixtures.defaultModelID,
tokenizer: context.tokenizer
)

let constraint = try GrammarConstraint(
tokenizer: xgTokenizer,
tokenizer: grammarTokenizer,
jsonSchema: complexSchema,
fastForward: true,
hostTokenizer: context.tokenizer
Expand All @@ -68,7 +68,7 @@ struct MaxTokenTruncationTests {
context: context,
constraint: constraint,
maxTokens: 5,
vocabSize: Int(xgTokenizer.vocabSize)
vocabSize: Int(grammarTokenizer.vocabSize)
) { _ in true }
}
}
Expand Down Expand Up @@ -122,7 +122,7 @@ struct MaxTokenTruncationTests {
let container = try await loadTestModelContainer(id: TestFixtures.defaultModelID)

try await container.perform { context in
let xgTokenizer = try await MLXLanguageModel.makeXGTokenizer(
let grammarTokenizer = try await MLXLanguageModel.makeGrammarTokenizer(
modelID: TestFixtures.defaultModelID,
tokenizer: context.tokenizer
)
Expand All @@ -138,7 +138,7 @@ struct MaxTokenTruncationTests {
"""

let constraint = try GrammarConstraint(
tokenizer: xgTokenizer,
tokenizer: grammarTokenizer,
jsonSchema: arraySchema,
fastForward: true,
hostTokenizer: context.tokenizer
Expand All @@ -157,7 +157,7 @@ struct MaxTokenTruncationTests {
context: context,
constraint: constraint,
maxTokens: 3,
vocabSize: Int(xgTokenizer.vocabSize)
vocabSize: Int(grammarTokenizer.vocabSize)
) { _ in true }
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,12 +120,12 @@ struct MultiModelGuidedGenerationTests {
"""

let raw: String = try await container.perform { context in
let xgTokenizer = try await MLXLanguageModel.makeXGTokenizer(
let grammarTokenizer = try await MLXLanguageModel.makeGrammarTokenizer(
modelID: modelID,
tokenizer: context.tokenizer
)
let constraint = try GrammarConstraint(
tokenizer: xgTokenizer,
tokenizer: grammarTokenizer,
jsonSchema: schema,
fastForward: true,
hostTokenizer: context.tokenizer
Expand Down Expand Up @@ -155,7 +155,7 @@ struct MultiModelGuidedGenerationTests {
context: context,
constraint: constraint,
maxTokens: 1024,
vocabSize: Int(xgTokenizer.vocabSize),
vocabSize: Int(grammarTokenizer.vocabSize),
completionReserve: reserve,
closingBias: closingBias,
whitespaceBias: whitespaceBias,
Expand Down Expand Up @@ -246,12 +246,12 @@ struct MultiModelGuidedGenerationTests {
"""

let raw: String = try await container.perform { context in
let xgTokenizer = try await MLXLanguageModel.makeXGTokenizer(
let grammarTokenizer = try await MLXLanguageModel.makeGrammarTokenizer(
modelID: modelID,
tokenizer: context.tokenizer
)
let constraint = try GrammarConstraint(
tokenizer: xgTokenizer,
tokenizer: grammarTokenizer,
jsonSchema: schema,
fastForward: true,
hostTokenizer: context.tokenizer
Expand Down Expand Up @@ -284,7 +284,7 @@ struct MultiModelGuidedGenerationTests {
context: context,
constraint: constraint,
maxTokens: 4096,
vocabSize: Int(xgTokenizer.vocabSize),
vocabSize: Int(grammarTokenizer.vocabSize),
completionReserve: reserve,
closingBias: closingBias,
whitespaceBias: whitespaceBias,
Expand Down Expand Up @@ -438,12 +438,12 @@ struct MultiModelGuidedGenerationTests {
let modelID = Self.gemmaModelID
let container = try await loadTestModelContainer(id: modelID)
try await container.perform { context in
let xgTokenizer = try await MLXLanguageModel.makeXGTokenizer(
let grammarTokenizer = try await MLXLanguageModel.makeGrammarTokenizer(
modelID: modelID,
tokenizer: context.tokenizer
)
let constraint = try GrammarConstraint(
tokenizer: xgTokenizer,
tokenizer: grammarTokenizer,
jsonSchema: schema,
fastForward: true,
hostTokenizer: context.tokenizer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import FoundationModels
struct PrewarmGrammarTests {

@Test
func prewarmCreatesXGTokenizer() async throws {
func prewarmCreatesGrammarTokenizer() async throws {
guard #available(iOS 27.0, macOS 27.0, visionOS 27.0, *) else { return }
let model = makeTestModel(TestFixtures.defaultModelID)
let executor = try makeMLXExecutor(for: model)
Expand All @@ -26,7 +26,7 @@ struct PrewarmGrammarTests {
// Assert the genuine cache hit, not merely that a later respond works
// (a guided respond succeeds with or without warmup — only the seam
// proves warmUp did the pre-creation).
let cached = await MLXLanguageModel.hasCachedXGTokenizer(modelID: model.modelID)
let cached = await MLXLanguageModel.hasCachedGrammarTokenizer(modelID: model.modelID)
#expect(cached, "warmUp should pre-create the GrammarTokenizer")

// And a guided generation still succeeds end-to-end after warmUp.
Expand Down
Loading
Loading