anyformer 0.4.20 → 0.4.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/package.json +1 -1
- package/src/backends/diskformer.js +4 -0
- package/src/sources.js +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.4.21 — 2026-10-31
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- diskformer pin cefebc7 → 7962912 (v0.6.20: run-time LoRA in every native MoE engine through `engines/lora.js`).
|
|
7
|
+
The `diskformer` back end now takes `adapter` on Gemma 4 26B and Qwen3.6 35B too. diskformer's gates (plain /
|
|
8
|
+
adapter / plain again, against llama-server --lora on the same file): Gemma 4 26B 9/9, 8/9, 9/9; Qwen3.6 35B 6/9,
|
|
9
|
+
9/9, 6/9. Adapters on routed experts are refused with an error. MiniCPM-V, Clover, Flint and Ling take no adapter,
|
|
10
|
+
so an `adapter` drops `diskformer` from their plans.
|
|
11
|
+
|
|
12
|
+
### Not yet verified
|
|
13
|
+
- No browser run of an adapter on Gemma 4 or Qwen3.6 through anyformer: no adapter GGUF for either is in the catalog.
|
|
14
|
+
|
|
3
15
|
## 0.4.20 — 2026-10-31
|
|
4
16
|
|
|
5
17
|
### Added
|
|
@@ -24,6 +36,16 @@
|
|
|
24
36
|
`alwaysThinks` and `thinkInPrompt`) returns only the answer in `text`, and the reasoning in `reasoning`.
|
|
25
37
|
- diskformer pin 317d2a0 → cefebc7 (v0.6.19: run-time LoRA in `lfm2_moe_ssd.js`).
|
|
26
38
|
|
|
39
|
+
### Verified (after the npm publish, on the published code)
|
|
40
|
+
- `tools` on LFM2.5 230M (`localmind`, local file): `get_weather` {"city":"Paris"} parsed from the bare call list;
|
|
41
|
+
after the tool result, an answer with 18°C and clear sky.
|
|
42
|
+
- `tools` on `LFM2_5_24B_PI` (`diskformer`, run-time adapter, base GGUF and adapter from local files, 13:31 IST): the
|
|
43
|
+
first turn's text is empty (reasoning in `reasoning`) with `get_weather` {"city":"Paris"} as `toolCalls`; then
|
|
44
|
+
"The current weather in Paris is **clear skies** with a temperature of **18°C**."
|
|
45
|
+
- `chat?entry=chat.LFM2_5_24B_PI&turns=4` on the same engine (by 13:41 IST): PASS, 4/4 turns on topic with no
|
|
46
|
+
reasoning in `text`; load 50 s from OPFS. The page's tok/s (about 2.5) counts only answer tokens after the hidden
|
|
47
|
+
reasoning, so it is not a decode speed.
|
|
48
|
+
|
|
27
49
|
## 0.4.19 — 2026-10-31
|
|
28
50
|
|
|
29
51
|
### Changed
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "anyformer",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.21",
|
|
4
4
|
"description": "One call to run a model in a browser tab: anyformer reads the Hub repo, probes the browser, and picks the back end (transformers.js, LocalMind's WebGPU kernels, diskformer, kohra) that fits the model's format, architecture and your GPU budget.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -11,11 +11,15 @@ export const DISKFORMER_MODELS = [
|
|
|
11
11
|
{
|
|
12
12
|
repo: 'google/gemma-4-26B-A4B-it-qat-q4_0-gguf', file: 'gemma-4-26B_q4_0-it.gguf', size: 14439363584,
|
|
13
13
|
engine: 'gemma4_moe_ssd.js', Engine: 'Gemma4MoeSsd', minBudget: 2.5e9,
|
|
14
|
+
// LoRA at run time (v0.6.20+, gated against llama-server --lora on the same adapter file).
|
|
15
|
+
adapters: true,
|
|
14
16
|
speeds: [[2.5e9, 12.4], [4.3e9, 14.2], [7e9, 17.9]],
|
|
15
17
|
},
|
|
16
18
|
{
|
|
17
19
|
repo: 'unsloth/Qwen3.6-35B-A3B-GGUF', file: 'Qwen3.6-35B-A3B-Q8_0.gguf', size: 36903140320,
|
|
18
20
|
engine: 'qwen35_moe_ssd.js', Engine: 'Qwen35MoeSsd', minBudget: 4e9,
|
|
21
|
+
// LoRA at run time (v0.6.20+, gated against llama-server --lora on the same adapter file).
|
|
22
|
+
adapters: true,
|
|
19
23
|
speeds: [[4e9, 9.2]],
|
|
20
24
|
},
|
|
21
25
|
// Qwen3.6's language model with a vision encoder (mmproj, ~1.1 GB, loaded on the first image by ensureVision).
|
package/src/sources.js
CHANGED
|
@@ -9,6 +9,8 @@ export const PINS = {
|
|
|
9
9
|
// v0.3.1: seeded block-KV graphs (Nemotron-Labs-Diffusion-3B), chatFormat, split external data; download progress
|
|
10
10
|
// (progress_callback) and the graph files cached in Cache Storage 'kohra-models'.
|
|
11
11
|
kohra: 'bf95d44c3e3cfc001201baa03fa121c2bf9c7d73',
|
|
12
|
+
// v0.6.20 (7962912): run-time LoRA in every native MoE engine (engines/lora.js): Gemma 4 26B, Qwen3.6 35B, LFM2.5
|
|
13
|
+
// 24B and Qwen3 (untested); adapters on routed experts are refused. Engines expose addBos from the GGUF.
|
|
12
14
|
// v0.6.19 (cefebc7): run-time LoRA in lfm2_moe_ssd.js (engine.loadAdapter / setAdapter, no reload to switch).
|
|
13
15
|
// v0.6.18 (317d2a0): with thinking off, the llama.cpp chat closes a template's always-open <think> (LFM2.5-24B) and
|
|
14
16
|
// bans the <think> token for the reply.
|
|
@@ -31,7 +33,7 @@ export const PINS = {
|
|
|
31
33
|
// Gemma 4 E2B/E4B and Ternary Bonsai 2) under engines/, and the llama.cpp path under ggml/, which loads split GGUFs
|
|
32
34
|
// and drafters, and reads past 2 GiB (Nemotron 3.5 Bolt E4B needs v0.6.8 or later). The hand engines' ingest
|
|
33
35
|
// streams the GGUF header with progress and resumes a dropped range.
|
|
34
|
-
diskformer: '
|
|
36
|
+
diskformer: '79629125d7a39b13ddcaf74df58262458d8d470e',
|
|
35
37
|
};
|
|
36
38
|
|
|
37
39
|
const gh = (repo, sha, path) => `https://cdn.jsdelivr.net/gh/NakliTechie/${repo}@${sha}/${path}`;
|