Skip to content

Commit 861cf91

Browse files
ehsan6shaclaude
andcommitted
blox-ai: populate Qwen 3 1.7B W8A8 release URL + SHA-256 (2-chunk split)
Closes the placeholder gate for the Qwen 3 model swap. Release: https://github.com/functionland/blox-ai/releases/tag/model-qwen-3-1.7b-w8a8-v1 Assembled file: - qwen3-1.7b-rk3588-w8a8.rkllm - 2,375,021,452 bytes (~2.21 GB) - SHA-256: 8843d4612d42a71605c8d0b38cf9a758a5a53f65a8dde3f17f9d4549b9794e87 Two-chunk split (GitHub release assets cap at 2 GiB per file): - part-aa: 1,992,294,400 bytes (~1.9 GB) - part-ab: 382,727,052 bytes (~365 MB) download_model.sh fetches both chunks in CHUNK_URLS order, cats them into MODEL_FILE, then SHA-verifies the assembled result. The SINGLE_CHUNK_IS_MODEL_FILE shortcut (line 307) correctly evaluates false here because the chunk basenames don't equal MODEL_FILE's basename, so the cat path runs as designed. The .rkllm was produced from a Qwen 3 1.7B Instruct LoRA fine-tune (2 epochs on 174 synthetic Blox AI examples, final loss 0.39), merged + quantized W8A8 via rkllm-toolkit 1.2.3 targeting RK3588. The on-device runtime requires librkllmrt.so v1.2.3 — the sibling functionland/blox-ai container was rebuilt 2026-05-27 (commit 6d48a48) to bump the runtime from 1.1.4 to 1.2.3. Release-placeholder-gate now passes (no more __SET_BEFORE_RELEASE__ strings in the plugin dir). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 613a414 commit 861cf91

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

docker/fxsupport/linux/plugins/blox-ai/custom/download_model.sh

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,20 @@ set -e
3030
# release tag that bundles this script. The fail-fast guard further
3131
# down rejects any download attempt while placeholders are present
3232
# so a device can never silently pull an unverified blob.
33+
# Two-chunk release. The assembled file is 2,375,021,452 bytes (~2.21 GB);
34+
# GitHub's per-asset cap is 2 GiB, so the .rkllm was split into:
35+
# - part-aa: 1,992,294,400 bytes (~1.9 GB)
36+
# - part-ab: 382,727,052 bytes (~365 MB)
37+
# The download loop below fetches both, cat's them into MODEL_FILE in
38+
# array order, then verifies the assembled SHA-256.
3339
CHUNK_URLS=(
34-
"https://github.com/functionland/blox-ai/releases/download/model-qwen-3-1.7b-w8a8-v1/qwen3-1.7b-rk3588-w8a8.rkllm"
40+
"https://github.com/functionland/blox-ai/releases/download/model-qwen-3-1.7b-w8a8-v1/qwen3-1.7b-rk3588-w8a8.rkllm.part-aa"
41+
"https://github.com/functionland/blox-ai/releases/download/model-qwen-3-1.7b-w8a8-v1/qwen3-1.7b-rk3588-w8a8.rkllm.part-ab"
3542
)
36-
DOWNLOAD_URL="https://github.com/functionland/blox-ai/releases/download/model-qwen-3-1.7b-w8a8-v1/qwen3-1.7b-rk3588-w8a8.rkllm"
37-
MODEL_SHA256="__SET_BEFORE_RELEASE__"
43+
# First chunk URL kept here for the manifest-helper fallback path (Phase 18).
44+
DOWNLOAD_URL="https://github.com/functionland/blox-ai/releases/download/model-qwen-3-1.7b-w8a8-v1/qwen3-1.7b-rk3588-w8a8.rkllm.part-aa"
45+
# SHA-256 of the ASSEMBLED file (cat part-aa part-ab), NOT of individual chunks.
46+
MODEL_SHA256="8843d4612d42a71605c8d0b38cf9a758a5a53f65a8dde3f17f9d4549b9794e87"
3847

3948
MODEL_DIR="/uniondrive/blox-ai/model"
4049
MODEL_FILE="$MODEL_DIR/qwen3-1.7b-rk3588-w8a8.rkllm"

0 commit comments

Comments
 (0)