Image-Text-to-Text
MLX
Safetensors
qwen3_5_moe
apple-silicon
speculative-decoding
qwen
qwen3
qwen3-next
mtp
mtplx
local-ai
vision-language
multimodal
conversational
Instructions to use Jonandrop/Ornith-1.0-35B-MTPLX-Vision with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use Jonandrop/Ornith-1.0-35B-MTPLX-Vision 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("Jonandrop/Ornith-1.0-35B-MTPLX-Vision") config = load_config("Jonandrop/Ornith-1.0-35B-MTPLX-Vision") # 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 Jonandrop/Ornith-1.0-35B-MTPLX-Vision with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Jonandrop/Ornith-1.0-35B-MTPLX-Vision"
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": "Jonandrop/Ornith-1.0-35B-MTPLX-Vision" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent
How to use Jonandrop/Ornith-1.0-35B-MTPLX-Vision 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 "Jonandrop/Ornith-1.0-35B-MTPLX-Vision"
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 Jonandrop/Ornith-1.0-35B-MTPLX-Vision
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use Jonandrop/Ornith-1.0-35B-MTPLX-Vision with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Jonandrop/Ornith-1.0-35B-MTPLX-Vision"
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 "Jonandrop/Ornith-1.0-35B-MTPLX-Vision" \ --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"
| { | |
| "arch_id": "qwen3-next-mtp", | |
| "artifact_role": "forge-local", | |
| "base_trunk": "ornith-mtp4bit-src", | |
| "exactness_baseline": {}, | |
| "forge_provenance": { | |
| "forge_inputs": { | |
| "mtp_source_path": "ornith-mtp4bit-src", | |
| "trunk_path": "Ornith-1.0-35B-MTP-grafted-mtp4bit" | |
| }, | |
| "forge_recipe": { | |
| "body_bits": 4, | |
| "body_group_size": 64, | |
| "body_mode": "affine", | |
| "mtp_policy": "requantize", | |
| "mtp_quant_bits": 4, | |
| "mtp_quant_group_size": 64, | |
| "mtp_quant_mode": "affine" | |
| }, | |
| "forged_at": "2026-06-27T08:34:45+09:00", | |
| "forged_locally": true, | |
| "mtp_contract": { | |
| "base_hidden_variant": "post_norm", | |
| "concat_order": "embedding_hidden", | |
| "hidden_variant": "post_norm", | |
| "mtp_position_mode": "local", | |
| "mtp_quant_bits": 4, | |
| "mtp_quant_group_size": 64, | |
| "mtp_quant_mode": "affine" | |
| }, | |
| "mtplx_version": "1.0.4", | |
| "published_to_hf": null, | |
| "source_format": "mlx_affine_with_mtp", | |
| "source_repo": "ornith-mtp4bit-src", | |
| "source_sha": null | |
| }, | |
| "mtp_contract": { | |
| "base_hidden_variant": "post_norm", | |
| "concat_order": "embedding_hidden", | |
| "hidden_variant": "post_norm", | |
| "mtp_position_mode": "local", | |
| "mtp_quant_bits": 4, | |
| "mtp_quant_group_size": 64, | |
| "mtp_quant_mode": "affine" | |
| }, | |
| "mtp_depth_max": 3, | |
| "mtp_sidecar": "bf16-qwen-moe-experts", | |
| "mtplx_version": "1.0.4", | |
| "recommended_profile": "sustained", | |
| "sampler": { | |
| "temperature": 0.6, | |
| "top_k": 20, | |
| "top_p": 0.95 | |
| }, | |
| "speed_evidence": { | |
| "acceptance_by_depth": [ | |
| 0.8497, | |
| 0.708, | |
| 0.5153 | |
| ], | |
| "acceptance_collapsed": [], | |
| "depth": 3, | |
| "failure_reasons": [], | |
| "forge_verify_rows": [ | |
| { | |
| "acceptance_by_position": [], | |
| "depth": 0, | |
| "finish_reasons": { | |
| "stop": 1 | |
| }, | |
| "hit_token_budget": false, | |
| "hit_token_budget_count": 0, | |
| "multiplier_vs_ar": 1.0, | |
| "quality_passed": true, | |
| "tok_s": 35.49, | |
| "tok_s_decode": 36.4, | |
| "tok_s_e2e": 35.49, | |
| "tok_s_e2e_range": null, | |
| "tok_s_decode_range": null, | |
| "wall_speedup_e2e_range": null, | |
| "verify_time_s": null | |
| }, | |
| { | |
| "acceptance_by_position": [ | |
| 0.8732 | |
| ], | |
| "depth": 1, | |
| "finish_reasons": { | |
| "stop": 1 | |
| }, | |
| "hit_token_budget": false, | |
| "hit_token_budget_count": 0, | |
| "multiplier_vs_ar": 1.4369, | |
| "quality_passed": true, | |
| "tok_s": 51.0, | |
| "tok_s_decode": 53.14, | |
| "tok_s_e2e": 51.0, | |
| "tok_s_e2e_range": null, | |
| "tok_s_decode_range": null, | |
| "wall_speedup_e2e_range": null, | |
| "verify_time_s": null | |
| }, | |
| { | |
| "acceptance_by_position": [ | |
| 0.8805, | |
| 0.6907 | |
| ], | |
| "depth": 2, | |
| "finish_reasons": { | |
| "stop": 1 | |
| }, | |
| "hit_token_budget": false, | |
| "hit_token_budget_count": 0, | |
| "multiplier_vs_ar": 1.6907, | |
| "quality_passed": true, | |
| "tok_s": 60.0, | |
| "tok_s_decode": 63.27, | |
| "tok_s_e2e": 60.0, | |
| "tok_s_e2e_range": null, | |
| "tok_s_decode_range": null, | |
| "wall_speedup_e2e_range": null, | |
| "verify_time_s": null | |
| }, | |
| { | |
| "acceptance_by_position": [ | |
| 0.8497, | |
| 0.708, | |
| 0.5153 | |
| ], | |
| "depth": 3, | |
| "finish_reasons": { | |
| "stop": 1 | |
| }, | |
| "hit_token_budget": false, | |
| "hit_token_budget_count": 0, | |
| "multiplier_vs_ar": 1.6438, | |
| "quality_passed": true, | |
| "tok_s": 58.34, | |
| "tok_s_decode": 61.02, | |
| "tok_s_e2e": 58.34, | |
| "tok_s_e2e_range": "43-62", | |
| "tok_s_decode_range": "43-66", | |
| "wall_speedup_e2e_range": "1.04-1.64", | |
| "verify_time_s": null | |
| } | |
| ], | |
| "greedy_diagnostic": { | |
| "tok_s": 35.49 | |
| }, | |
| "quality_rejected": [], | |
| "tok_s": [ | |
| 58.34 | |
| ], | |
| "verdict": "mtp_depth_wins", | |
| "measurement_notes": "Re-measured 2026-07-18 on Apple M5 Pro 64GB, MTPLX 1.0.4, mtp_history_policy=committed (CLI default), draft_temperature=0.0, enable_thinking=false, warm (4 warmup prompts), 8 measured prompts from calibration_coding suite, max_tokens=192, median tok/s over 3 independent runs. ACCEPTANCE is stable across runs (pos1 0.85-0.87, pos2 0.69-0.71, pos3 0.52) and is the reliable MTP health signal. TOK/S varies run-to-run (AR e2e 35-60) due to thermal/contention variance; speedup ratio inherits this noise. tok_s_e2e = generated_tokens/total_elapsed (wall-clock, includes prefill). tok_s_decode = decode-only (prefill-excluded). multiplier_vs_ar uses e2e. Root cause of the non-vision source (wang-yang) collapse under all policies: its shipped MTP draft head diverges from its own target body (264 of 1803 body leaf tensors differ from this vision variant; MTP head is bit-identical in both). This vision variant's body matches the shipped draft head. The higher-acceptance Shiftedx mxfp4-vision variant (pos3 0.76) requires MTPLX issue #182 / PR #183 to load on stock MTPLX <= 2.1.0." | |
| }, | |
| "verified_on": { | |
| "hardware": "Apple M5 Pro", | |
| "machine_arch": "arm64", | |
| "macos": "26.5.2", | |
| "model": "Ornith-1.0-35B-MTPLX-Vision", | |
| "timestamp": "2026-07-18T00:00:00+00:00" | |
| } | |
| } |