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 Kev-9B-Artemis-IQ3_M.gguf (4.78 GB). 92.2% same answers as BF16; 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/Kev-9B-Artemis-GGUF:IQ3_M --port 8080 -c 16384 -ub 4096 -b 4096
Kev is a 9B decision model by Jared Palmer. The model accepts text with a set of typed questions, and it returns a probability for every allowed answer in a single pass, instead of generating text. Text only. See the original model card.
This is an independent TurinTech conversion, not affiliated with or endorsed by the Kev authors. The files are
standard GGUF and run on stock llama.cpp. 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 | 17.9 GB | reference | reference | |||
| IQ3_M | 4.78 GB | 73% | 92.2% | -1.2 | 0 | Default. |
| IQ4_XS | 4.87 GB | 73% | 91.6% | -1.1 | 0 | Previous default. |
| Q3_K_L | 4.45 GB | 75% | 88.8% | -0.7 | 0 | A little less memory. |
| Q3_K_S | 4.07 GB | 77% | 87.1% | -2.2 | 0 | Tight memory. |
"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.
Q3_K_S: Tight memory; about 2 to 3.5 points lower accuracy.
"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.
The usual public files, on the same tests: Q8_0 (ggml-org, 9.5 GB) gives the same answer 98.7% of the time with -0.2 accuracy, and Q4_K_M (ggml-org, 6.36 GB) 93.2% with -0.6. The Q4_K_M is closer to the original than our files (93.2% against 92.2% for the Artemis IQ3_M file; 94.3% against 92.8% on held-out); ours are 1.5 to 2.3 GB smaller and use 1.4 to 2.0 GiB less GPU memory.
Needs llama.cpp from 9 October 2026 or newer (tested at commit 1e6f04a).
llama-server -m Kev-9B-Artemis-IQ3_M.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: the numbers on this card were measured with them, and the batch size moves the
probabilities slightly. In our test on an NVIDIA RTX 5090, Kev-9B-Artemis-IQ3_M.gguf gave 0.730 at the default of 512
and 0.727 at 4096 on an 854-token input. Inputs longer than the batch size are accepted: with llama.cpp
1e6f04a and b11609, a 4,914-token input was answered at both settings. -c 16384 stops the
server from reserving memory for the full training context.
For concurrent clients, an optional configuration is -np 8 -c 32768 --cache-ram 0: eight request slots with 4,096 tokens each and the host prompt cache disabled. In our NVIDIA RTX 5090 test with llama.cpp fcac190, this used about 0.6 GiB more GPU memory than the command above. Measure the configuration on the intended workload before choosing it.
llama-server -m Kev-9B-Artemis-IQ3_M.gguf --port 8080 -np 8 -c 32768 -ub 4096 -b 4096 --cache-ram 0
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?"}}
}'
echo "My Stripe integration keeps failing. Please help ASAP." | ollama run turintech/kev-9b-artemis:4.8gb --ask "Does this message express urgency?"
This verified tag selects Kev-9B-Artemis-IQ3_M.gguf. It is a decision model: use /v1/systemone, not a chat prompt. Ollama 0.40.4 was tested; include "model": "turintech/kev-9b-artemis:4.8gb" 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/Kev-9B-Artemis-GGUF Kev-9B-Artemis-IQ3_M.gguf --local-dir .
printf 'FROM ./Kev-9B-Artemis-IQ3_M.gguf\nPARAMETER num_ctx 16384\n' > Modelfile
ollama create kev-9b-artemis -f Modelfile
echo "My Stripe integration keeps failing. Please help ASAP." | ollama run kev-9b-artemis --ask "Does this message express urgency?"
The last command prints yes 98%. 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": "kev-9b-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.978
against 0.977 from llama-server for this example on the same machine.
Questions, problems or a model to consider for a smaller version? Reply in our feedback thread.
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 :IQ3_M tag for the recommended file, because without a tag it can download a smaller one.
Download Kev-9B-Artemis-IQ3_M.gguf (4.78 GB, peak GPU memory 9.1 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
92.2% of 2,000 test decisions 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 closer to the original (93.2%) at 6.36 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 :IQ3_M tag; without a tag, app buttons may select a different file.
jaredpalmer/kev-9b is 17.9 GB
and needs 20.0 GiB of GPU memory, more than a 16 GB card has. The default file here is 4.78 GB, 73% smaller, and needs 9.1 GiB, so it should fit a 12 GB GPU (both measured on an NVIDIA A100). It
gives the same answer as the original on 92.2% of 2,000 test decisions (92.8% on held-out decisions), scores 1.2 accuracy points lower on this sample (67.8% against 69.0%), and changed no answer the original was more than 80% sure of. It is meant
for the /v1/systemone decision endpoint.
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, every file on one NVIDIA A100 80 GB. Public files:
ggml-org/Kev-9B-GGUF (Kev-9B-Q8_0.gguf, Kev-9B-Q4_K_M.gguf). The Artemis IQ3_M file was chosen partly on the held-out
decisions, so for that file they are a validation set rather than an untouched one.
| Check | BF16 | Artemis IQ3_M | Artemis IQ4_XS | Artemis Q3_K_L | Artemis Q3_K_S | Public Q8_0 | Public Q4_K_M |
|---|---|---|---|---|---|---|---|
| Typed-decision accuracy | 69.0 | 67.8 | 67.9 | 68.3 | 66.8 | 68.8 | 68.4 |
| Same answer as BF16 | 92.2 | 91.6 | 88.8 | 87.1 | 98.7 | 93.2 | |
| Held-out accuracy | 69.3 | 69.5 | 67.9 | 68.9 | 65.8 | 69.9 | 69.9 |
| Held-out: same answer as BF16 | 92.8 | 91.3 | 89.3 | 86.5 | 98.6 | 94.3 | |
| Decision Index sample accuracy | 73.7 | 74.7 | 74.7 | 73.3 | 74.3 | 74.0 | 74.3 |
| Decision Index sample: same answer as BF16 | 96.3 | 95.0 | 94.3 | 91.7 | 99.0 | 97.3 | |
| Changed answers where BF16 was over 80% sure | 0 | 0 | 0 | 0 | 0 | 0 | |
| Answers changed by shuffling options (%) | 9.8 | 12.2 | 10.9 | 12.4 | 9.5 | 10.3 | 11.4 |
The original itself changes 9.8% of its answers when the options are shuffled; the compressed files are close to that. Repeat runs gave identical answers for every file. Small differences in this sample should not be treated as general improvements.
The same files on two more machines, text checks only, with llama.cpp 1e6f04a (CUDA) and
-c 16384 -ub 4096 -b 4096 --parallel 2. Each file is compared with the original run on the same machine, and the original ran fully on the GPU
on both. Peak GPU memory is the server process's own allocation as nvidia-smi reports it.
The GB10 has 128 GB of memory shared by the CPU and GPU. The original's peak was 19.8 GiB.
| File | Same answer as BF16 | Accuracy change | Confident answers changed | Held-out: same answer | Peak GPU memory |
|---|---|---|---|---|---|
| Kev-9B-Artemis-IQ3_M | 91.8% | -1.0 | 0 | 92.4% | 8.8 GiB |
| Kev-9B-Artemis-IQ4_XS | 91.5% | -1.9 | 0 | 91.3% | 8.9 GiB |
| Kev-9B-Artemis-Q3_K_L | 88.7% | -1.2 | 0 | 89.7% | 8.7 GiB |
| Kev-9B-Artemis-Q3_K_S | 87.1% | -3.0 | 0 | 86.9% | 8.3 GiB |
| Public Q8_0 (ggml-org) | 98.9% | -0.3 | 0 | 98.8% | 12.8 GiB |
| Public Q4_K_M (ggml-org) | 93.5% | -0.7 | 0 | 94.7% | 10.3 GiB |
Compared with the A100, same answer moves by at most 0.4 points (held-out 0.4) and peak memory is 0.2 to 0.3 GiB lower. Accuracy change moves by up to 0.8 points, most for the Artemis IQ4_XS and Artemis Q3_K_S files (-1.9 and -3.0 here, -1.1 and -2.2 on the A100).
The original's peak was 20.2 GiB.
| File | Same answer as BF16 | Accuracy change | Confident answers changed | Held-out: same answer | Peak GPU memory |
|---|---|---|---|---|---|
| Kev-9B-Artemis-IQ3_M | 92.0% | -1.2 | 0 | 92.8% | 9.2 GiB |
| Kev-9B-Artemis-IQ4_XS | 91.8% | -1.5 | 0 | 91.3% | 9.3 GiB |
| Kev-9B-Artemis-Q3_K_L | 88.9% | -0.8 | 0 | 90.0% | 9.1 GiB |
| Kev-9B-Artemis-Q3_K_S | 87.4% | -2.3 | 0 | 86.7% | 8.7 GiB |
| Public Q8_0 (ggml-org) | 98.7% | 0.0 | 0 | 98.4% | 13.2 GiB |
| Public Q4_K_M (ggml-org) | 93.3% | -0.2 | 0 | 94.8% | 10.7 GiB |
Compared with the A100, same answer moves by at most 0.3 points (held-out 0.7), accuracy change by at most half a point, and peak memory is 0.1 to 0.2 GiB higher.
Peak GPU memory of llama-server on an NVIDIA A100 80 GB with the settings above.
| File | Size | Peak GPU memory |
|---|---|---|
| Original, BF16 | 17.9 GB | 20.0 GiB |
| Kev-9B-Artemis-IQ3_M | 4.78 GB | 9.1 GiB |
| Kev-9B-Artemis-IQ4_XS | 4.87 GB | 9.2 GiB |
| Kev-9B-Artemis-Q3_K_L | 4.45 GB | 9.0 GiB |
| Kev-9B-Artemis-Q3_K_S | 4.07 GB | 8.6 GiB |
| Public Q4_K_M | 6.36 GB | 10.6 GiB |
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) |
|---|---|---|---|
Kev-9B-Artemis-IQ4_XS.gguf | Kev-9B-Artemis-4.9GB.gguf | 4.34 | IQ4_XS 53%, Q4_K 31%, Q3_K 9%, Q6_K 7% |
Kev-9B-Artemis-IQ3_M.gguf | Kev-9B-Artemis-4.8GB.gguf | 4.26 | IQ4_XS 36%, Q4_K 32%, Q5_K 29%, Q1_0 3% |
Kev-9B-Artemis-Q3_K_L.gguf | Kev-9B-Artemis-4.5GB.gguf | 3.97 | IQ4_XS 46%, Q4_K 21%, IQ3_S 9%, IQ3_XXS 9% |
Kev-9B-Artemis-Q3_K_S.gguf | Kev-9B-Artemis-4.1GB.gguf | 3.63 | IQ3_XXS 40%, Q4_K 23%, IQ4_XS 21%, Q6_K 8% |
The earlier names still download the same bytes, with the same checksums, for a transition period.
| File | Bytes | sha256 |
|---|---|---|
Kev-9B-Artemis-IQ3_M.gguf | 4,779,620,832 | d600c6eb9ec67ffb08d76885d7f17c6ba371c4b7795ed7c2856761632d5b9c83 |
Kev-9B-Artemis-IQ4_XS.gguf | 4,874,369,504 | 4f57c65f3f09ac65c64200030512675e0dbcabeafd53358e11d5d8b99ffe80b5 |
Kev-9B-Artemis-Q3_K_L.gguf | 4,451,449,312 | a085e404d1d24ac4e57029730c20abcdd4c3b0af55715182b3348e5d88c08fd8 |
Kev-9B-Artemis-Q3_K_S.gguf | 4,070,423,008 | 4bd4681c660e9508850637b0035cb9f8deb1f40388d1999146413ec5f63edc7a |
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 jaredpalmer/kev-9b, which is post-trained from
Qwen/Qwen3.5-9B-Base.
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.