Views
No views yet
1import { pipeline } from "@huggingface/transformers";
2
3const generator = await pipeline(
4 "text-generation",
5 "rish-0-0/SmolLM2-135M-Strudel-ONNX",
6 { dtype: "q8", device: "wasm" }
7);
8
9const out = await generator(
10 [
11 { role: "system", content: "You are a Strudel live-coding assistant. Output only raw Strudel code." },
12 { role: "user", content: "Write Strudel code for: a chill lofi beat with vinyl crackle" },
13 ],
14 { max_new_tokens: 512, do_sample: true, temperature: 0.8 }
15);
16console.log(out[0].generated_text.at(-1).content);<|im_end|>).trl.SFTTrainer, conversational prompt-completion format, completion-only loss.@strudel/web), and judged by a second Claude call (score ≥ 8 to be accepted). A diversity guard rejected near-duplicate labels and capped per-genre counts.| Samples | Score |
|---|---|
| 60 | 3.0 |
| 120 | 4.8 |
| 240 | 5.8 |
| 402 | 6.6 — peak (this checkpoint) |
| 705 | 5.6 (regressed → stopped) |
onnx/model_quantized.onnx — int8 quantized (~130 MB), selected via dtype: "q8".config.json, generation_config.json, tokenizer.json, tokenizer_config.json, chat_template.jinja.@strudel/repl (AGPL-3.0) as a combined work. Base model SmolLM2 is Apache-2.0.