Skip to page content
SAVRN
Search Plan a project

Open-weight model · Image and text to text

Ornith1.5-Ciru-Halo-Agent-vllm-strix-halo

by Ciru - Crown jcbtc/Ornith1.5-Ciru-Halo-Agent-vllm-strix-halo

Ornith1.5-Ciru-Halo-Agent-vllm-strix-halo is an open-weight model for image and text to text from Ciru - Crown, released under MIT License. Its published files total 24.6 GB.

Ciru v4.1.2 — October 5, 2026. Adds the verified synchronization barrier in the first DFlash convolution/residual/RMSNorm kernel used by ornithtest. Explicit 262,144-token output ceilings now use the fully rendered prompt's remaining context.

Parameters—
Context—
Weights24.3 GB
Licensemit
AccessOpen weights
Monthly Downloads—

Model Card

By Ciru - Crown, published under mit, revision d8bd86d618c7.

Ciru v4.1.2 — October 5, 2026. Adds the verified synchronization barrier in the first DFlash convolution/residual/RMSNorm kernel used by ornithtest. Explicit 262,144-token output ceilings now use the fully rendered prompt's remaining context. Weights, pinned engine wheels and sampling defaults are unchanged. Patch notes · Upgrade existing installations. OMP clients must advertise input: [text, image], reasoning: true, contextWindow: 262144 and maxTokens: 262144 to use vision and the full output ceiling. Ciru v4.1.1 — September 30, 2026. Qualified repairs and a retained subset of community PR #2. Ornith Q8/Q16 recurrence preserves the original packed single-token arithmetic, and attention…

Read Ciru - Crown's full model card

Ciru v4.1.2 — October 5, 2026. Adds the verified synchronization barrier in the first DFlash convolution/residual/RMSNorm kernel used by ornithtest. Explicit 262,144-token output ceilings now use the fully rendered prompt's remaining context. Weights, pinned engine wheels and sampling defaults are unchanged. Patch notes · Upgrade existing installations.

OMP clients must advertise input: [text, image], reasoning: true, contextWindow: 262144 and maxTokens: 262144 to use vision and the full output ceiling.

Ciru v4.1.1 — September 30, 2026. Qualified repairs and a retained subset of community PR #2. Ornith Q8/Q16 recurrence preserves the original packed single-token arithmetic, and attention uses per-query partitions.

The recent improvements would not have been possible without Cinderblade from the toolbox discord.

Measured complete-output comparisons: code +4.07% at the 44 GiB pool; code +5.89% and JSON +4.76% at 16 GiB. All compared core token IDs, reasoning and answers match. Results and limits.

Ciru v4.0.1 — September 25, 2026. This maintenance patch supplies the optimized cache path at startup and lets operators raise the image count per request with --max-images-per-prompt N. The default remains one image; the limit counts images retained in chat history. Model weights, native libraries and pinned engine wheels are unchanged. See the patch notes and update instructions.

The September 17 v4.0.0 release combined prefill, attention, draft-path, prefix-cache and native tool-runtime improvements. Its measurements below remain the v4.0.0 results, not new v4.0.1 performance claims.

Ornith1.5 Ciru Halo Agent (vllm strix halo)

A local AI team, built around AMD Strix Halo. Ornith1.5 Ciru Halo Agent combines a custom quantization of Ornith's 35B-A3B mixture-of-experts model with a purpose-built vLLM/ROCm runtime for fast coding, tool use, and concurrent agents.

The design starts with the hardware: packed four-bit weights, four-bit activation paths, Strix Halo four-bit matrix instructions, specialized kernels, and adaptive DFlash2 speculative decoding. Prefix caching and a shared memory pool let agents return to long working histories.

Ciru v4 results

Ciru v4 accelerates long-context ingestion and returning-agent workflows. The new measurements below cover the complete combined runtime. Existing benchmark sections retain their Ciru v3 version labels and comparison models.

Workload Previous published Ciru Ciru v4 Change
Cold prefill, 65,536 input tokens 1,286.66 tok/s 1,624.19 tok/s +26.23%
Cold prefill, 253,952 input tokens 667.61 tok/s 870.11 tok/s +30.33%
Cached 63K history, C1 mean decode 123.34 tok/s 147.69 tok/s +19.74%
Cached near-256K history, C1 mean decode 94.00 tok/s 118.81 tok/s +26.40%
Cached near-256K history, C8 mean decode 11.10 tok/s 19.86 tok/s +78.93%
Short coding batch, C8 aggregate 294.89 tok/s 304.80 tok/s +3.36%

These final measurements used Ciru; the accepted published controls used Sozo and their original runtime. They compare complete products, including those host/runtime differences. They do not isolate a kernel's causal contribution. The 97 measured requests ended naturally without API errors; 90/90 coding outputs passed both native base and extended checks. Cold-prefill requests produced a natural 17-token acknowledgement, not sustained reasoning output.

Tradeoffs: short C2/C4 aggregate throughput fell 6.22%/8.84%; C4 mean decode fell 2.98%. Cached near-256K C8 decode rose 78.93%, but mean first-token latency increased from 18.03 s to 25.29 s. Its complete batch still fell from 53.64 s to 49.20 s. See the complete final speed comparison.

A separate same-host C1 HE0–9 test of the combined numerical parent measured decode gains of 19.81% and 16.15% in two comparisons, pooled +17.97%. Both were positive, but their spread exceeded the preset uncertainty rule. HF passed 38/40 and final 36/40; all failures were the known HE1 case also seen at BF16. This is a familiar speed/health panel, not a full HumanEval score.

BF16 fidelity

Short-prefix probability arrays were byte-identical to the previous HF model across 3,072 positions. On the reused 32K and 64K panels, each with 1,024 scored positions, the changes were mixed:

Metric 32K: HF → final 64K: HF → final
Panel perplexity, lower is better 7.96626 → 8.00191 5.12747 → 5.09702
KL distance from BF16, lower is closer 0.222280 → 0.212698 0.116232 → 0.119387
BF16 top-token agreement 80.9570% → 80.7617% 88.2813% → 88.0859%
BF16 top token in model top five 97.3633% → 97.8516% 98.9258% → 99.0234%
Top-five overlap 74.6289% → 74.9609% 81.5625% → 81.6602%

