This is a decision model: use llama-server's /v1/systemone endpoint with -ub 4096 -b 4096. Follow Run it for supported settings and app compatibility.
Start here. Download Clef-Flash-Artemis-IQ4_XS.gguf (4.94 GB). 95.0% same answers as BF16 on CPU; public Q4_K_M is closer at a larger size. Details.

Typed-decision accuracy on the card's selection panel, with the measured nearby-size alternatives and BF16 original. These comparisons informed file selection and do not establish performance on unseen inputs. Hardware, runtime and other evaluation panels are listed under How it was tested.
These comparisons informed file selection; they do not establish performance on unseen inputs.
Earlier file names still work for now; new downloads should use the names below.
llama-server -hf turintech/Clef-Flash-Artemis-GGUF:IQ4_XS --port 8080 -c 16384 -ub 4096 -b 4096
Clef-Flash is Cloudflare's 9B decision model. The model accepts text (and optionally images) with a set of typed questions, and it returns a probability for every allowed answer in a single pass, instead of generating text. See the original model card.
This is an independent TurinTech conversion, not affiliated with or endorsed by Cloudflare. The files are standard
GGUF and run on stock llama.cpp. For images, use the vision projector from
ggml-org/Clef-Flash-GGUF (see below). Changes from the original:
the weights are converted to GGUF and quantized for llama.cpp. See NOTICE.
| Variant | Size | Saved | Same answer | Acc. Δ | Conf. changes | Choose for |
|---|---|---|---|---|---|---|
| BF16 original | 18.2 GB | reference | reference | |||
| IQ4_XS | 4.94 GB | 73% | 95.0% | -0.1 | 0 | Default. |
| Q3_K_L | 4.52 GB | 75% | 95.0% | -0.8 | 0 | Slightly smaller. |
| Q3_K_S | 4.14 GB | 77% | 93.7% | -1.4 | 0 | Tight memory. |
| IQ3_XXS | 3.65 GB | 80% | 90.8% | -1.7 | 0 | Smallest. |
"Saved" is the file-size reduction versus the BF16 original. "Acc. Δ" is the accuracy change in percentage points; the other columns are defined below. Variant links download the exact GGUF; full filenames are in the commands and checksums. File labels are size classes, explained under "File names, sizes and SHA-256 checksums" at the end of the card.
IQ3_XXS: Smallest (see below for how it compares with the public IQ3_M).
"Same answer as the original" is how often a file picks the same option as the BF16 original on 2,000 test decisions. "Accuracy change" is the difference in accuracy against the original on the same cases, in points. "Confident answers changed" counts answers the original was more than 80% sure of that the file changed. These numbers are on CPU; on GPU see "Same files on other hardware".
Test and held-out results for Artemis IQ3_XXS and public IQ3_M (4.85 GB) are in the tables. The public IQ3_M is closer on the benchmark sample. The usual public files, on the same tests: the Q4_K_M from ggml-org (6.49 GB) gives the same answer 96.5% of the time with +0.3 accuracy, and the IQ3_M from bartowski (4.85 GB) 89.5% with -2.0.
Needs llama.cpp from 9 October 2026 or newer. Tested at commit 1e6f04a, and the Artemis IQ4_XS and Artemis IQ3_XXS files also on
release b11572 (12 October 2026), which gave identical answers on a 100-decision check.
llama-server -m Clef-Flash-Artemis-IQ4_XS.gguf --port 8080 -c 16384 -ub 4096 -b 4096
Tested on an Apple M3 Max (36 GB) with llama.cpp Metal (b11617): every file here loads and answers with the command above.
Keep -ub 4096 -b 4096. At the default of 512, /v1/systemone rejects inputs longer than 512 tokens. That is true
of every Clef GGUF, public ones included. -c 16384 stops the server from reserving memory for the full training
context.
curl http://localhost:8080/v1/systemone -H 'Content-Type: application/json' -d '{
"state": "My Stripe integration keeps failing. Please help ASAP.",
"questions": {"urgency": {"type": "noul", "instructions": "Does this message express urgency?"}}
}'
The request and response follow the Jev/SystemOne format described on the original model card.
echo "My Stripe integration keeps failing. Please help ASAP." | ollama run turintech/clef-flash-artemis:4.9gb --ask "Does this message express urgency?"
This verified tag selects Clef-Flash-Artemis-IQ4_XS.gguf. It is a decision model: use /v1/systemone, not a chat prompt. Ollama 0.40.4 was tested; include "model": "turintech/clef-flash-artemis:4.9gb" in the decision request to port 11434. The command runs the documented decision example; the explicit size tag selects the recommended file and is not an immutable revision.
Tested with Ollama 0.40.4 on 14 October 2026, on a CPU. Download the file and import it with a 16K context:
hf download turintech/Clef-Flash-Artemis-GGUF Clef-Flash-Artemis-IQ4_XS.gguf --local-dir .
printf 'FROM ./Clef-Flash-Artemis-IQ4_XS.gguf\nPARAMETER num_ctx 16384\n' > Modelfile
ollama create clef-flash-artemis -f Modelfile
echo "My Stripe integration keeps failing. Please help ASAP." | ollama run clef-flash-artemis --ask "Does this message express urgency?"
The last command prints yes 94%. Ollama serves the same decision endpoint on its own port; add a model field:
curl http://localhost:11434/v1/systemone -H 'Content-Type: application/json' -d '{
"model": "clef-flash-artemis",
"state": "My Stripe integration keeps failing. Please help ASAP.",
"questions": {"urgency": {"type": "noul", "instructions": "Does this message express urgency?"}}
}'
Without num_ctx 16384, Ollama's default context of 4,096 tokens rejects longer inputs. The numbers on this card
were measured with llama-server. Ollama sets its own batch size, so the probabilities can differ slightly: 0.946
against 0.946 from llama-server for this example on the same machine. Clef reads the whole input in one batch: in our test a 3,641-token input worked through Ollama, and a
4,914-token input stopped the Ollama runner on a 30 GB machine, so keep inputs within 4,096 tokens, as with
llama-server. Images through Ollama were not tested.
Questions, problems or a model to consider for a smaller version? Reply in our feedback thread.
Add the vision projector from ggml-org/Clef-Flash-GGUF and raise the batch size, since several large images can exceed 4,096 tokens:
hf download ggml-org/Clef-Flash-GGUF mmproj-Clef-Flash-BF16.gguf --local-dir .
llama-server -m Clef-Flash-Artemis-IQ4_XS.gguf --port 8080 --mmproj mmproj-Clef-Flash-BF16.gguf -c 16384 -ub 8192 -b 8192
Send images as data URLs in a top-level images array of the /v1/systemone request. Our image results use the BF16
projector.
This is a decision model. Run it on llama-server's /v1/systemone endpoint and keep -ub 4096 -b 4096, as in
Run it, or import it into Ollama as in Run it with Ollama. The llama.cpp and LM
Studio buttons under "Use this model" start it as a chat model, which is not a supported way to run it. The Ollama
button runs it as a decision model; add the :IQ4_XS tag for the recommended file, because without a tag it can download a smaller one.
Download Clef-Flash-Artemis-IQ4_XS.gguf (4.94 GB, peak GPU memory 5.5 GiB on an NVIDIA A100) and start it with the settings below, then send
requests as shown in Run it. It gives the same answer as the original on 95.0% of 2,000 test decisions on CPU
(94.1% on an NVIDIA A100) and changed no answer the original was more than 80% sure of. Go smaller only if memory is
tight. The public Q4_K_M from ggml-org is a little closer to the original (96.5%) at 6.49 GB.
These files are per-tensor mixes, and their labels are size classes (see the file names table at the end). Use the exact filename or the :IQ4_XS tag; without a tag, app buttons may select a different file.
Cloudflare/clef-flash is 18.2 GB and needs 16.5 GiB of GPU memory, more than a 16 GB card has. The default file here is 4.94 GB, 73% smaller, and needs 5.5 GiB (measured on an NVIDIA A100). It gives the same answer as the original on 95.0% of 2,000 test decisions on CPU (94.1% on the A100), has measured accuracy changes within one point (-0.1 on CPU, -1.0 on the A100), and changed no answer the original was more than 80% sure of on any machine we tested.
The separate train-split results are labelled held-out in the tables. Their independence from calibration and variant selection has not been verified for every file.
Test results informed candidate selection, so they do not independently measure performance on new inputs. Read them alongside the separate train-split results and public-file comparisons. Agreement measures whether a compressed model keeps the original's answers, including its mistakes. The typed-decisions accuracy figures compare answers with teacher-generated labels.
Every file was compared with the BF16 original and with the public builds, all at identical llama.cpp settings, on:
Measured with llama.cpp 1e6f04a at the settings above: text on an AMD Ryzen 9 9950X (CPU only), images on an NVIDIA
A100 80 GB. Public files: ggml-org/Clef-Flash-GGUF (4a7a08c text, 6b4fe4c images) and
bartowski/Cloudflare_clef-flash-GGUF (5fcdd9b).
| Check | BF16 | Artemis IQ4_XS | Artemis Q3_K_L | Artemis Q3_K_S | Artemis IQ3_XXS | Public Q4_K_M | Public IQ3_M |
|---|---|---|---|---|---|---|---|
| Typed-decision accuracy | 70.5 | 70.4 | 69.7 | 69.1 | 68.8 | 70.8 | 68.5 |
| Same answer as BF16 | 95.0 | 95.0 | 93.7 | 90.8 | 96.5 | 89.5 | |
| KL to BF16 (lower is closer) | .0045 | .0060 | .0098 | .0234 | .0032 | .0333 | |
| Held-out: same answer as BF16 | 96.6 | 96.0 | 94.2 | 92.4 | 96.6 | 91.4 | |
| Decision Index sample accuracy | 83.0 | 84.0 | 83.7 | 81.3 | 83.7 | 82.7 | 81.3 |
| Decision Index sample: same answer as BF16 | 96.7 | 95.3 | 94.7 | 90.7 | 96.7 | 94.3 | |
| Image accuracy | 68.8 | 70.0 | 69.4 | 67.9 | 70.0 | 68.8 | not run |
| Images: same answer as BF16 | 97.6 | 96.7 | 96.1 | 93.3 | 97.0 | not run | |
| Changed answers where BF16 was over 80% sure | 0 | 0 | 0 | 0 | 0 | 0 |
For every file, shuffling the answer options changed no answers and a repeat run gave identical answers. Questions with 10 or more options are harder for every compressed file, more so for our smaller ones (the Artemis IQ3_XXS file gives the same answer on 83.7% of them, the public Q4_K_M on 95.3%). Clef-Flash answers a request's questions jointly, so sending them one per request changes 8.2% of the original's own decisions (measured on an A100); every number here uses the same request shape. Small differences in this sample should not be treated as general improvements.
The same files on four GPUs (llama.cpp 1e6f04a, CUDA, all layers on the GPU). Each column comes from one machine; a
blank cell was not run on that machine. On the RTX 3060 the original does not fit in 12 GB and ran partly on the CPU;
the Artemis IQ4_XS file runs fully on the card with 5.2 GiB.
| File | Same answer: A100 80 GB | RTX 5090 32 GB | GB10 (DGX Spark) | RTX 3060 12 GB | Peak GPU memory (A100) |
|---|---|---|---|---|---|
| Original, BF16 | 16.5 GiB | ||||
| Clef-Flash-Artemis-IQ4_XS | 94.1% | 94.2% | 94.2% | 94.2% | 5.5 GiB |
| Clef-Flash-Artemis-Q3_K_L | 95.0% | 94.8% | 94.6% | 5.3 GiB | |
| Clef-Flash-Artemis-Q3_K_S | 93.2% | 93.0% | 93.1% | 4.9 GiB | |
| Clef-Flash-Artemis-IQ3_XXS | 91.0% | 91.0% | 91.1% | 91.0% | 4.6 GiB |
| Public Q4_K_M (ggml-org) | 96.3% | 96.0% | 96.1% | 96.5% | 6.9 GiB |
| Public Q4_K_M (bartowski) | 96.4% | 96.5% | 96.5% | 6.5 GiB | |
| Public IQ3_M (bartowski) | 89.5% | 89.7% | 89.8% | 5.5 GiB |
On GPU the default Artemis IQ4_XS file sits about one point further from the original than on CPU (same answer 94.1 to 94.2% against 95.0%, accuracy -0.5 to -1.0 against -0.1); the public Q4_K_M files change by less. No file changed a confident answer on any GPU.
Peak memory of llama-server on CPU (AMD EPYC 7742, -c 16384 -ub 4096 -b 4096 --parallel 1):
| File | Size | Peak memory | With --no-repack |
|---|---|---|---|
| Clef-Flash-Artemis-IQ4_XS | 4.94 GB | 7.17 GiB | 6.22 GiB |
| Clef-Flash-Artemis-IQ3_XXS | 3.65 GB | 5.96 GiB | 5.02 GiB |
| Public Q4_K_M (ggml-org) | 6.49 GB | 10.19 GiB | 7.66 GiB |
| Public IQ3_M (bartowski) | 4.85 GB | 6.32 GiB | 6.14 GiB |
By default llama.cpp keeps an extra copy of some 4-bit weights on CPU for speed; --no-repack turns it off.
File names end in a standard llama.cpp quant label, so llama.cpp, Ollama and LM Studio can pick a file by tag. Each file is a per-tensor mix of quant types, so the label is a size class: the smallest standard llama.cpp quant whose typical bits per weight are at least the file's. The general.file_type field inside the files reads Q4_K_M, the base type given to llama-quantize; the table shows the tensor types each file holds.
| File | Earlier name | Bits per weight | Main tensor types (share of bytes) |
|---|---|---|---|
Clef-Flash-Artemis-IQ4_XS.gguf | Clef-Flash-Artemis-4.9GB.gguf | 4.34 | IQ4_XS 52%, Q4_K 32%, Q3_K 9%, Q6_K 7% |
Clef-Flash-Artemis-Q3_K_L.gguf | Clef-Flash-Artemis-4.5GB.gguf | 3.97 | IQ4_XS 46%, Q4_K 22%, IQ3_S 9%, IQ3_XXS 9% |
Clef-Flash-Artemis-Q3_K_S.gguf | Clef-Flash-Artemis-4.1GB.gguf | 3.64 | IQ3_XXS 39%, Q4_K 24%, IQ4_XS 21%, Q6_K 8% |
Clef-Flash-Artemis-IQ3_XXS.gguf | Clef-Flash-Artemis-3.6GB.gguf | 3.20 | Q4_K 28%, IQ4_XS 24%, IQ2_S 14%, IQ2_XS 13% |
The earlier names still download the same bytes, with the same checksums, for a transition period.
| File | Bytes | sha256 |
|---|---|---|
Clef-Flash-Artemis-IQ4_XS.gguf | 4,939,421,856 | e1f2272f0a032e7df86e41d519bbce0f44981347a48df7becc74dfbabe32f5cc |
Clef-Flash-Artemis-Q3_K_L.gguf | 4,516,501,664 | 5eca001b28c3b7e1112abbc2ed583fae961013063be11f0cbf75e26146dc2b95 |
Clef-Flash-Artemis-Q3_K_S.gguf | 4,135,475,360 | 28db4324d25d6ed9841a630288cdff6fffac50438aafc1b8010296057d5681b7 |
Clef-Flash-Artemis-IQ3_XXS.gguf | 3,645,429,920 | 7620a9f7b7d383718f96ced828183c2875598ea317faaf669f732626df2a5c9b |
We also make fine-tuned and further optimised versions on request: tuned on specific decisions and data, built for the target hardware (CPU servers, laptops, Apple Silicon, edge devices), or compressed from a private model. Book a call with TurinTech.
Apache-2.0 (see LICENSE and NOTICE), the same as Cloudflare/clef-flash, which is
post-trained from Qwen/Qwen3.5-9B.
When serving these files to others, for example through an API, an inference provider or OpenRouter, we'd appreciate a mention of TurinTech (turintech.ai) as the source of the quantization.
These files keep improving.