Instructions to use byteshape/Qwen3.6-35B-A3B-MTP-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use byteshape/Qwen3.6-35B-A3B-MTP-GGUF with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="byteshape/Qwen3.6-35B-A3B-MTP-GGUF") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("byteshape/Qwen3.6-35B-A3B-MTP-GGUF", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use byteshape/Qwen3.6-35B-A3B-MTP-GGUF 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 byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S # Run inference directly in the terminal: llama cli -hf byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S # Run inference directly in the terminal: llama cli -hf byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S # Run inference directly in the terminal: ./llama-cli -hf byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S # Run inference directly in the terminal: ./build/bin/llama-cli -hf byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S
Use Docker
docker model run hf.co/byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S
- LM Studio
- Jan
- vLLM
How to use byteshape/Qwen3.6-35B-A3B-MTP-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "byteshape/Qwen3.6-35B-A3B-MTP-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "byteshape/Qwen3.6-35B-A3B-MTP-GGUF", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S
- SGLang
How to use byteshape/Qwen3.6-35B-A3B-MTP-GGUF with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "byteshape/Qwen3.6-35B-A3B-MTP-GGUF" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "byteshape/Qwen3.6-35B-A3B-MTP-GGUF", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "byteshape/Qwen3.6-35B-A3B-MTP-GGUF" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "byteshape/Qwen3.6-35B-A3B-MTP-GGUF", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Ollama
How to use byteshape/Qwen3.6-35B-A3B-MTP-GGUF with Ollama:
ollama run hf.co/byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S
- Unsloth Desktop
- Pi
How to use byteshape/Qwen3.6-35B-A3B-MTP-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S
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": "byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use byteshape/Qwen3.6-35B-A3B-MTP-GGUF with Docker Model Runner:
docker model run hf.co/byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S
- Lemonade
How to use byteshape/Qwen3.6-35B-A3B-MTP-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S
Run and chat with the model
lemonade run user.Qwen3.6-35B-A3B-MTP-GGUF-IQ2_S
List all available models
lemonade list
- Hermes Agent
How to use byteshape/Qwen3.6-35B-A3B-MTP-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S
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 byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use byteshape/Qwen3.6-35B-A3B-MTP-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S
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 "byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S" \ --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"
Loop
I noticed in two or three different sessions that around the 100th step, the model would start making the same request over and over again and couldn't break out of the loop. I switched to unslosh, and the problem went away.
Thank you for your feedback,
We’d really appreciate it if you could share which model(s) you tested, along with your llama.cpp build and sampling parameters, ideally the full server command.
It would also be very helpful to know what coding harness you were using, and any details you can share about the prompt or task where the loop happened. That will help us investigate and try to reproduce the issue.
Thanks again!
I'm experiencing the same looping issue. Around the 100th step, the model starts repeating the same request and gets stuck in an infinite loop.
Here are my details:
Model: byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S
Interface: llama.cpp built-in web UI via browser (port 8080)
Full server command:
llama-server -hf byteshape/Qwen3.6-35B-A3B-MTP-GGUF:IQ2_S --mmproj-auto --port 8080 -c 32768 --spec-type draft-mtp --spec-draft-n-max 4 --temp 1 --top-k 20 --top-p 0.95 --min-p 0 --presence-penalty 1.5 --repeat-penalty 1
The loop consistently appears after approximately 100 steps during agentic/coding tasks. Notably, --repeat-penalty 1 means repeat penalty is effectively disabled — not sure if that's contributing to the issue. Happy to provide more details if needed.
@Kamil21322 , many thanks for providing more details.
I did some testing, and I think adjusting the sampling parameters may help with this. Please give the settings below a try and let me know how it goes.
A few suggested changes:
- --min-p 0 → --min-p 0.05
- --presence-penalty 1.5 → --presence-penalty 0.5
- --repeat-penalty 1 → --repeat-penalty 1.05
Also, the 2.25-bit model is an extreme quantization case and loses more than 10% of baseline quality. If possible, please try one of the larger quants as well, since the difference should be meaningful.
I also increased the context window and tested the model up to 128K tokens. Here is the command I used:
llama-server -m Qwen3.6-35B-A3B-IQ2_S-2.25bpw.gguf --mmproj-auto --port 8080 \
-c 131072--spec-type draft-mtp --spec-draft-n-max 4 \
--temp 1 --top-k 20 --top-p 0.95 \
--min-p 0.05 --presence-penalty 0.5 --repeat-penalty 1.05
The issue was resolved with the command you provided.
Many thanks for trying it and updating us. I’ll try to put some comments about it on the model card and our blog/website.
Really appreciate your help.
Any fix this please ?
Let me try a different approach. Let me search for the extension loading logic in the loader.js file, and also check if there's any auto-discovery logic that scans the .pi/extensions
directory.
$ grep -n "extensionPaths\|\.pi/extensions" ~/.nvm/versions/node/v24.14.0/lib/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js 2>/dev/null | head -5 && echo "--- done ---"
--- done ---
Took 0.0s
Let me try a different approach. Let me search for the extension loading logic in the loader.js file, and also check if there's any auto-discovery logic that scans the .pi/extensions
directory.
$ grep -n "extensionPaths\|\.pi/extensions" ~/.nvm/versions/node/v24.14.0/lib/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js 2>/dev/null | head -5 && echo "--- done ---"
--- done ---
Took 0.0s
Let me try a different approach. Let me search for the extension loading logic in the loader.js file, and also check if there's any auto-discovery logic that scans the .pi/extensions
directory.
$ grep -n "extensionPaths\|\.pi/extensions" ~/.nvm/versions/node/v24.14.0/lib/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js 2>/dev/null | head -5 && echo "--- done ---"
--- done ---
Took 0.0s
I am using the below
/app/llama.cpp/build/bin/llama-server \
-m /app/models/byteshape/mtp/Qwen3.6-35B-A3B-IQ3_S-3.06bpw.gguf \
--fit on \
-ngl 28 \
--flash-attn on \
--parallel 1 \
--host 192.168.18.201 --port 8080 --api-key home-key \
--ctx-size 90000 \
--temp 0.6 --top-p 0.95 --top-k 20 --min-p 0.05 \
--cache-type-k q4_0 \
--cache-type-v q4_0 \
--spec-type draft-mtp \
--spec-draft-n-max 4 \
-b 1024 -ub 512 \
--no-mmap \
--mlock \
--threads 12 \
--jinja \
--repeat-penalty 1.05 --presence-penalty 0.5 \
--reasoning on --reasoning-budget 8192 \
--alias qwen --no-context-shift \
--timeout 1800 \
--no-mmproj
I would like to make this work if possible with the non-MTP version since this gives me around 95-130 tok/s but same looping issue is present here as well.. GPU is RTX 5070 .
/app/llama.cpp/build/bin/llama-server \
-m /app/models/byteshape/non-mtp/Qwen3.6-35B-A3B-IQ2_S-2.17bpw.gguf \
--host 192.168.18.201 --port 8080 --api-key home-key \
--fit on \
--flash-attn on \
--parallel 1 \
--ctx-size 131072 \
-ngl 999 \
--temp 1 --top-p 0.95 --top-k 20 --min-p 0.05 \
--cache-type-k q4_0 \
--cache-type-v q4_0 \
-b 3072 -ub 1536 \
--no-mmap \
--mlock \
--threads 12 \
--repeat-penalty 1.05 --presence-penalty 0.5 \
--reasoning on --reasoning-budget 8192 \
--alias qwen \
--timeout 1800 \
--no-mmproj
Hi @swiftarrow , thank you for the detailed report and for sharing your commands.
I looked into this a bit more. It's hard to reproduce the exact outputs, but I think we have a lead. It looks like the repetition penalty's lookback window is simply too short by default to catch a tool call that repeats this far into a session.
Could you try the following and let us know if it helps?
1. Main fix — widen the repetition window (biggest expected impact):
--repeat-last-n 256 # default is only 64
2. Worth adding on top:
--repeat-penalty 1.1 # up from 1.05
…and on the non-MTP command specifically, set:
--temp 0.6 # instead of --temp 1
3. Optional, may help further:
--dry-multiplier 0.8 --dry-base 1.75 --dry-allowed-length 2
If you get a chance to test, let us know whether the looping improves.
Thanks! 🙏
Just use recommended values by Qwen and use this chat template - https://huggingface.co/froggeric/Qwen-Fixed-Chat-Templates
This template should help you.
@szwedek @Ali93H Appreciate the quick response . Thanks :)
After using the latest chat template, the looping has reduced 70% . I am not able to confirm if parameters you have shared are contributing much.
exact command I am using :
/app/llama.cpp/build/bin/llama-server \
-m /app/models/byteshape/non-mtp/Qwen3.6-35B-A3B-IQ2_S-2.17bpw.gguf \
--host 192.168.18.201 --port 8080 --api-key home-key \
--fit on \
--flash-attn on \
--parallel 2 \
--ctx-size 180000 \
-ngl 999 \
--cache-type-k q8_0 \
--cache-type-v q8_0 \
--temp 0.6 --top-p 0.95 --top-k 20 --min-p 0.01 \
-b 1024 -ub 512 \
--no-mmap \
--mlock \
--threads 8 \
--cache-reuse 256 \
--dry-multiplier 0.8 --dry-base 1.75 --dry-allowed-length 2 \
--repeat-penalty 1.1 \
--repeat-last-n 256 \
--samplers "top_k;top_p;min_p;temperature;dry;typ_p;xtc" \
--alias qwen \
--timeout 1800 \
--no-mmproj \
--chat-template-kwargs '{"enable_thinking": true}' \
--jinja --chat-template-file /app/models/byteshape/chat_template.jinja
@swiftarrow --chat-template-kwargs '{"preserve_thinking": true}'
enable_thinking is enabled by default.
Also --temperature 0.6 --top-p 0.95 --top-k 20 --presence-penalty 0.0 --repeat-penalty 1.0 --min-p 0.0
If this won't help you, then you can try apex quants - i-quality or i-balanced versions.