At 32K, 38 top tokens were recovered and 40 lost; at 64K, 28 were recovered and 30 lost. One diagnosed 32K confident error was a real top-token recovery; another only crossed the probability threshold. These panels were reused during diagnosis and are not fresh held-out quality evidence. The measurements belong to the combined numerical parent, whose code and native libraries were preserved when the final R03/R04 tool changes were added. See 32K fidelity, 64K fidelity and composition proof.

Historical Ciru v3 measurements on AMD Ryzen AI Max+ 395 / Radeon 8060S (gfx1151):

  • 178 tok/s single-request decode on the ten-question coding speed screen, with 166 ms mean time to first token.
  • 295 tok/s aggregate at eight concurrent requests, completing the ten-question batch in 5.52 seconds.
  • 1,287 tok/s cold prefill at 64K and 668 tok/s near 256K—1.62× and 2.71× the recorded Q4_K_XL prefill rates, respectively.
  • 256K request context capacity, eight active sequences, and a 44 GiB shared KV/state pool.
  • 123 tok/s cached C1 decode at 63K history, with all ten return-task health checks passing.

These figures describe specific workloads, rather than a universal generation rate. The benchmark tables below include quality results and the workloads where other builds are faster.

Full benchmarks, runner builds, serving settings, and limitations · Ciru v4 source snapshot · Source repository · Credits

Earlier September 13 runtime fixes

Historical plugin-only update; Ciru v4 requires the broader update in INSTALL.md. This release fixes a reproduced graph-replay cache-corruption crash and rejects malformed or ambiguous tool calls with explicit API errors. The weights, kernels and adaptive DFlash2 settings are unchanged. Update instructions, root cause and validation scope.

Running Ciru Halo Agent

Use the accompanying Ciru runtime. This is a custom packed checkpoint and serving stack; installing stock vLLM and pointing it at the weights does not reproduce this build.

The measured profile targets Linux on AMD Strix Halo, with enough unified memory for the model, drafter, and context pool. Peak whole-host memory during the recorded production campaign was 95.35 GB. That includes other host processes and is not the model-file size or a minimum-memory guarantee. The hardware used for this work has 128 GB unified memory.

uvx --from huggingface_hub hf download \
  jcbtc/Ornith1.5-Ciru-Halo-Agent-vllm-strix-halo \
  --local-dir ./ciru-halo-agent
cd ciru-halo-agent
bash runtime/INSTALL-ORNITH-RUNTIME.sh "$PWD/installed-runtime"
bash bundle/serve.sh --host 127.0.0.1 --port 8000

Read Installation and build instructions first for Linux prerequisites, the runtime environment, source rebuild commands, and deployment details. The shipped stack was checked in an isolated installation on an existing Strix Halo test host; this is separate from validation on a fresh external machine. Source is available in ciru-ai/ornith-ciru-halo-agent.

Vision / image input

Image input remains enabled by default in Ciru v4, as introduced in runtime 1.0.2. The explicit image launcher is also available:

bash bundle/serve-vision.sh --host 127.0.0.1 --port 8000

The matching vision encoder and projector are already included. This vLLM checkpoint uses native BF16 tensors, not a separate llama.cpp mmproj GGUF. All 333 model.visual.* tensors, including the six model.visual.merger.* projector tensors, are in protected-00.safetensors, indexed by model.safetensors.index.json. The image processor configuration is included alongside them. No additional projector download or --mmproj argument is needed; a GGUF projector cannot be substituted into this runtime.

The default profile accepts one image across the complete request, including image-bearing chat history, with up to eight active requests and a 1,048,576-pixel preprocessing budget per image. To raise the request limit, pass --max-images-per-prompt 4 to bundle/serve.sh and restart. Higher counts use more encoder and context capacity; the retained vision checks used one image per request. Video is disabled. The profile uses TRITON_ATTN for the BF16 image encoder and retains the 262,144-token request capacity, 44 GiB shared KV/state pool, A4/IU4 target paths, prefix caching, and adaptive DFlash2. Pass --text-only to disable image input.

Send an image through the OpenAI-compatible chat API; this example embeds a local file without exposing a local-file server:

python3 - ./image.png <<'PYIMAGE'
import base64, json, mimetypes, pathlib, sys, urllib.request
image = pathlib.Path(sys.argv[1])
mime = mimetypes.guess_type(image.name)[0] or "image/png"
data_url = f"data:{mime};base64," + base64.b64encode(image.read_bytes()).decode()
payload = {
    "model": "ciru-halo-agent",
    "messages": [{"role": "user", "content": [
        {"type": "text", "text": "Describe this image."},
        {"type": "image_url", "image_url": {"url": data_url}}
    ]}],
    "max_tokens": 512,
    "chat_template_kwargs": {"enable_thinking": False}
}
request = urllib.request.Request(
    "http://127.0.0.1:8000/v1/chat/completions",
    data=json.dumps(payload).encode(), headers={"Content-Type": "application/json"})
with urllib.request.urlopen(request, timeout=180) as response:
    print(json.load(response)["choices"][0]["message"]["content"])
PYIMAGE

Earlier retained image-profile checks passed 8/8 API image requests, 8/8 native Hermes image clients, and 20/20 post-vision HumanEval base and extended checks, with 96.91 GB peak whole-host memory. A mixed batch scored 7/8: all four images were correct, but one text-only request refused. These are narrow, partly image-cache-warm checks of the earlier packaged image profile, not a new evaluation of this publication or broad vision-quality evidence. The published weights and launcher settings were checked separately. See vision checks and limits.

Controlling speculative draft depth

The default remains adaptive C1 drafting (15/7/off through 32,768 computed tokens, then 15), with 7 draft tokens for 2–8 concurrent requests. Explicit --draft-tokens now selects a fixed single-request depth at every supported context length:

# Lower C1 drafting for a low-acceptance workload, including at 64K:
bash bundle/serve.sh --cache-gib 22 --draft-tokens 7

# Disable C1 proposals while retaining the drafter/cache for concurrent requests:
bash bundle/serve.sh --cache-gib 22 --draft-tokens 0

# Fixed C1 depth 15:
bash bundle/serve.sh --draft-tokens 15

