Views
No views yet
1import * as webLLM from "@mlc-ai/web-llm";
2
3const modelId = "Mistral-7B-OpenOrca-q4f32_1";
4
5const appConfig = {
6 model_list: [
7 {
8 model_url:
9 "https://huggingface.co/Felladrin/mlc-chat-Mistral-7B-OpenOrca-q4f32_1/resolve/main/params/",
10 local_id: modelId,
11 },
12 ],
13 model_lib_map: {
14 [modelId]:
15 "https://huggingface.co/Felladrin/mlc-chat-Mistral-7B-OpenOrca-q4f32_1/resolve/main/Mistral-7B-OpenOrca-q4f32_1-webgpu.wasm",
16 },
17};
18
19const chatConfig = {
20 temperature: 0.7,
21 repetition_penalty: 1.2,
22 top_p: 0.95
23};
24
25async function main() {
26 const chat = new webLLM.ChatModule();
27
28 await chat.reload(modelId, chatConfig, appConfig);
29
30 let lastResponse = "";
31
32 const generateProgressCallback = (_, message = "") => {
33 if (message.length === 0) return chat.interruptGenerate();
34
35 lastResponse = message;
36
37 console.log(`Partial response: ${lastResponse}`);
38 };
39
40 const fistPrompt = "How are you?";
41 await chat.generate(fistPrompt, generateProgressCallback);
42 console.log(`Complete response: ${lastResponse}`);
43
44 const secondPrompt =
45 "Please tell me how mistral winds have attracted super-orcas.";
46 await chat.generate(secondPrompt, generateProgressCallback);
47 console.log(`Complete response: ${lastResponse}`);
48
49 console.info(await chat.runtimeStatsText());
50}
51
52main();