This is a decision model, not a text generator: it reads a state (text or JSON) together with a schema of typed questions and hands back a probability for every allowed option of every question, all in a single forward pass. It never generates text, so there's no chat, no completion endpoint, and no prompt format to worry about.
llama.cpp serves it through llama-server's /v1/systemone endpoint (the TypeSafe System One API). The full request and response shapes are in the llama-server README, but here's what a request looks like:
curl http://127.0.0.1:8080/v1/systemone \
-H "Content-Type: application/json" \
-d '{
"state": "Customer message: I was charged twice for my order last week and nobody has replied.",
"questions": {
"route": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {"billing": null, "shipping": null, "technical": null}
},
"angry": {
"type": "noul",
"instructions": "Is the customer angry?"
},
"urgency": {
"type": "score",
"instructions": "How urgent is this?",
"criteria": ["can wait", "this week", "today", "right now"]
}
}
}'
Decision head. The decision head - the tensors that turn the backbone's final hidden states into actual answers - is stored at Q8_0 in every quantized file here. It's a small part of the model, it's the part doing the answering, and none of the usual measurements work on this model (see below), so there's no way to check what quantizing it would cost. Keeping it at Q8_0 is the safe call.
No imatrix. There's no imatrix for this model, and there can't be one: llama.cpp's imatrix tool works by watching the token probabilities a model produces as it generates text, and a decision model doesn't produce any, so there's nothing to calibrate against. Every quantized file here is therefore a static quant, made without an imatrix. The files below 4 bits per weight (Q3_K_L, Q3_K_M, IQ3_M, Q3_K_S and Q2_K) will lose noticeably more quality than an imatrix quant of the same size would, so if you can, stick to Q4_K_M or larger. The formats that cannot be made at all without an imatrix (IQ1, IQ2, IQ3_XS, IQ3_XXS and Q2_K_S) are not offered. Perplexity and KL divergence can't be measured either, for the same reason, so the descriptions in the file table below are the usual guidance for each format rather than measurements of this particular model.
Don't know which to choose? Grab Q4_K_M (17.65GB) - usually a good mix of size and performance. Download instructions available here
Medium-low quality, new method with decent performance comparable to Q3_K_M. Made without an imatrix: expect a larger quality loss than usual at this size.
These quants run with llama.cpp - installable in one line via llama.app:
curl -LsSf https://llama.app/install.sh | sh
llama-server -hf bartowski/Cloudflare_clef-GGUF:Q4_K_M
llama-server exposes this model on the /v1/systemone endpoint only - there's no chat web UI for a decision model. See Decision model above for an example request.
These quants were made with llama.cpp release b11430 - if this model's architecture is newly supported, you'll need that release or newer to run them.
Some of these quants (Q3_K_XL, Q4_K_L etc) are the standard quantization method with the embeddings and output weights quantized to Q8_0 instead of what they would normally default to.
llama.cpp automatically "repacks" weights into an interleaved layout at load time for faster inference on ARM and AVX machines - details in this PR. This once required downloading special Q4_0_4_4/4_8/8_8 files; those are long gone. Online repacking now covers Q4_0, IQ4_NL, and most K-quants, so no special quant choice is needed for CPU inference.
An older (early 2024) but still useful write-up with charts comparing quant performances is provided by Artefact2 here
The first thing to figure out is how big a model you can run. To do this, you'll need to figure out how much RAM and/or VRAM you have.
If you want your model running as FAST as possible, you'll want to fit the whole thing on your GPU's VRAM. Aim for a quant with a file size 1-2GB smaller than your GPU's total VRAM.
If you want the absolute maximum quality, add both your system RAM and your GPU's VRAM together, then similarly grab a quant with a file size 1-2GB Smaller than that total.
Hugging Face can also do this math for you: add your hardware in your Local Apps settings and the model page will show which files fit.
Next, you'll need to decide if you want to use an 'I-quant' or a 'K-quant'.
If you don't want to think too much, grab one of the K-quants. These are in format 'QX_K_X', like Q5_K_M.
If you want to get more into the weeds, you can check out this extremely useful feature chart:
But basically, if you're aiming for below Q4, and you're running cuBLAS (Nvidia) or rocBLAS (AMD), you should look towards the I-quants. These are in format IQX_X, like IQ3_M. These are newer and offer better performance for their size.
These I-quants can also be used on CPU, but will be slower than their K-quant equivalent, so speed vs performance is a tradeoff you'll have to decide.