Omit --draft-tokens for the default policy. An explicit flag takes precedence over ORNITH_C1_POLICY; otherwise that environment variable is respected, defaulting to auto. These options also work with bundle/serve-vision.sh. C2–8 always retains depth 7, including when C1 depth is 0. A depth of 0 does not unload the drafter or reduce its allocated memory. Unsupported depths are rejected explicitly.

The startup JSON reports the effective ORNITH_C1_POLICY (auto, k0, k7, or k15). Its speculative configuration still reports the maximum 15-token graph envelope; the scheduler selects the actual C1 depth within it. This update was checked without loading the model. Fixed-depth long-context speed and transition correctness have not been newly GPU-validated; lower acceptance suggests trying shorter drafting, not a guaranteed speedup.

Serving behavior

Setting Measured profile
Request context limit 262,144 tokens, including prompt and output
Active requests Up to 8; additional requests queue
Shared KV/recurrent-state pool 44 GiB
Prefix caching Enabled, including recurrent-state reuse
Speculative drafter Trained Ornith DFlash2 by jzinno
Single-request speculation Adaptive 15/7/off below 32,768 computed tokens; 15-token drafting on longer contexts
Concurrent speculation 7-token drafting for 2–8 active requests
Agent integration OpenAI-compatible API, tool calling, preserved Ornith chat/reasoning behavior
Default release evidence Text profile

The pool is shared. Eight active requests does not mean eight unrelated, fully populated 256K histories fit at once. Output must fit in the remaining request context; there is no separate promise of 256K output after a 256K input. Preserve the supplied chat template and use the client’s intended thinking setting.

Historical v3 coding speed and concurrency

HumanEval 0–9, thinking off, greedy sampling, natural end-of-sequence, cold prompt salts. Each row runs all ten questions. These are speed and health checks, not evidence of general coding quality.

Concurrent requests Ten-task completion Mean request decode Mean first-token latency Aggregate throughput
1 10.65 s 178.17 tok/s 0.166 s 148.69 tok/s
2 8.47 s 111.59 tok/s 0.259 s 187.07 tok/s
4 7.12 s 73.54 tok/s 0.340 s 222.74 tok/s
6 5.99 s 60.81 tok/s 0.524 s 264.84 tok/s
8 5.52 s 55.84 tok/s 0.709 s 294.89 tok/s
10 offered / 8 active 7.40 s 55.38 tok/s 1.297 s 249.20 tok/s

60/60 base and extended health checks passed. Mean request decode measures generation after the first token. Aggregate throughput divides all output tokens by complete batch wall time, including scheduling and prefill. They are different metrics, and output length varies between configurations.

For comparison, the fresh Q4_K_XL + DFlash2 (7-token) C1 run at 256K capacity completed the same ten-question batch in 17.32 s, at 131.65 tok/s mean request decode and 0.351 s mean first-token latency, with 10/10 health. Ciru Halo Agent completed that batch 1.63× faster. The measured ROCmFP4 C1 MTP4 mode took 19.56 s, at 113.31 tok/s. Complete concurrency sweeps, alternative modes, and their health outcomes are on the research page.

Historical v3 prompt ingestion

Cold input, without a prefix-cache hit. These are backend prefill-counter rates; each request then generated a natural 17-token acknowledgement. The short acknowledgement is not a sustained decode or reasoning benchmark.

Input tokens Ciru Halo Agent Q4_K_XL ROCmFP4
1,024 1,868 tok/s 1,056 tok/s 1,058 tok/s
8,192 1,715 tok/s 1,174 tok/s 1,046 tok/s
32,768 1,509 tok/s 998 tok/s 842 tok/s
65,536 1,287 tok/s 794 tok/s 629 tok/s
131,072 983 tok/s 552 tok/s 414 tok/s
253,952 668 tok/s 246 tok/s 252 tok/s

The complete near-256K cold request took 380.83 s, versus 1,032.06 s for Q4_K_XL and 1,007.04 s for ROCmFP4. ROCmFP4’s lower-depth rows come from its retained author-profile sweep; the near-256K point is the fresh cold capture. The research page identifies each source run.

Historical v3 returning agents and large histories

All rows below use all ten coding questions, populated histories, and confirmed prefix-cache reuse. Timing includes queueing, suffix prefill, and generation; preparing the shared history is separate.

Shared history Concurrency Ciru mean decode Ciru mean first-token latency Ciru ten-task completion
63,000 tokens 1 123.34 tok/s 0.848 s 21.49 s
63,000 tokens 8 32.08 tok/s 3.968 s 13.69 s
253,952 tokens 1 94.00 tok/s 4.619 s 66.37 s
253,952 tokens 8 11.10 tok/s 18.033 s 53.64 s

40/40 base and extended health checks passed. At 63K/C1, Q4_K_XL and ROCmFP4 completed the ten returns in 52.24 s and 33.45 s. Near 256K/C1, they completed in 75.93 s and 61.06 s: ROCmFP4 finished that batch sooner despite Ciru’s higher generation rate. First-token latency and output length also matter.

The tested Q4_K_XL and ROCmFP4 configurations did not share the warmed prefix successfully across eight request slots. Their cached C8 comparison remains unavailable; this does not establish that the runners cannot support it.

Historical v3 quality and actual agent work

The release was evaluated separately from the short coding speed screen. Full EvalScope runs use the native 541 IFEval, 1,319 GSM8K, and 164 HumanEval tasks. Tool and Hermes scores use their own native graders.

Quality measure Ciru Halo Agent Q4_K_XL ROCmFP4
Full GSM8K 1,254/1,319 · 95.07% 1,252/1,319 · 94.92% 1,228/1,319 · 93.10%
Full HumanEval 144/164 · 87.80% 151/164 · 92.07% 147/164 · 89.63%
Full IFEval, prompt strict 390/541 · 72.09% 413/541 · 76.34% 421/541 · 77.82%
Difficult HumanEval subset 4/6 2/6 0/6
Tool suite, 69 core + 15 hard 140/168 points 138/168 points 143/168 points
BF16 top-token agreement 45/56 47/56 41/56

Full EvalScope used C8, thinking off, greedy sampling, and a 32,768-token response allowance. Ciru and ROCmFP4 used 256K capacity; Q4’s retained full-suite run used 65K capacity and its native chat protocol. Ciru had two IFEval length stops; ROCmFP4 had two GSM8K length stops. All other requests in those two runs completed naturally. Their complete evaluation wall times, including orchestration and grading, were 4,006 s and 5,024 s, respectively.

