Wonder

Loading model (first load downloads ~400MB)...
async function sendMessage() { const text = input.value.trim(); if (!text) return; input.value = ""; input.disabled = send.disabled = true; addBubble(text, "user"); messages.push({ role: "user", content: text }); const bubble = addBubble("", "bot"); const streamer = new TextStreamer(generator.tokenizer, { skip_prompt: true, skip_special_tokens: true, callback_function: (token) => { bubble.textContent += token; chat.scrollTop = chat.scrollHeight; }, }); const output = await generator(messages, { max_new_tokens: 256, do_sample: true, temperature: 0.7, streamer, }); messages.push(output[0].generated_text.at(-1)); input.disabled = send.disabled = false; input.focus(); } send.onclick = sendMessage; input.onkeydown = (e) => { if (e.key === "Enter") sendMessage(); };