Repin Parakeet Redux to the current upstream revision

moondream/parakeet-redux was rewritten upstream on 2026-09-23 to a single
commit (2bf128600aac), so the pinned revision fad622f no longer resolves.
model.safetensors still downloads from the old revision, but config.json,
ternary.json, tokenizer.json and README.md return HTTP 404, which makes
`install.sh --install-model` fail.

The weights, config, ternary map and tokenizer at 2bf1286 have the same
size and SHA-256 as the old pins, so the model itself is unchanged. Only
the model card README.md differs (8533 -> 8832 bytes), so its pin is
updated along with the revision.

Fixes #1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bod09andClaude Opus 5.5 committed 2026-10-02 19:05:06 +01:00
1 parent 9ec5dd03ba
commit bbbd31fa6d
7 files changed
+13 -10

No files matched your search

+2 -2
View File
@@ -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.",
+1 -1
View File
@@ -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
+5 -2
View File
@@ -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):
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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` | <https://huggingface.co/moondream/parakeet-redux> | 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` | <https://huggingface.co/moondream/parakeet-redux> | CC-BY-4.0 |
| Kestrel, `kestrel-kernels` | <https://github.com/m87-labs/kestrel> | 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) | <https://github.com/pytorch/pytorch> | BSD-3-Clause |
+1 -1
View File
@@ -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.
+2 -2
View File
@@ -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}"])