The difficult subset and tool suite are single blocks, not repeated confidence estimates. BF16 agreement uses seven held-out documents with eight adjacent prefix positions each: these 56 correlated anchors measure short-prefix fidelity, not task accuracy. The original BF16 source was fixed; the comparison quants’ exact source-weight ancestry is not established.

Historical v3 Hermes: three complete passes per model and concurrency

Twenty native agent scenarios per pass, three seeds, 256K capacity, up to 64 turns, and output bounded by remaining context. Scores below are native scores, not percentages of tasks passed.

Model C1 mean score C1 mean workflow time C8 mean score C8 mean workflow time
Ciru Halo Agent 90.33 820.00 s 92.00 369.66 s
Q4_K_XL 94.00 753.18 s 94.00 358.95 s
ROCmFP4 93.67 681.84 s 91.00 550.07 s

Ciru’s C8 mean workflow time was 1.49× faster than ROCmFP4, while Q4 was slightly faster than Ciru in this suite. One interrupted Q4 transport run was retained separately and replaced once; it is excluded from the three complete passes. The research page includes every pass, score range, token timing, and failure count.

Where the historical v3 speed advantage changes

Ciru Halo Agent’s strongest results are speculative coding, prompt ingestion, and shared-history workloads. It is not the fastest model on every task. Four ordinary prose tasks with automatic speculation measured 49.90–63.27 tok/s, compared with approximately 59.5–59.8 tok/s for Q4 and 73.9–74.1 tok/s for ROCmFP4 in the retained no-speculation prose captures. Ciru’s target-only diagnostic measured approximately 56–58 tok/s. The diagnostic skips draft work; its allocations still include the drafter.

256K capacity and the successful return tests do not establish uniformly strong reasoning across every long document. The main benchmark tables measure the text profile. The optional vision profile and its separate, earlier validation limits are described above. Hardware, software builds, memory pools, prompt mix, and speculation acceptance affect results.

Credits and sponsorship

Ciru Halo Agent is built by Ciru / Crown (jcbtc). AMD provided me with a Ryzen AI Halo, and I am sponsored by AMD.

  • Ornith Team created the base Ornith model. Ciru’s work is its hardware-specific quantization, kernels, serving integration, and evaluation; we do not claim authorship of the base model’s training.
  • jzinno trained the Ornith DFlash2 drafter, initialized from z-lab’s Qwen3.5 DFlash. Credit also goes to the DFlash and DFlash 2 authors and the NVIDIA Nemotron dataset contributors whose work supports that drafter.
  • XGrammar supplies the native grammar implementation; its license and pinned Ciru patch are included in the v4 source snapshot.
  • Qwen supplied the underlying Qwen model architecture used by this Ornith checkpoint.
  • vLLM, AMD ROCm, AITER, Composable Kernel, PyTorch, and Triton provide the runtime and compiler foundations.
  • Thanks to peculiar-ragdoll, Daniel Han Chen, julianmb, HaloFPX, and the llama.cpp/ROCmFP4 community for the comparison builds. Their artifacts are baselines, not components of Ciru’s target weights. The Q4 quant is a community Unsloth-style release, not an official Unsloth upload.

See CREDITS.md for pinned provenance and license details. The target model follows Ornith’s MIT declaration; the DFlash2 companion is Apache-2.0 and runtime components retain their own licenses.

Identity and Version

Repository
jcbtc/Ornith1.5-Ciru-Halo-Agent-vllm-strix-halo
Publisher
Ciru - Crown
Task
Image and text to text
Modality
Image and text
Library
vllm
Parameters
Not stated by the source
Languages
amd
Revision
d8bd86d618c792522efaaad49adcd0de837bb523
First published
2026-09-09
Last updated
2026-10-06

Files and Weights

235 files, 24.6 GB in total. The weights are 60 files totalling 24.3 GB in safetensors.

