Spaces:
Paused
Paused
File size: 853 Bytes
a7634ef |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
import {
Model,
Quantization,
default as initialize,
} from "@ratchet-ml/ratchet-web";
import ratchetWasmUrl from "@ratchet-ml/ratchet-web/ratchet-web_bg.wasm?url";
let model: Model | undefined;
export async function initializeRatchet(
handleLoadingProgress: (loadingProgressPercentage: number) => void,
) {
await initialize(ratchetWasmUrl);
model = await Model.load(
{ Phi: "phi3" },
Quantization.Q8_0,
handleLoadingProgress,
);
}
export async function runCompletion(
prompt: string,
callback: (completionChunk: string) => void,
) {
if (!model) throw new Error("Ratchet is not initialized.");
await model.run({ prompt, callback });
}
export async function exitRatchet() {
if (!model) throw new Error("Ratchet is not initialized.");
model.free();
model = undefined;
}
|