Instructions to use peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e-MTP with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e-MTP with MLX:
# Make sure mlx-vlm is installed # pip install --upgrade mlx-vlm from mlx_vlm import load, generate from mlx_vlm.prompt_utils import apply_chat_template from mlx_vlm.utils import load_config # Load the model model, processor = load("peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e-MTP") config = load_config("peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e-MTP") # Prepare input image = ["http://images.cocodataset.org/val2017/000000039769.jpg"] prompt = "Describe this image." # Apply chat template formatted_prompt = apply_chat_template( processor, config, prompt, num_images=1 ) # Generate output output = generate(model, processor, formatted_prompt, image) print(output) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e-MTP with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e-MTP"
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e-MTP" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent
How to use peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e-MTP with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e-MTP"
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 peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e-MTP
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e-MTP with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e-MTP"
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 "peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e-MTP" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
These numbers were measured on the GGUF build, not this one. The plates on this page are the best evidence we have about TielCoder, and we would rather show them than show nothing — but this file uses a different quantizer (oMLX's oQ against llama.cpp's k-quants), and changing quantizer moves results. On the same Nail weights we measured a 0.7-point MMLU-Pro gap and a 24% difference in token counts between MLX and GGUF. Read them as evidence about the model, not as measurements of this file. If you need numbers you can hold us to, use the GGUF build.
Straight to the point
Tiel is the fast coder of the arsenal. At 4-bit quantization and 21 GB it fixes real codebase issues at the rate (and speed, with the right GPU) of Opus 4.6 medium, while holding the best multi-turn conversation of any local model we have measured. It is also cheerfully bad at trivia.
Pick it for work. Pick something else for exams.
This is Ornith-1.5-35B-A3B re-quantized with oMLX's oQ4e quantizer and carrying the Sharp chat template inside the checkpoint — plus Ornith-1.5's trained multi-token-prediction head for runtimes that can use it. The 4-bit weights are byte-for-byte the plain oQ4e build; the only additions are the MTP head shard and the config flag that activates it. With MTP off it is identical to oQ4e.
The numbers
Multi-turn conversation
Reasoning and knowledge
Where it stands. On 25 SWE-bench-Live problems Tiel fixes 12 — the same as Opus 4.6 (medium), four more than Ornith-1.5 itself, three more than Nail, and four more than Sonnet 5 (medium). Among models of its own class it is first; the ones ahead are dense 27Bs and Opus 5. Its time per attempt is also steadier than Nail's: an 8.6 minute median against 7.2, but a 12.3 minute mean against 15.7, because it lacks Nail's tail of expensive attempts.
How it talks. On Claw-Eval's multi-turn tasks Tiel scores 67.2 against Nail's 60.5 and its own base's 65.3, over 114 scored conversations each. It earns that by answering better rather than by asking more: against the base it is 3.8 points up on answer quality and 5.1 down on clarifying questions. The score weights answers four to one, so the trade pays — but if you want a model that interrogates a vague request before acting, the base does that better.
What it costs. 73.7 on MMLU-Pro against Nail's 84.0, both at 4-bit. Most of that is inherited rather than built: Ornith-1.5 scores 78.0 where stock Qwen3.6-35B-A3B scores 85.3. Our quantization is not the cause — the same quant carrying Ornith's own template scores exactly what Ornith scores. The remaining 4.3 points are the Sharp template buying shorter answers, which is the trade this build exists to make.
Which one. Agentic coding, or long conversations that have to stay useful → Tiel. Exam-style knowledge and hard reasoning → Nail, which is 10.3 points better on MMLU-Pro and 6.7 worse in conversation. The most fixes per problem regardless of weight → Dirk, the dense 27B that solves 15 of the same 25 — one behind stock Qwen3.8-27B, at 2.5x its speed.
Run it
One tier: oQ4e, 4-bit dynamic mixed precision with an imatrix pass. Vision is included in the same folder — no separate projector file.
oMLX — put the folder under ~/.omlx/models/peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e-MTP, or pull it from the oMLX
admin dashboard.
Sampling: temperature 1.0, top_p 0.95, top_k 20. For agentic coding we ran temperature 0.6.
Prefer to keep the files yourself?
hf download peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e-MTP --local-dir TielCoder-MLX
python -m mlx_vlm.generate --model TielCoder-MLX --max-tokens 512 \
--prompt "Explain what this function does." # text
python -m mlx_vlm.generate --model TielCoder-MLX --max-tokens 512 \
--prompt "What is in this screenshot?" --image photo.jpg # vision
Load it with mlx-vlm, not mlx-lm. This is a vision-language checkpoint. mlx_lm.load()
accepts it and then emits garbage tokens — a loader mismatch, not a bad quant, but it fails quietly.
Both runtimes apply the embedded template automatically — nothing to pass.
The multi-token-prediction head
This build carries Ornith-1.5's trained MTP (nextn) head. A supporting runtime (oMLX's native
MTP / "Lightning MTP") can use it to draft several tokens per step and verify them in one pass —
speculative decoding with no separate draft model. Whether that speeds up decode depends entirely on
your hardware.
On our own Apple Silicon box, it did not. The head drafts well — ~1.6–1.8 accepted tokens per
verify cycle — but this is a 35B-A3B MoE with only ~3.4B active parameters, so its decode is already
cheap and not memory-bandwidth-bound, and the batched-verify cost roughly cancels the drafting benefit
(we measured 0.82–0.93× at draft depths 1–3, i.e. slightly slower). Speculative decoding pays off when
decode is memory-bound, which depends on the chip, runtime, and batch size. Other setups have seen
real gains on this exact model family — the sibling
KaedeTai/Ornith-1.5-35B-A3B-BigBang-MTP-mlx-4bit
reports ~1.16× on an M5 Max, and our
GGUF-MTP build gains on llama.cpp
(whose C++ batched-MoE verify is more efficient).
We ship this so users whose hardware benefits can use it. Enable your runtime's native MTP path
(in oMLX: mtp_enabled), measure your own decode tok/s with MTP on vs off, and if it isn't faster on
your box, leave it off — or just run the
plain oQ4e, which is the same
weights without the head.
(The head is trained. Ornith's original GGUF conversion once shipped an untrained, randomly-initialized
nextn block, which we measured and removed from the earlier ladder; Ornith later published a trained
head, and that is the one grafted here.)
How the quantization was done
oQ4e is oMLX's dynamic quantizer: 4-bit base with mixed precision by layer position and selective non-quantization, plus an imatrix pass — the "e" — that measures which weights carry the most signal before deciding what to keep at higher precision. It is the same idea as the GGUF ladder's Unsloth-Dynamic-plus-imatrix recipe, implemented for MLX, but it is not the same computation: oQ derives its own importance data rather than consuming the GGUF imatrix we baked.
That is the reason for the caveat at the top. Two quantizers pursuing the same goal by different routes do not land in the same place, and only the GGUF route has been benchmarked.
Limitations
- Exam scores are its weak axis. If you are picking on MMLU-Pro, Nail is 10.3 points better.
- It asks fewer clarifying questions than its base, by 5.1 points. Terser is not always better; a vague request gets answered rather than questioned.
- Benchmarks are one run per problem on SWE-bench-Live and three seeds on MMLU-Pro. Treat small differences as noise.
- MTP is not a guaranteed speed-up. On a memory-bound box it can help; on ours it did not. Measure it.
- Chinese and English only, inherited from the base.
Credits
- ornith-ai — the Ornith-1.5-35B-A3B weights and the trained MTP head (MIT).
- oMLX — the oQ quantizer this build uses.
- froggeric — the template lineage Sharp builds on.
- eaddario — the calibration corpora the imatrix was measured on (MIT).
- MLX and mlx-vlm — the runtime.
MIT, inheriting Ornith-1.5's license.
- Downloads last month
- 115
4-bit
Model tree for peculiar-ragdoll/Tiel-Coder-35B-A3B-MLX-oQ4e-MTP
Base model
ornith-ai/Ornith-1.5-35B-A3B