Weights60 files · 24.3 GB
Configuration110 files · 1.4 MB
Tokenizer4 files · 22.9 MB
Documentation24 files · 209.5 KB
Other36 files · 291.2 MB
Repository1 file · 220 B
Every file
FileTypeSizeSHA-256
bundle/models/draft/model.safetensorsWeights1.1 GB a42e77e19c74
bundle/models/source-prefill.safetensorsWeights1.8 GB 8c247cf39886
bundle/models/target/g256-layer-00.safetensorsWeights434.2 MB 2694c2ecf5f7
bundle/models/target/g256-layer-01.safetensorsWeights434.2 MB 341e7463ae07
bundle/models/target/g256-layer-02.safetensorsWeights434.2 MB 7d15a2b21d86
bundle/models/target/g256-layer-03.safetensorsWeights430.9 MB fbcff37ef0e3
bundle/models/target/g256-layer-04.safetensorsWeights434.2 MB 0ff4d98002fa
bundle/models/target/g256-layer-05.safetensorsWeights434.2 MB acaf51aa415f
bundle/models/target/g256-layer-06.safetensorsWeights434.2 MB 63437d70b4a0
bundle/models/target/g256-layer-07.safetensorsWeights430.9 MB 9a43faceb881
bundle/models/target/g256-layer-08.safetensorsWeights434.2 MB b219b2a2ad90
bundle/models/target/g256-layer-09.safetensorsWeights434.2 MB 67e182012074
bundle/models/target/g256-layer-10.safetensorsWeights434.2 MB a7cb0142f13d
bundle/models/target/g256-layer-11.safetensorsWeights430.9 MB 12926c6e327a
bundle/models/target/g256-layer-12.safetensorsWeights434.2 MB 2bae20ab1fd5
bundle/models/target/g256-layer-13.safetensorsWeights434.2 MB 0e4392814980
bundle/models/target/g256-layer-14.safetensorsWeights434.2 MB 44835617cb2d
bundle/models/target/g256-layer-15.safetensorsWeights430.9 MB 255a1cf52971
bundle/models/target/g256-layer-16.safetensorsWeights434.2 MB f76287106467
bundle/models/target/g256-layer-17.safetensorsWeights434.2 MB 72a09dd4f86e
bundle/models/target/g256-layer-18.safetensorsWeights434.2 MB 961d8bb374ec
bundle/models/target/g256-layer-19.safetensorsWeights430.9 MB b2141170820a
bundle/models/target/g256-layer-20.safetensorsWeights434.2 MB ab472b98a705
bundle/models/target/g256-layer-21.safetensorsWeights434.2 MB be0ac2057cd2
bundle/models/target/g256-layer-22.safetensorsWeights434.2 MB 038de60de851
bundle/models/target/g256-layer-23.safetensorsWeights430.9 MB 980245a0cb07
bundle/models/target/g256-layer-24.safetensorsWeights434.2 MB a08ea7018631
bundle/models/target/g256-layer-25.safetensorsWeights434.2 MB 797b1d326fef
bundle/models/target/g256-layer-26.safetensorsWeights434.2 MB da7713ca0734
bundle/models/target/g256-layer-27.safetensorsWeights430.9 MB 0c2b16ebae90
bundle/models/target/g256-layer-28.safetensorsWeights434.2 MB f4f27b7b13e9
bundle/models/target/g256-layer-29.safetensorsWeights434.2 MB 558d88193e7f
bundle/models/target/g256-layer-30.safetensorsWeights434.2 MB edde95b6db60
bundle/models/target/g256-layer-31.safetensorsWeights430.9 MB 430ea41d5960
bundle/models/target/g256-layer-32.safetensorsWeights434.2 MB c6493430ba79
bundle/models/target/g256-layer-33.safetensorsWeights434.2 MB 6718f1a60b5e
bundle/models/target/g256-layer-34.safetensorsWeights434.2 MB 811adabbdc1b
bundle/models/target/g256-layer-35.safetensorsWeights430.9 MB 3a7383592498
bundle/models/target/g256-layer-36.safetensorsWeights434.2 MB 4727657481fd
bundle/models/target/g256-layer-37.safetensorsWeights434.2 MB 00d65f148ac6
bundle/models/target/g256-layer-38.safetensorsWeights434.2 MB fda995734875
bundle/models/target/g256-layer-39.safetensorsWeights430.9 MB 1b9dd11b7241
bundle/models/target/head-w8.safetensorsWeights516.5 MB 14ee8f1fd2a6
bundle/models/target/protected-00.safetensorsWeights1.9 GB 45aa66672bdc
bundle/models/target/protected-01.safetensorsWeights3.8 MB 38200f400a8e
bundle/models/target/protected-02.safetensorsWeights2.8 MB 31f098483ef3
bundle/models/target/protected-03.safetensorsWeights3.8 MB 938327435b0e
bundle/models/target/protected-04.safetensorsWeights3.8 MB 5b70428d5870
bundle/models/target/protected-05.safetensorsWeights2.8 MB b058701e2d97
bundle/models/target/protected-06.safetensorsWeights3.8 MB 1b2df1a2e863
bundle/models/target/protected-07.safetensorsWeights3.8 MB 36b9adae8221
bundle/models/target/protected-08.safetensorsWeights2.8 MB 07c4905f1bca
bundle/models/target/protected-09.safetensorsWeights3.8 MB 77ffe2de3beb
bundle/models/target/protected-10.safetensorsWeights3.8 MB 03c82a87e423
bundle/models/target/protected-11.safetensorsWeights2.8 MB 5fd4b14ed73e
bundle/models/target/protected-12.safetensorsWeights3.8 MB ad8a3d629ac5
bundle/models/target/protected-13.safetensorsWeights3.8 MB 276f5c92fc29
bundle/models/target/protected-14.safetensorsWeights2.8 MB bd29a25d325d
bundle/models/target/protected-15.safetensorsWeights1.7 GB 8a8d151ab8d4
bundle/native/shared_math_reference.safetensorsWeights393.4 KB 11552ec53b62
ACCURACY-PATCH-1.0.1.jsonConfiguration7.1 KB —
LICENSES/sources.jsonConfiguration1.4 KB —
NATIVE-BUILD-CHECK.jsonConfiguration1.7 KB —
RELEASE.jsonConfiguration30.1 KB —
SOURCE-PROVENANCE.jsonConfiguration17.0 KB —
TOOL-SCHEMA-PATCH-1.0.2.jsonConfiguration7.2 KB —
bundle/models/draft/config.jsonConfiguration1.3 KB —
bundle/models/draft/download-source.jsonConfiguration1.3 KB —
bundle/models/draft/evaluation.jsonConfiguration8.1 KB —
bundle/models/draft/manifest.jsonConfiguration1.6 KB —
bundle/models/target/.ciru-source-verified.jsonConfiguration13.1 KB —
bundle/models/target/config.jsonConfiguration3.4 KB —
bundle/models/target/configuration.jsonConfiguration58 B —
bundle/models/target/generation_config.jsonConfiguration202 B —
bundle/models/target/model.safetensors.index.jsonConfiguration171.7 KB —
bundle/models/target/preprocessor_config.jsonConfiguration390 B —
bundle/models/target/processor_config.jsonConfiguration1.2 KB —
bundle/models/target/quantize_config.jsonConfiguration107 B —
bundle/models/target/video_preprocessor_config.jsonConfiguration385 B —
bundle/native/shared_math_reference.jsonConfiguration830 B —
bundle/packaging/cache_identity.pyConfiguration1.2 KB —
bundle/plugin-site/TOOL-INTEGRATION.jsonConfiguration18.4 KB —
bundle/plugin-site/ornith_g256/__init__.pyConfiguration1.6 KB —
bundle/plugin-site/ornith_g256/_vllm_correctness/__init__.pyConfiguration79 B —
bundle/plugin-site/ornith_g256/_vllm_correctness/causal_conv1d.pyConfiguration51.8 KB —
bundle/plugin-site/ornith_g256/_vllm_correctness/chat_completion_serving_r03.pyConfiguration57.1 KB —
bundle/plugin-site/ornith_g256/_vllm_correctness/gdn_attn.pyConfiguration26.2 KB —
bundle/plugin-site/ornith_g256/_vllm_correctness/gpu_model_runner.pyConfiguration345.5 KB —
bundle/plugin-site/ornith_g256/_vllm_correctness/manifest.jsonConfiguration2.0 KB —
bundle/plugin-site/ornith_g256/_vllm_correctness/qwen_gdn_linear_attn.pyConfiguration79.5 KB —
bundle/plugin-site/ornith_g256/_xgrammar_native/build-receipt.jsonConfiguration1.7 KB —
bundle/plugin-site/ornith_g256/_xgrammar_native/selection.jsonConfiguration106 B —
bundle/plugin-site/ornith_g256/adaptive_c1.pyConfiguration15.0 KB —
bundle/plugin-site/ornith_g256/attention.pyConfiguration772 B —
bundle/plugin-site/ornith_g256/attention_compact.pyConfiguration10.5 KB —
bundle/plugin-site/ornith_g256/attention_fast.pyConfiguration12.3 KB —
bundle/plugin-site/ornith_g256/attention_folded.pyConfiguration9.6 KB —
bundle/plugin-site/ornith_g256/attention_iu4.pyConfiguration3.3 KB —
bundle/plugin-site/ornith_g256/attention_iu4_persistent.pyConfiguration12.4 KB —
bundle/plugin-site/ornith_g256/attention_mixed.pyConfiguration4.1 KB —
bundle/plugin-site/ornith_g256/attention_partition.pyConfiguration8.6 KB —
bundle/plugin-site/ornith_g256/attention_storage.pyConfiguration4.1 KB —
bundle/plugin-site/ornith_g256/attention_tile.pyConfiguration9.6 KB —
bundle/plugin-site/ornith_g256/attention_verify.pyConfiguration3.8 KB —
bundle/plugin-site/ornith_g256/attention_window.pyConfiguration3.6 KB —
bundle/plugin-site/ornith_g256/cache_full1120.pyConfiguration3.0 KB —
bundle/plugin-site/ornith_g256/column_backend.pyConfiguration5.8 KB —
bundle/plugin-site/ornith_g256/column_kernel.pyConfiguration9.4 KB —
bundle/plugin-site/ornith_g256/config.pyConfiguration2.9 KB —
bundle/plugin-site/ornith_g256/dense_n32.pyConfiguration2.4 KB —
bundle/plugin-site/ornith_g256/dense_source.pyConfiguration1.8 KB —
bundle/plugin-site/ornith_g256/dflash_conv_boundary.pyConfiguration5.5 KB —
bundle/plugin-site/ornith_g256/dflash_spec.pyConfiguration1.4 KB —
bundle/plugin-site/ornith_g256/dynamic_graphs.pyConfiguration11.8 KB —
bundle/plugin-site/ornith_g256/gdn_canonical_kernel.pyConfiguration9.2 KB —
bundle/plugin-site/ornith_g256/gdn_compact.pyConfiguration5.2 KB —
bundle/plugin-site/ornith_g256/gdn_compact_kernel.pyConfiguration10.1 KB —
bundle/plugin-site/ornith_g256/gdn_spec.pyConfiguration5.8 KB —
bundle/plugin-site/ornith_g256/graph_phase_guard.pyConfiguration6.6 KB —
bundle/plugin-site/ornith_g256/launch.pyConfiguration18.2 KB —
bundle/plugin-site/ornith_g256/lifecycle.pyConfiguration8.3 KB —
bundle/plugin-site/ornith_g256/loader.pyConfiguration2.9 KB —
bundle/plugin-site/ornith_g256/method.pyConfiguration10.0 KB —
bundle/plugin-site/ornith_g256/moe_base.pyConfiguration3.7 KB —
bundle/plugin-site/ornith_g256/moe_shared.pyConfiguration4.6 KB —
bundle/plugin-site/ornith_g256/native.pyConfiguration12.2 KB —
bundle/plugin-site/ornith_g256/native_tool_schema.pyConfiguration1.9 KB —
bundle/plugin-site/ornith_g256/no_spec.pyConfiguration2.6 KB —
bundle/plugin-site/ornith_g256/optimized/__init__.pyConfiguration45 B —
bundle/plugin-site/ornith_g256/optimized/compile_scope.pyConfiguration1.3 KB —
bundle/plugin-site/ornith_g256/optimized/draft.pyConfiguration4.3 KB —
bundle/plugin-site/ornith_g256/optimized/draft_kernel.pyConfiguration2.6 KB —
bundle/plugin-site/ornith_g256/optimized/first_draft_norm.pyConfiguration4.3 KB —
bundle/plugin-site/ornith_g256/optimized/grammar_parallel.pyConfiguration5.4 KB —
bundle/plugin-site/ornith_g256/optimized/greedy.pyConfiguration2.2 KB —
bundle/plugin-site/ornith_g256/optimized/greedy_kernel.pyConfiguration1.9 KB —
bundle/plugin-site/ornith_g256/optimized/launch.pyConfiguration512 B —
bundle/plugin-site/ornith_g256/optimized/mixed_qk_sum.pyConfiguration2.8 KB —
bundle/plugin-site/ornith_g256/optimized/norm0_barrier.pyConfiguration6.2 KB —
bundle/plugin-site/ornith_g256/optimized/output_ceiling.pyConfiguration1.0 KB —
bundle/plugin-site/ornith_g256/optimized/pipeline/SOURCE-PROOF.jsonConfiguration1.7 KB —
bundle/plugin-site/ornith_g256/optimized/pipeline/__init__.pyConfiguration45 B —
bundle/plugin-site/ornith_g256/optimized/pipeline/adapter.pyConfiguration9.1 KB —
bundle/plugin-site/ornith_g256/optimized/pipeline/candidate/causal_conv1d.pyConfiguration51.8 KB —
bundle/plugin-site/ornith_g256/optimized/pipeline/candidate/chunk_o.pyConfiguration5.4 KB —
bundle/plugin-site/ornith_g256/optimized/pipeline/candidate/chunk_scaled_dot_kkt.pyConfiguration5.7 KB —
bundle/plugin-site/ornith_g256/optimized/pipeline/candidate/solve_tril.pyConfiguration19.6 KB —
bundle/plugin-site/ornith_g256/optimized/pipeline/candidate/wy_fast.pyConfiguration4.4 KB —
bundle/plugin-site/ornith_g256/optimized/postconv.pyConfiguration7.9 KB —
bundle/plugin-site/ornith_g256/optimized/prefix.pyConfiguration2.4 KB —
bundle/plugin-site/ornith_g256/optimized/qk.pyConfiguration5.5 KB —
bundle/plugin-site/ornith_g256/optimized/qk_schedule.pyConfiguration8.5 KB —
bundle/plugin-site/ornith_g256/optimized/worker.pyConfiguration3.3 KB —
bundle/plugin-site/ornith_g256/parser_contract.pyConfiguration4.2 KB —
bundle/plugin-site/ornith_g256/phase_dispatch.pyConfiguration2.2 KB —
bundle/plugin-site/ornith_g256/prefill_draft.pyConfiguration5.6 KB —
bundle/plugin-site/ornith_g256/prefix_cache.pyConfiguration15.3 KB —
bundle/plugin-site/ornith_g256/runtime.pyConfiguration6.0 KB —
bundle/plugin-site/ornith_g256/runtime_canonical_attention.pyConfiguration472 B —
bundle/plugin-site/ornith_g256/runtime_correctness.pyConfiguration2.2 KB —
bundle/plugin-site/ornith_g256/strict_qwen/__init__.pyConfiguration81 B —
bundle/plugin-site/ornith_g256/strict_qwen/qwen3.pyConfiguration11.7 KB —
bundle/plugin-site/ornith_g256/strict_qwen/qwen3_contract.pyConfiguration8.7 KB —
bundle/plugin-site/ornith_g256/worker.pyConfiguration13.7 KB —
bundle/plugin-site/ornith_g256/worker_base.pyConfiguration4.6 KB —
bundle/plugin-site/ornith_g256/xgrammar_native.pyConfiguration2.1 KB —
evaluation/CIRU-V4-COMPOSITION.jsonConfiguration943 B —
evaluation/CIRU-V4.1.1-QUALIFICATION.jsonConfiguration38.9 KB —
evaluation/CIRU-V4.1.2-VALIDATION.jsonConfiguration4.6 KB —
runtime/UPGRADE-CIRU.pyConfiguration8.6 KB —
BUILD.mdDocumentation8.4 KB —
CREDITS.mdDocumentation6.6 KB —
INSTALL.mdDocumentation9.7 KB —
LICENSES/dflash2-9b4852c05fd0-LICENSEDocumentation11.4 KB —
LICENSES/dflash2-main-LICENSEDocumentation11.4 KB —
LICENSES/dflash2-upstream-model-card.mdDocumentation7.7 KB —
LICENSES/ornith-upstream-model-card.mdDocumentation29.9 KB —
NOTICEDocumentation1.1 KB —
PATCH-NOTES-4.1.2.mdDocumentation2.9 KB —
README.mdDocumentation24.1 KB —
RUNTIME-FIXES.mdDocumentation11.7 KB —
VISION.mdDocumentation3.7 KB —
bundle/LICENSES/XGRAMMAR-LICENSEDocumentation11.4 KB —
bundle/models/draft/LICENSEDocumentation11.4 KB —
bundle/models/draft/README.mdDocumentation7.7 KB —
bundle/plugin-site/ciru_ornith_g256-4.1.2.dist-info/licenses/LICENSE-APACHE-2.0Documentation11.4 KB —
evaluation/CIRU-V4-C1-SPEED.mdDocumentation3.3 KB —
evaluation/CIRU-V4-FIDELITY32.mdDocumentation4.2 KB —
evaluation/CIRU-V4-FIDELITY64.mdDocumentation3.8 KB —
evaluation/CIRU-V4-PERFORMANCE.mdDocumentation4.2 KB —
evaluation/CIRU-V4-SHORT-FIDELITY.mdDocumentation2.5 KB —
evaluation/CIRU-V4.1.1-QUALIFICATION.mdDocumentation6.0 KB —
runtime/README.mdDocumentation1.2 KB —
runtime/UPSTREAM-RUNTIME.mdDocumentation14.2 KB —
LICENSES/Apache-2.0.txtOther11.4 KB —
LICENSES/flash-linear-attention-MIT.txtOther1.1 KB —
assets/ciru-halo-agent.pngOther2.4 MB ddbb4819065a
bundle/models/target/chat_template.jinjaOther7.5 KB —
bundle/native/libornith_attention_iu4.soOther253.0 KB 3d29cf3616c6
bundle/native/libornith_dense_g256.soOther70.2 KB dc9bbf04f02f
bundle/native/libornith_dense_g256_n32.soOther172.5 KB 504b832eea92
bundle/native/libornith_head_i8_tile.soOther343.3 KB 99ccdf750ebf
bundle/native/libornith_persistent_iu4.soOther104.9 KB c70ba14d5aeb
bundle/native/libornith_routed_direct.soOther156.4 KB 5b3ca6826547
bundle/native/libornith_routed_n32.soOther151.9 KB 48415e71f6c8
bundle/native/libornith_routed_storage_n32.soOther216.9 KB d1d7d7eafebf
bundle/packaging/serve.shOther1.5 KB —
bundle/paths.envOther268 B —
bundle/plugin-site/ciru_ornith_g256-4.1.2.dist-info/INSTALLEROther2 B —
bundle/plugin-site/ciru_ornith_g256-4.1.2.dist-info/METADATAOther254 B —
bundle/plugin-site/ciru_ornith_g256-4.1.2.dist-info/RECORDOther8.7 KB —
bundle/plugin-site/ciru_ornith_g256-4.1.2.dist-info/REQUESTEDOther —
bundle/plugin-site/ciru_ornith_g256-4.1.2.dist-info/WHEELOther91 B —
bundle/plugin-site/ciru_ornith_g256-4.1.2.dist-info/entry_points.txtOther121 B —
bundle/plugin-site/ciru_ornith_g256-4.1.2.dist-info/top_level.txtOther12 B —
bundle/plugin-site/ornith_g256/_xgrammar_native/libxgrammar-candidate.soOther60.2 MB 92ab36bfae20
bundle/serve-vision.shOther252 B —
bundle/serve.shOther1.6 KB —
runtime/INSTALL-ORNITH-RUNTIME.shOther794 B —
runtime/INSTALL-RUNTIME.shOther4.4 KB —
runtime/aiter-jit-gfx1151/module_aiter_core.soOther567.0 KB 358056903333
runtime/ciru-halo-agent-aiter-source.tar.gzOther55.7 MB 986e7d734d4c
runtime/ciru-halo-agent-vllm-source.tar.gzOther40.5 MB c9b6c30d9690
runtime/ciru-v4-ornith-source.tar.gzOther18.5 MB 91794b741f8d
runtime/nixos-module.nixOther349 B —
runtime/requirements-runtime.lockOther2.1 KB —
runtime/runtime-env.shOther5.0 KB —
runtime/shell.nixOther416 B —
runtime/wheels/amd_aiter-0.1.0rc1-cp314-cp314-linux_x86_64.whlOther67.4 MB e392272a101a
runtime/wheels/vllm-0.1.0rc2.dev9+g9255fd9fb9.rocm100-cp314-cp314-linux_x86_64.whlOther44.3 MB ba5b1c0f957c
.gitattributesRepository220 B —
bundle/models/target/merges.txtTokenizer3.4 MB —
bundle/models/target/tokenizer.jsonTokenizer12.8 MB 5f9e4d4901a9
bundle/models/target/tokenizer_config.jsonTokenizer16.7 KB —
bundle/models/target/vocab.jsonTokenizer6.7 MB —

