Code: GitHub · Mirror: ModelScope
Part of Qwenputer, the computer compiled into Qwen3.5's weights.
QwenFX runs fx, Vercel's coding agent, as its exact compiled binary on a RISC-V CPU compiled into weights that run beside Qwen3.5-4B, with that same Qwen as fx's model. fx solved 15 of 15 small coding tasks, each checked by a hidden test, and opened five pull requests on GitHub by itself (#6-#10). Every chip token in every run was checked against a reference machine. None was wrong.
This repository holds the chip: the CPU's weights, with fx's boot state in them. Qwen3.5-4B is not included; use Qwen/Qwen3.5-4B unchanged.
Files
| file | what | bytes | sha256 |
|---|---|---|---|
fx-live-u13-f4096.safetensors |
the chip: 162 layers, 4,096 RAM frames, the 13 hot-code units, fx's boot state | 124,960,497 | 48ddb06c… |
fx-live-u13-f4096-text.safetensors |
the same, plus the text bridge that carries Qwen's text through the circuit (--text) |
129,060,613 | fda824ef… |
fx-fastcopy.elf |
fx's RV32IM+Zba ELF, built from fx's unmodified source at 757bdb9 |
75,606,908 | 282e53d4… |
imports.json |
the ELF's import table |
The chip file is a sparse safetensors file: 19.07M nonzero bf16 weights, plus the machine's state after fx's boot. Executor v4 lifts the circuit from these weights at load. With base Qwen beside it, a live task peaks at 10-14 GB of GPU memory on an L4.
Use
git clone https://github.com/divagr18/QwenFX && cd QwenFX && uv sync --extra hf
uv run python qwenfx.py setup
uv run hf download divagr1925/QwenFX fx-live-u13-f4096.safetensors --local-dir chip
uv run python qwenfx.py task t1_bug
qwenfx.py chip builds the same file from the Python circuit instead (about 3 minutes, 6.4 GB of
RAM); the arrays are identical. The GitHub README has the issue-to-pull-request flow, what runs on
the chip and what runs on the host, and the checks.
Not a merged checkpoint
The chip and Qwen are two sets of weights in one process on one GPU. Qwen's own weights are unchanged. A merged checkpoint is very possible, since the chip uses Qwen3.5's own layer types and Qwenputer already ships its CPU merged, but at fx's size it would be about 25-37 GB (estimated), mostly zero padding, against 8.5 GB for base Qwen plus this 125 MB file. So I chose this layout. The host still renders the chat template, tokenizes, parses tool calls, keeps the file store fx reads and writes, and does the git and GitHub work of a pull request. fx's own code, all of it, runs on the chip.
License
Apache-2.0. fx is by Vercel, Apache-2.0: LICENSE is fx's license, and THIRD_PARTY_NOTICES.md is
fx's, unchanged. The ELF and the chip files' boot state are fx-derived; NOTICE in the GitHub
repository's third_party/fx/ (and here) says how the ELF was built and what else it contains. Qwen3.5-4B is
Apache-2.0 and is not redistributed here.