Skip to content

Commit 481f303

Browse files
committed
chore: update web-llm version
1 parent 60ff935 commit 481f303

File tree

4 files changed

+21
-19
lines changed

4 files changed

+21
-19
lines changed

app/client/webllm.ts

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,18 @@ export class WebLLMApi implements LLMApi {
4040
type: "serviceWorker" | "webWorker",
4141
logLevel: LogLevel = "WARN",
4242
) {
43+
const engineConfig = {
44+
appConfig: {
45+
...prebuiltAppConfig,
46+
useIndexedDBCache: this.llmConfig?.cache === "index_db",
47+
},
48+
};
49+
4350
if (type === "serviceWorker") {
4451
log.info("Create ServiceWorkerMLCEngine");
4552
this.webllm = {
4653
type: "serviceWorker",
47-
engine: new ServiceWorkerMLCEngine(KEEP_ALIVE_INTERVAL),
54+
engine: new ServiceWorkerMLCEngine(engineConfig, KEEP_ALIVE_INTERVAL),
4855
};
4956
} else {
5057
log.info("Create WebWorkerMLCEngine");
@@ -54,6 +61,7 @@ export class WebLLMApi implements LLMApi {
5461
new Worker(new URL("../worker/web-worker.ts", import.meta.url), {
5562
type: "module",
5663
}),
64+
engineConfig,
5765
),
5866
};
5967
}
@@ -68,15 +76,9 @@ export class WebLLMApi implements LLMApi {
6876
onUpdate?.(report.text, report.text);
6977
});
7078
if (this.webllm.type === "serviceWorker") {
71-
await this.webllm.engine.init(this.llmConfig.model, this.llmConfig, {
72-
...prebuiltAppConfig,
73-
useIndexedDBCache: this.llmConfig.cache === "index_db",
74-
});
79+
await this.webllm.engine.reload(this.llmConfig.model, this.llmConfig);
7580
} else {
76-
await this.webllm.engine.reload(this.llmConfig.model, this.llmConfig, {
77-
...prebuiltAppConfig,
78-
useIndexedDBCache: this.llmConfig.cache === "index_db",
79-
});
81+
await this.webllm.engine.reload(this.llmConfig.model, this.llmConfig);
8082
}
8183
this.initialized = true;
8284
}
@@ -235,7 +237,7 @@ export class WebLLMApi implements LLMApi {
235237
const completion = await this.webllm.engine.chatCompletion({
236238
stream: stream,
237239
messages: messages as ChatCompletionMessageParam[],
238-
stream_options: { include_usage: true },
240+
...(stream ? { stream_options: { include_usage: true } } : {}),
239241
});
240242

241243
if (stream) {

app/worker/service-worker.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import { ServiceWorkerMLCEngineHandler, MLCEngine } from "@neet-nestor/web-llm";
1+
import { MLCEngineServiceWorkerHandler, MLCEngine } from "@neet-nestor/web-llm";
22
import { defaultCache } from "@serwist/next/worker";
33
import type { PrecacheEntry, SerwistGlobalConfig } from "serwist";
44
import { CacheFirst, ExpirationPlugin, Serwist } from "serwist";
55

66
declare const self: ServiceWorkerGlobalScope;
77
const CHATGPT_NEXT_WEB_CACHE = "chatgpt-next-web-cache";
88
const engine = new MLCEngine();
9-
let handler: ServiceWorkerMLCEngineHandler;
9+
let handler: MLCEngineServiceWorkerHandler;
1010

1111
async function checkGPUAvailablity() {
1212
if (!("gpu" in navigator)) {
@@ -23,7 +23,7 @@ async function checkGPUAvailablity() {
2323

2424
self.addEventListener("message", (event) => {
2525
if (!handler) {
26-
handler = new ServiceWorkerMLCEngineHandler(engine);
26+
handler = new MLCEngineServiceWorkerHandler(engine);
2727
console.log("Service Worker: Web-LLM Engine Activated");
2828
}
2929

@@ -58,7 +58,7 @@ self.addEventListener("install", (event) => {
5858

5959
self.addEventListener("activate", (event) => {
6060
if (!handler) {
61-
handler = new ServiceWorkerMLCEngineHandler(engine);
61+
handler = new MLCEngineServiceWorkerHandler(engine);
6262
console.log("Service Worker: Web-LLM Engine Activated");
6363
}
6464
});

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"dependencies": {
1818
"@fortaine/fetch-event-source": "^3.0.6",
1919
"@hello-pangea/dnd": "^16.5.0",
20-
"@neet-nestor/web-llm": "^0.2.56",
20+
"@neet-nestor/web-llm": "^0.2.57",
2121
"@serwist/next": "^9.0.2",
2222
"@svgr/webpack": "^6.5.1",
2323
"emoji-picker-react": "^4.9.2",

yarn.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2089,10 +2089,10 @@
20892089
"@jridgewell/resolve-uri" "^3.1.0"
20902090
"@jridgewell/sourcemap-codec" "^1.4.14"
20912091

2092-
"@neet-nestor/web-llm@^0.2.56":
2093-
version "0.2.56"
2094-
resolved "https://registry.yarnpkg.com/@neet-nestor/web-llm/-/web-llm-0.2.56.tgz#db85a1599dc03a3507825eb1457a4f3a9cec9a46"
2095-
integrity sha512-eCjNyrIVP1YbEqEKi2QkIdenQUOmV3n8bQ/aInv1qr840ppjNoBcCV/K+z2FbXm6ltymeWEhAbNIWI2rxx0j1w==
2092+
"@neet-nestor/web-llm@^0.2.57":
2093+
version "0.2.57"
2094+
resolved "https://registry.yarnpkg.com/@neet-nestor/web-llm/-/web-llm-0.2.57.tgz#6360624a01828e0fe30ebf2a956d055ad00f707d"
2095+
integrity sha512-hZig9pAzMc//fQBxZ1lt8db6G96zuLS9snzI/iKbHgM7ajvjV0Yun/eW4EojN4oawfzuVo8lcKe78pDHLIWUqw==
20962096
dependencies:
20972097
loglevel "^1.9.1"
20982098

0 commit comments

Comments
 (0)