License and Download

License
mit
Access
Open weights, no gate
Download size
24.3 GB
Download from Ciru - Crown

Released by Ciru - Crown through its official repository on Hugging Face. Read the license.

Built From

  • Derived from ornith-ai/Ornith-1.5-35B-A3B
  • Described by arXiv:2602.06036
  • Quantized from ornith-ai/Ornith-1.5-35B-A3B

Memory Requirements

PrecisionWeights in memory
As published24.3 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About Ornith1.5-Ciru-Halo-Agent-vllm-strix-halo

Can I use Ornith1.5-Ciru-Halo-Agent-vllm-strix-halo commercially?

Yes. Ornith1.5-Ciru-Halo-Agent-vllm-strix-halo is released under MIT License. The MIT License is a short permissive license. It permits commercial use, modification and redistribution, provided the copyright notice and permission notice are included.

Similar Models

Non-uniform GGUF quantizations of a 512-expert MoE, produced with GSQ and RCO, with a vision projector for multimodal use. This repository provides GGUF quantizations of Qwen3.8-Flash-Next at four sizes, together with the model's vision projector (mmproj) for multimodal use. In contrast to uniform quantization, which applies a single quantization type to all weight tensors, each model here assigns a separate quantization type to every tensor. The assignment is obtained by a gradient-based search that allocates precision according to per-tensor sensitivity, subject to a total size budget. The resulting files are standard GGUF and run unmodified in llama.cpp, Ollama, and LM Studio. A…

