diff --git a/assets/backends/redux.json b/assets/backends/redux.json index 0d73c33..1cfdc18 100644 --- a/assets/backends/redux.json +++ b/assets/backends/redux.json @@ -10,13 +10,13 @@ }, "model": { "source": "https://huggingface.co/moondream/parakeet-redux", - "revision": "fad622f25f303105c20d70e201bcc477c88b620c", + "revision": "2bf128600aac4b16946f7ed8372e56117fe5e23b", "files": [ {"path": "model.safetensors", "size": 177774490, "sha256": "78ec25733ee0d0c1586d1346fc86db9d0c2e436e3a8ab1d32a82d1bb8f848d21"}, {"path": "config.json", "size": 12988, "sha256": "503c653b2e3bb788adbcb04f5abdee532d958686564081baeed133ff10143f6e"}, {"path": "ternary.json", "size": 57970, "sha256": "1221c6d3ce901ffe09c089da758a8db8b76189f80cff41c5afc244fc61e2051d"}, {"path": "tokenizer.json", "size": 1159960, "sha256": "bd321b096832a3f270bd3b2a88823957920f1a5c5ada71114a26ea729d0cbe91"}, - {"path": "README.md", "size": 8533, "sha256": "a8b327f983a8b8ff262ff7bead3a791fbed9350632002af8db85ab5cd84cdaa5"} + {"path": "README.md", "size": 8832, "sha256": "930055e6bac7d75114e719850ffaffc8d327e73b4295518c38c81399acd63e46"} ] }, "attribution": "Moondream/M87 Labs, Parakeet Redux, derived from NVIDIA Parakeet TDT 0.6B v3; original model card README.md retained with the files.", diff --git a/docs/build.md b/docs/build.md index ee537c1..b03da8d 100644 --- a/docs/build.md +++ b/docs/build.md @@ -93,7 +93,7 @@ and target application compatibility require further headset work. ## Inference runtime -Redux weights at `fad622f25f303105c20d70e201bcc477c88b620c` are CC-BY-4.0. Pinned +Redux weights at `2bf128600aac4b16946f7ed8372e56117fe5e23b` are CC-BY-4.0. Pinned file sizes/hashes and attribution live in `assets/backends/redux.json`; offline `--list-models`/`--check-model redux --model-dir /absolute/model` (or `scripts/model-status.py`) verify without inference or downloads. Manifest diff --git a/docs/design.md b/docs/design.md index 146c88a..494b2f2 100644 --- a/docs/design.md +++ b/docs/design.md @@ -226,9 +226,12 @@ may deliver at most once; cancellation invalidates it before any later reply. ## On-device Redux Use the **same** `moondream/parakeet-redux` revision from the benchmark: -`fad622f25f303105c20d70e201bcc477c88b620c` (177,774,490-byte weight file), initially +`2bf128600aac4b16946f7ed8372e56117fe5e23b` (177,774,490-byte weight file), initially moondream 2.4.0 / kestrel 0.8.0. Do not substitute dense Ultra or silently fall -back to desktop/cloud inference. +back to desktop/cloud inference. The benchmark ran on revision +`fad622f25f303105c20d70e201bcc477c88b620c`, which no longer resolves after the +upstream history was rewritten; the weights, config, ternary map and tokenizer at +`2bf1286` are byte-identical to it (same SHA-256), only the model card README differs. The earlier benchmark used this local API (its source belongs to the originating repository, not this project): diff --git a/docs/packaging.md b/docs/packaging.md index db37b4d..9102acb 100644 --- a/docs/packaging.md +++ b/docs/packaging.md @@ -45,7 +45,7 @@ prefix. ARM64/glibc packaging is not a claim of compatibility with arbitrary Lin ```sh python3 scripts/package-release.py --stage /path/to/stage --output /existing/output \ --version 0.1.202609241627 --arch linux-aarch64 \ - --model-revision fad622f25f303105c20d70e201bcc477c88b620c --external-runtime + --model-revision 2bf128600aac4b16946f7ed8372e56117fe5e23b --external-runtime ``` Use the actual binary's numeric `MAJOR.MINOR.YYYYMMDDHHMM` UTC version diff --git a/docs/third-party.md b/docs/third-party.md index 83c13a5..b83cf7a 100644 --- a/docs/third-party.md +++ b/docs/third-party.md @@ -27,7 +27,7 @@ source-only, and Python packages are fetched from PyPI on the user's machine. | Component | Where | License | | --- | --- | --- | -| Parakeet Redux weights, revision `fad622f25f303105c20d70e201bcc477c88b620c`, derived from NVIDIA Parakeet TDT 0.6B v3 by Moondream/M87 Labs; pinned sizes and hashes in `assets/backends/redux.json` | | CC-BY-4.0 | +| Parakeet Redux weights, revision `2bf128600aac4b16946f7ed8372e56117fe5e23b`, derived from NVIDIA Parakeet TDT 0.6B v3 by Moondream/M87 Labs; pinned sizes and hashes in `assets/backends/redux.json` | | CC-BY-4.0 | | Kestrel, `kestrel-kernels` | | Local inference is free and needs no API key, per the Kestrel README. Finetuned-model inference needs an API key and is not used here. | | `moondream` | PyPI | See the package | | PyTorch (CPU build) | | BSD-3-Clause | diff --git a/docs/worker.md b/docs/worker.md index 0020316..ae610a8 100644 --- a/docs/worker.md +++ b/docs/worker.md @@ -57,7 +57,7 @@ device="cpu", cpu_threads=threads)` and persistent Install an **isolated** Python runtime with the moondream 2.4.0, kestrel 0.8.0 and compatible CPU dependencies; provide preinstalled local weights from revision -`fad622f25f303105c20d70e201bcc477c88b620c` and pass its directory +`2bf128600aac4b16946f7ed8372e56117fe5e23b` and pass its directory explicitly. The code verifies exact sizes and SHA-256 of weights/config/tokenizer against `assets/backends/redux.json` via the shared, offline `python/frameyap/model_files.py` schema/verifier before importing model libraries. diff --git a/tests/test_backends.py b/tests/test_backends.py index 8b804a1..0f7fdcd 100644 --- a/tests/test_backends.py +++ b/tests/test_backends.py @@ -13,13 +13,13 @@ from frameyap.model_files import DEFAULT_MANIFEST_DIR, ManifestError, load_backe class BackendTests(unittest.TestCase): def test_redux_manifest_preserves_pinned_artifacts_and_launcher_contract(self): redux = load_backends()["redux"] - self.assertEqual(redux.revision, "fad622f25f303105c20d70e201bcc477c88b620c") + self.assertEqual(redux.revision, "2bf128600aac4b16946f7ed8372e56117fe5e23b") self.assertEqual({f.path: (f.size, f.sha256) for f in redux.files}, { "model.safetensors": (177774490, "78ec25733ee0d0c1586d1346fc86db9d0c2e436e3a8ab1d32a82d1bb8f848d21"), "config.json": (12988, "503c653b2e3bb788adbcb04f5abdee532d958686564081baeed133ff10143f6e"), "ternary.json": (57970, "1221c6d3ce901ffe09c089da758a8db8b76189f80cff41c5afc244fc61e2051d"), "tokenizer.json": (1159960, "bd321b096832a3f270bd3b2a88823957920f1a5c5ada71114a26ea729d0cbe91"), - "README.md": (8533, "a8b327f983a8b8ff262ff7bead3a791fbed9350632002af8db85ab5cd84cdaa5"), + "README.md": (8832, "930055e6bac7d75114e719850ffaffc8d327e73b4295518c38c81399acd63e46"), }) self.assertEqual(redux.launcher["protocol"], "frameyap-worker-v1") self.assertEqual(redux.launcher["arguments"], ["--model", "{model_dir}", "--threads", "{threads}", "--clip-dir", "{clip_dir}"])