Q4NX/FastFlowLM card: flm-add.py install + run/serve flow, kernels source, model info
b158caa verified | license: apache-2.0 | |
| language: | |
| - en | |
| pipeline_tag: text-generation | |
| tags: | |
| - qwen3.5 | |
| - coding | |
| - vision | |
| - multimodal | |
| - reasoning | |
| - tool-use | |
| - fastflowlm | |
| - q4nx | |
| - npu | |
| base_model: | |
| - Jackrong/Qwopus3.5-9B-v3.5 | |
| # Qwopus3.5-9B-Coder - Q4NX for FastFlowLM (AMD Ryzen AI XDNA2) | |
| Qwopus3.5-9B-v3.5, a vision-language coding model (reasoning, tool-use / function calling), converted to Q4NX for FastFlowLM. This variant ships vision Q4NX weights alongside the text weights. | |
| ## What is Q4NX? | |
| Q4NX is FastFlowLM's native packed-quantization format - a rearranged Q4_1 | |
| layout tuned for the NPU matrix engine's tile sizes and memory access | |
| patterns. It is **not** a GGUF file and it does not run on llama.cpp or | |
| Ollama; it is meant exclusively for the [FastFlowLM](https://fastflowlm.com) | |
| engine on AMD Ryzen AI NPUs. | |
| ## Requirements | |
| - FastFlowLM >= 0.9.45 (`flm` CLI) | |
| - AMD Ryzen AI processor with **XDNA2 (NPU2)** - Strix Point / Ryzen AI 300 | |
| series or later | |
| - Linux with the XRT NPU stack installed | |
| - ~16 GB of unified system memory (Q4NX weights + activations + KV cache) | |
| ## Files | |
| | File | Purpose | | |
| |---|---| | |
| | model.q4nx | Quantized Q4NX weights | | |
| | config.json | FastFlowLM model configuration | | |
| | tokenizer.json | Tokenizer | | |
| | tokenizer_config.json | Special tokens and chat template | | |
| | chat_template.jinja | Chat template (optional) | | |
| | vision_weight.q4nx | Vision tower weights (multimodal input) | | |
| | flm-add.py | Installer script - registers this model with FastFlowLM | | |
| ## Install and run | |
| This repository ships `flm-add.py`, a small installer that copies the model | |
| into the FastFlowLM user directory and registers the tag `qwopus:9b`. It never | |
| modifies the system FastFlowLM install. | |
| ```bash | |
| # one-time environment (add these to ~/.bashrc) | |
| export FLM_CONFIG_PATH="$HOME/.config/flm/model_list.json" | |
| export FLM_XCLBIN_PATH="$HOME/.config/flm" | |
| git lfs install | |
| git clone https://huggingface.co/Atomic-Germ/Qwopus3.5-9B-Coder-NPU2 | |
| cd Qwopus3.5-9B-Coder-NPU2 | |
| python3 ./flm-add.py . --tag qwopus:9b --family qwen3.5 | |
| flm run qwopus:9b | |
| ``` | |
| Run `python3 ./flm-add.py --help` for all options. Without a clone, the same | |
| command works against the repo id directly: | |
| ```bash | |
| python3 ./flm-add.py Atomic-Germ/Qwopus3.5-9B-Coder-NPU2 --tag qwopus:9b --family qwen3.5 | |
| ``` | |
| ## Kernels | |
| FastFlowLM's NPU kernels (xclbins) are closed source and are not shipped in | |
| this repository. `flm-add.py` links the kernels of the official **`qwen3.5:9b`** | |
| model (`Qwen3.5-9B-NPU2`), because this model shares the same engine family | |
| (`qwen3.5`) and architecture. | |
| ## Serve (OpenAI-compatible) | |
| ```bash | |
| flm serve qwopus:9b --port 8080 | |
| ``` | |
| ```bash | |
| curl http://127.0.0.1:8080/v1/chat/completions \ | |
| -H 'Content-Type: application/json' \ | |
| -d '{"model":"qwopus:9b","messages":[{"role":"user","content":"Hello!"}],"max_tokens":256}' | |
| ``` | |
| ## Model | |
| - Registry tag: `qwopus:9b` | |
| - Engine family: `qwen3.5` | |
| - Kernel source: Qwen3.5-9B-NPU2 | |
| - Context length: 262,144 tokens (from config) | |
| - `model.q4nx` size: 7.63 GB | |
| - Base model: [Jackrong/Qwopus3.5-9B-v3.5](https://huggingface.co/Jackrong/Qwopus3.5-9B-v3.5) | |
| - License: apache-2.0 | |
| ## Original model card | |
| See the upstream model card for training details, benchmarks, and upstream | |
| usage. This repository only contains the Q4NX conversion for FastFlowLM. | |
| - Upstream card: [Jackrong/Qwopus3.5-9B-v3.5](https://huggingface.co/Jackrong/Qwopus3.5-9B-v3.5) | |