Create engine.js
Browse files- Webllm/engine.js +19 -0
Webllm/engine.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { Tokenizer } from './tokenizer.js';
|
| 2 |
+
import { loadModel, generateText } from './model.js'; // Create this next if not present
|
| 3 |
+
|
| 4 |
+
let tokenizer, model;
|
| 5 |
+
|
| 6 |
+
export default async function initWebLLM(config) {
|
| 7 |
+
console.log("Initializing WebLLM...");
|
| 8 |
+
|
| 9 |
+
tokenizer = await Tokenizer.load(config.tokenizerUrl);
|
| 10 |
+
model = await loadModel(config.modelUrl);
|
| 11 |
+
|
| 12 |
+
return {
|
| 13 |
+
async chat(prompt) {
|
| 14 |
+
const inputIds = tokenizer.encode(prompt);
|
| 15 |
+
const outputIds = await generateText(model, inputIds);
|
| 16 |
+
return tokenizer.decode(outputIds);
|
| 17 |
+
}
|
| 18 |
+
};
|
| 19 |
+
}
|