Open weights apache-2.0 gguf

Model · Image and text to text

Huihui-Qwen3.8-27B-abliterated-GGUF

Huihui.ai

This is an uncensored version of Qwen/Qwen3.8-27B created with abliteration (see remove-refusals-with-transformers to know more about it). This is a crude, proof-of-concept implementation to remove refusals from an LLM model without using TransformerLens. The newly added Huihui-Qwen3.8-27B-abliterated-Underdog-Saluki series come from ConwayResearch/Underdog-Saluki-27B-1.0 and ukisai/Swift-1.5-Qwen3.8-27B-GSQ-RCO-GGUF. Only layers 22 to 52 (0-based indexing) have been ablated, while the other layers remain unablated. It may come with a small disclaimer warning. Due to ConwayResearch/Underdog-Saluki-27B-1.0 not providing an imatrix file, we will attempt to perform ablation by mixing the GGUF…

Open weights apache-2.0 transformers

Model · Image and text to text

Qwen3.8-27B-iMatrix-NVFP4-MTP-GGUF

Michał Piszczek

I built this quant because the ready-made FP4 file answered the wrong question. It was fast, but on my short WikiText-2 control it scored 6.4949 PPL. Plain Q40 scored 6.3798. The first higher-quality hybrid went too far the other way: good perplexity, 34.19 tok/s, and no comfortable room for 256K plus vision. This is the build that survived both gates. It is a 17.1 GB, 5.01 BPW mixed-precision GGUF of Qwen/Qwen3.8-27B. It keeps large, tolerant matrices in native NVFP4 and spends more bits on selected attention, Gated DeltaNet, and late FFN tensors. The trained MTP layer remains embedded in the same GGUF. This is not a fine-tune. I built the private calibration workload from 5,472 messages…

