Instructions to use OsaurusAI/Ornith-1.5-35B-A3B-JANG_2L with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use OsaurusAI/Ornith-1.5-35B-A3B-JANG_2L 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("OsaurusAI/Ornith-1.5-35B-A3B-JANG_2L") config = load_config("OsaurusAI/Ornith-1.5-35B-A3B-JANG_2L") # 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 OsaurusAI/Ornith-1.5-35B-A3B-JANG_2L with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "OsaurusAI/Ornith-1.5-35B-A3B-JANG_2L"
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "OsaurusAI/Ornith-1.5-35B-A3B-JANG_2L" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent
How to use OsaurusAI/Ornith-1.5-35B-A3B-JANG_2L 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 "OsaurusAI/Ornith-1.5-35B-A3B-JANG_2L"
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 OsaurusAI/Ornith-1.5-35B-A3B-JANG_2L
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use OsaurusAI/Ornith-1.5-35B-A3B-JANG_2L with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "OsaurusAI/Ornith-1.5-35B-A3B-JANG_2L"
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 "OsaurusAI/Ornith-1.5-35B-A3B-JANG_2L" \ --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"
OsaurusAI/Ornith-1.5-35B-A3B-JANG_2L
Ornith-1.5-35B-A3B-JANG_2L MLX bundle of ornith-ai/Ornith-1.5-35B-A3B — .
Ornith 1.5 is an agentic coding / reasoning VLM built on a hybrid gated-delta linear attention + full attention backbone (3:1), with a 27-layer vision tower and native video support.
Bundle
| Field | Value |
|---|---|
| Source | ornith-ai/Ornith-1.5-35B-A3B |
| Architecture | qwen3_5_moe / Qwen3_5MoeForConditionalGeneration |
| Size on disk | 16.41 GiB |
| Layers | 40 |
| Hidden size | 2048 |
| Routed experts | 256 |
| Context | 262,144 |
| Shards | 5 |
| Bit distribution | {3: 235, 4: 891, 5: 8, 8: 240} |
How it was quantized
Three calibration methods, all driven by one capture pass — the per-input-channel second moment E[x_c^2] is simultaneously the Hessian diagonal, the imatrix weighting and the AWQ salient-channel statistic.
| Method | What it does here |
|---|---|
| Hessian-trace allocation | Bits assigned by measured tr(H)·‖W‖²_F per module, not by tensor name. The vision tower scores higher than the text MLP on this model, which a name-based profile gets backwards. |
| imatrix refit | Activation-weighted affine fit replacing RTN codes — mean weighted rel-err 0.1457. |
| AWQ | Salient-channel scaling (alpha=0.15), absorbed into the producing RMSNorm across 80 norm groups / 390 projections. |
Tensors whose in_features is divisible by no MLX group size (the 27 vision linear_fc2 at 4304) stay fp16.
Modalities
| Modality | Status |
|---|---|
| Text | supported |
| Vision | supported — 333 vision-tower tensors, preprocessor_config.json + processor_config.json ride with the bundle |
| Video | supported — video_preprocessor_config.json present; verified end-to-end |
| Audio | not supported. The tokenizer defines `< |
Reasoning
Reasoning is ON by default — the no-kwarg generation prompt is byte-identical to enable_thinking=True and ends <|im_start|>assistant\n<think>\n.
It is toggleable, but note how: enable_thinking=False does not remove the think block, it prefills an empty closed one (<think>\n\n</think>\n\n). A parser testing merely for the presence of a <think> block will find one in both modes — test whether it has content.
There are no reasoning_effort tiers on this model family (unlike Qwen3.8). History <think> blocks are preserved unconditionally. Reasoning parser: qwen3; tool parser: qwen3_coder.
Sampling
Both presets from the vendor card are stamped into jang_config.json, and the coding preset is also written to generation_config.json so the two files agree.
Ornith 1.5 is an agentic coding model (SWE-bench Verified 79, Terminal-Bench 2.1 67.8), so this bundle defaults to the coding preset. Upstream's own
generation_config.jsonships the general numbers (temp 1.0, presence 1.5) — usesampling_modes.generalif you want parity with the vLLM/Transformers defaults.
| Preset | temp | top_p | top_k | min_p | presence | repetition |
|---|---|---|---|---|---|---|
| general | 1.0 | 0.95 | 20 | 0.0 | 1.5 | 1.0 |
| coding (default) | 0.6 | 0.95 | 20 | 0.0 | 0.0 | 1.0 |
Stop tokens: [248046, 248044] (<|im_end|>, <|endoftext|>).
Speculative decoding (MTP)
This bundle preserves the native MTP head (2341 mtp.* tensors). Recommended 1 draft/step on Apple silicon (vmlx_mtp_tuning.json); that is a recommendation, not a measured sweep on this artifact.
Credits
JANG quantization by Jinho Jang — eric@osaurus.ai
Base model: ornith-ai/Ornith-1.5-35B-A3B by Ornith AI.
- Downloads last month
- -
3-bit
Model tree for OsaurusAI/Ornith-1.5-35B-A3B-JANG_2L
Base model
ornith-ai/Ornith-1.5-35B-A3B