Instructions to use AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp:BF16 # Run inference directly in the terminal: llama cli -hf AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp:BF16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp:BF16 # Run inference directly in the terminal: llama cli -hf AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp:BF16
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp:BF16 # Run inference directly in the terminal: ./build/bin/llama cli -hf AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp:BF16
Use Docker
docker model run hf.co/AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp:BF16
- Llama new
- LM Studio
- Jan
- Ollama
How to use AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp with Ollama:
ollama run hf.co/AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp:BF16
- Unsloth Desktop
- Pi
How to use AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp:BF16
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp:BF16" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp with Docker Model Runner:
docker model run hf.co/AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp:BF16
- Lemonade
How to use AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp:BF16
Run and chat with the model
lemonade run user.Qwen3.5-4B-AX8860-llama.cpp-BF16
List all available models
lemonade list
- Hermes Agent
How to use AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp:BF16
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp:BF16
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp:BF16
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "AXERA-TECH/Qwen3.5-4B-AX8860-llama.cpp:BF16" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Qwen3.5-4B on AX8860 (llama.cpp + ggml-axera)
ๅจ็ฑ่ฏ AX8860 ็ NPU ไธ็จ llama.cpp ่ฟ่ก Qwen3.5-4B๏ผๆๆฌ + ๅพๅ่พๅ ฅ๏ผๅฏ้ MTP ๆๆบ่งฃ็ ๏ผOpenAI ๅ ผๅฎนๆๅกใ Qwen3.5-4B on the Axera AX8860 NPU with llama.cpp: text + image input, optional MTP speculative decoding, OpenAI-compatible server.
ๆง่ฝ / Performance
| decode | 62.3 tokens/s |
| decode๏ผMTP ๆๆบ่งฃ็ / with MTP | ๆ้ซ / up to 128.0 tokens/s๏ผ2.05x๏ผ |
| 4k prompt๏ผMTP / MTP on 4k | 58.8 โ 99.7 tokens/s๏ผ1.70x๏ผaccepted 42/61๏ผ |
| 4k prompt prefill | 5040 tokens/s๏ผ3908 token 0.78 s๏ผ |
| ไธไธๆ / context | ๆ้ฟ / up to 16384 |
MTP๏ผMTP=1๏ผๆๅ
ๅฎน / by content:
| ๅ ๅฎน / content | ๆฎ้ / plain | MTP | ๅ ้ / speed-up | ๆฅๅ็ / accept |
|---|---|---|---|---|
| ไปฃ็ / code | 62.4 | 84.7 | 1.36x | 0.481 |
| ไธญ่ฏ่ฑ / translation | 60.5 | 84.9 | 1.40x | 0.598 |
| Markdown ่กจๆ ผ / table | 62.5 | 128.0 | 2.05x | 0.816 |
| ๆฐๅญฆ่งฃ้ข / maths | 62.6 | 98.5 | 1.57x | 0.563 |
| ไธญๆ็ญๆ / Chinese essay | 61.6 | 62.7 | 1.02x | 0.274 |
| ่ฑๆๆ ไบ / English story | 61.2 | 63.3 | 1.03x | 0.302 |
| ไปฃ็ ๏ผๆจ่้ๆ ท / code, sampled | 61.3 | 87.4 | 1.43x | 0.481 |
| ไธญๆ็ญๆ๏ผๆจ่้ๆ ท / essay, sampled | 60.6 | 66.2 | 1.09x | 0.269 |
ๅไฝ tokens/s๏ผๆฏ้กนๆๅค็ๆ 256 token๏ผๆชๆณจๆ็ไธบ่ดชๅฟ่งฃ็ / tokens/s; up to 256 tokens each, greedy unless noted.
sh bench.sh ๅค็ฐ / reproduce๏ผ็ๆ 128 token / 128 generated tokens๏ผ็ญ prompt ไป
ๅ่ๆถ / short prompts report time only๏ผ๏ผ
| prompt | -c |
prompt ่ๆถ / time | decode tokens/s |
|---|---|---|---|
| 5 token | 8192 | 0.08 s | โ |
| 47 token | 8192 | 0.09 s | โ |
| 3908 token | 8192 | 0.78 s | 59.8 |
| 5 token | 16384 | 0.09 s | โ |
| 47 token | 16384 | 0.09 s | โ |
| 3908 token | 16384 | 0.77 s | 59.9 |
| 3908 token๏ผๆจ่้ๆ ท / sampled | 8192 | 0.78 s | 58.6 |
ๅฟซ้ๅผๅง / Quick start
sh run.sh "The capital of France is" 64 # ๆๆฌ / text
sh run.sh -i bus.jpg "Describe this image." 256 # ๅพๅ / image
sh run.sh -c # ๅฝไปค่กๅฏน่ฏ / chat
sh run.sh -s 8080 # OpenAI ๅ
ผๅฎนๆๅก / server
MTP=1 sh run.sh -s 8080 # MTP ๆๆบ่งฃ็ / speculative decoding
sh bench.sh # ๆง่ฝๅค็ฐ / benchmark
้่ฆ AX8860๏ผSDK V0.5.1 ๆๆดๆฐ๏ผHF ไธ่ฝฝ็ๆไปถๆฒกๆๆง่กๆ้๏ผ็จ sh ่ฐ็จๅณๅฏ / needs an AX8860 with SDK V0.5.1+; call the scripts with sh.
ๆไปถ / Files
| ๆไปถ / File | ่ฏดๆ / Description |
|---|---|
qwen3.5-4b-mxfp4.gguf |
ๆจกๅๆ้ / weights๏ผ2.66 GB๏ผmd5 e82f054c77152821eb8edd5ae572f2eb |
mmproj-qwen3.5-4b-bf16.gguf |
่ง่ง็ผ็ ๅจ / vision encoder๏ผ676 MB๏ผmd5 d64c1da66e6bd59ecbec5d57ccc13ec7 |
bin/ |
llama.cpp ๆฟ็ซฏ็จๅบ๏ผ้ๆ้พๆฅ๏ผ/ board programs (static) |
kernels/ |
NPU kernel + manifest.json |
run.sh๏ผchat_template.jinja |
่ฟ่ก่ๆฌไธๆๅก็ซฏๅฏน่ฏๆจกๆฟ / run script and the server's chat template |
bench.sh ๅ prompt |
ๆง่ฝๅค็ฐ / benchmark |
่ฏดๆ / Notes
- MTP ไธบๅฏ้๏ผ
MTP=1 ./run.sh -sๆพๅผๅผๅฏ๏ผๆๅก็ซฏไธๅ็จ่ช้ๅบ้จๆงๆๅฎๅ ณๆ๏ผไธ่ฎพ็ฝฎMTPๆถไฟๆๆฎ้่งฃ็ ใ่ดชๅฟ่ฏทๆฑ่ฏทๆพๅผๅธฆpresence_penalty: 0/ MTP is opt-in:MTP=1 ./run.sh -senables it explicitly and bypasses the adaptive gate; withoutMTPthe server stays non-speculative. Greedy requests should setpresence_penalty: 0. - ๆๅก็ซฏ้ป่ฎคไฝฟ็จๆจกๅๅกๆจ่็้ๆ ทๅๆฐ๏ผๆๆฌ่กฅๅ จไธๅพๅๆ่ฟฐไธบ่ดชๅฟ่งฃ็ / the server uses the model card's recommended sampling; completion and image description are greedy.
- ๆๅก็ซฏ้ป่ฎคๅ
ณ้ญๆ่๏ผ
--reasoning off๏ผ๏ผๅนถๅ ่ฎธๅฏน่ฏไธญๆฎต็ system ๆถๆฏ๏ผCodex ็ญ agent ๅฎขๆท็ซฏๅฏ็จ๏ผ/ the server does not think by default and accepts a mid-conversation system message (works with agent clients such as Codex). - Prompt cache ้ป่ฎคๆพๅจ 4 GB ๅ
ๅญ๏ผ่ฎพ็ฝฎ
CACHE_DIR=<SSD ็ฎๅฝ>ๅฏ่ฝ็๏ผ้ๅฏๅไป่ฝๅฝไธญ / the prompt cache lives in 4 GB of host memory; setCACHE_DIR=<an SSD directory>to keep it on disk across restarts. - ่ฟ่กๆถ็ฌๅ NPU 4 ๆ ธ๏ผๆๅก็ซฏ
-np 1/ takes all 4 NPU cores; the server runs-np 1. llama-benchๅฏ็จ๏ผ่ฏทๅ-b 4096 -ub 4096/llama-benchworks; pass-b 4096 -ub 4096.- ไธชๅซ็ฏๅขไธ่ฟ็ปญ่ฏทๆฑๅถๅ
ret = -3๏ผ้่ฏๅณๅฏ / in rare cases a back-to-back request fails withret = -3; retry it. - MTP ๆฏ่ฝฎ็ 3 ไธช token๏ผ็ฑ็ฎๆ ๆจกๅ้ไธช้ช่ฏ๏ผ่ดชๅฟๆถ่พๅบไธๆฎ้่งฃ็ ไธ่ด / MTP drafts 3 tokens per round, each verified by the target model; greedy output equals plain decoding.
ๆญฃ็กฎๆง / Correctness
- "The capital of France is" โ "Paris. โฆ"๏ผๅพๅๆ่ฟฐๆญฃ็กฎ๏ผ่ฝฆ่พใๆๅญใไบบ็ฉ๏ผ/ text and image descriptions correct.
- MTP ้ป่ฎคๅ
ณ้ญ๏ผ
MTP=1ๅผๅฏ๏ผ้ป่ฎค่กไธบไธไธไธ็ไธ่ด๏ผ้ๅบฆๆฒกๆๅ้ / MTP stays off by default andMTP=1enables it; default behaviour matches the previous release and speed did not regress. - ๆๆบ่งฃ็ ็ๆฏไธช่็จฟ token ้ฝ็ป็ฎๆ ๆจกๅ้ช่ฏ๏ผ่ดชๅฟ่พๅบไธๆฎ้่งฃ็ ไธ่ด / every speculative token is verified by the target model; greedy output equals plain decoding.
ๆบ็ / Sources
- llama.cpp๏ผZHEQIUSHUI/llama.cpp
axera-dev@2f81e2416 - kernel๏ผZHEQIUSHUI/ax-dsl-kernels
main@b60fc30๏ผmodels/qwen35_4b๏ผ - decode / prefill kernel ๆบ่ช / based on ZHEQIUSHUI/sgl-kernel-axera
fix/sglang_axera_opt
ๆดๆฐ / Changelog
- 2026-11-09๏ผ็ปไธๆฟ็ซฏ bin๏ผMTP ้ช่ฏ้ป่พไฟฎๅค๏ผ้ป่ฎค่กไธบไธ้ๅบฆไธๅ๏ผ่ดชๅฟๅบๆฏๆพๅผ
presence_penalty: 0๏ผperplexity ๅบๅฎ่ตฐๅ จ logits / unified board bins; MTP verification fixes; default behaviour and speed unchanged; explicitpresence_penalty: 0in greedy scenes; perplexity keeps the full-logits head.
- Downloads last month
- 200
4-bit