classify method
Implementation
Future<WolfDefenderResult> classify(String text) async {
final tokens = _tokenizer.encode(text);
final windows = wolfDefenderWindows(tokens.length);
final logits = <Float32List>[];
for (final (start, end) in windows) {
final ids = Int32List(end - start + 2);
ids[0] = _bos;
for (var i = start; i < end; i++) {
ids[i - start + 1] = tokens[i];
}
ids[ids.length - 1] = _eos;
final values = await _backend.run(ids);
if (values.length != 2) {
throw StateError('Wolf Defender gave ${values.length} logits, not 2');
}
logits.add(values);
}
return WolfDefenderResult(
injectionProbability: wolfDefenderPool(logits),
tokens: tokens.length,
windows: windows.length,
);
}