Open weights apache-2.0

Qwen3.8-27B uncensored by HauhauCS 0/465 Refusals. This is the Aggressive variant: direct answers, no refusal behavior, and minimal preamble on hard prompts. Every text GGUF preserves Qwen3.8's native NextN head, and this release adds HauhauCS FastMTP: a specific acceleration sidecar qualified across the complete quant lineup at maximum native context. Vision is included through the separate BF16 projector. No changes to datasets or intended capabilities. This release preserves Qwen3.8-27B's text, reasoning, agentic, image, and video capabilities while applying the HauhauCS Aggressive uncensoring profile. Pick Aggressive when you specifically want the model to get to the answer without…

Open weights apache-2.0

Model · Image and text to text

Qwen3.8-27B-GGUF

GGML Org

Run it in the Llama app: https://llama.app - https://huggingface.co/Qwen/Qwen3.8-27B - https://huggingface.co/incoai/Qwen3.8-27B-DFlash2 - add info

Open weights apache-2.0

lm mmap --lazy-mode on -ngl 99 -c 32768 \ mmproj-Qwen3.8-Flash-Next-BF16.gguf --local-dir. llama-mtmd-cli -m IQ3S/Qwen3.8-Flash-Next-GSQ-RCO-abliterated-IQ3S-00001-of-00002.gguf \ --mmproj mmproj-Qwen3.8-Flash-Next-BF16.gguf -lm mmap --lazy-mode on \ -md mtp-Qwen3.8-Flash-Next-Q80.gguf --draft-max 4 -lm mmap --lazy-mode on -ngl 99 -lm mmap --lazy-mode on keeps the n-gram table memory-mapped on disk: it is 28.8 GB and one row is read per token. Shard 1 wants to be resident (VRAM or RAM); shard 2 is fine on an SSD. The vision projector is a standard clip GGUF shared with the upstream tiers, 0.91 GB. Native context is 262,144 tokens and the KV cache grows with it, so start at -c 32768 and work…

Open weights apache-2.0 gguf