Skip to content

Commit 24d4c7b

Browse files
committed
Address review nits: warning level, iterator release, stale reference
- Elevate multi-token stop sequence warning to level=0 (always visible) - Set innerIterator = nil on finish/error to release the stream and trigger onTermination (prevents session leak) - Remove outdated LLMAsset reference from error message
1 parent 5a16a93 commit 24d4c7b

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

swift/Sources/CoreAILanguageModels/DecodingStrategies/PipelinedConstrainedDecodingStrategy.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,15 @@ public struct PipelinedConstrainedDecodingStrategy: DecodingStrategy {
5454
guard let vocabSize else {
5555
throw InferenceRuntimeError.invalidArgument(
5656
"Cannot determine vocabulary size from tokenizer. "
57-
+ "Pass vocabSize explicitly via CoreAIRunner or LLMAsset metadata."
57+
+ "Pass vocabSize explicitly via the model metadata."
5858
)
5959
}
6060

6161
let singleTokenStops = stopSequences.sequences.filter { $0.count == 1 }.map { $0[0] }
6262
if stopSequences.sequences.contains(where: { $0.count > 1 }) {
6363
CLILogger.log(
6464
"Warning: Multi-token stop sequences not supported by xgrammar, using single-token stops only",
65-
component: "PipelinedConstrained")
65+
component: "PipelinedConstrained", level: 0)
6666
}
6767
let stopTokenIds: [Int32]? = singleTokenStops.isEmpty ? nil : singleTokenStops
6868

@@ -193,6 +193,7 @@ extension PipelinedConstrainedSequence {
193193

194194
guard let tokenId = try await iterator.next() else {
195195
finished = true
196+
self.innerIterator = nil
196197
return nil
197198
}
198199
self.innerIterator = iterator
@@ -204,6 +205,7 @@ extension PipelinedConstrainedSequence {
204205
}
205206
if stopSequences.matches(recentTokens: recentTokens) {
206207
finished = true
208+
self.innerIterator = nil
207209
return nil
208210
}
209211

@@ -225,6 +227,7 @@ extension PipelinedConstrainedSequence {
225227
}
226228
} catch {
227229
finished = true
230+
self.innerIterator = nil
228231
throw error
229232
}
230233
}

0 commit comments

Comments
 (0)