node-llama-cpp
Version:
Run AI models locally on your machine with node.js bindings for llama.cpp. Enforce a JSON schema on the model output on the generation level
22 lines • 766 B
JavaScript
import { GbnfTerminal } from "../GbnfTerminal.js";
import { reservedRuleNames } from "./gbnfConsts.js";
export class GbnfNumber extends GbnfTerminal {
allowFractional;
constructor({ allowFractional = true }) {
super();
this.allowFractional = allowFractional;
}
getGrammar() {
const num = '"-"? ("0" | [1-9] [0-9]{0,15})';
const exponent = ' ([eE] [-+]? ("0" | [1-9] [0-9]{0,15}))?';
if (this.allowFractional)
return num + ' ("." [0-9]{1,16})?' + exponent;
return num + exponent;
}
getRuleName() {
if (this.allowFractional)
return reservedRuleNames.number.fractional;
return reservedRuleNames.number.integer;
}
}
//# sourceMappingURL=GbnfNumber.js.map