KnowLine-31B-Gen1.5

KnowLine-31B-Gen1 with a new way of serving long requests: the same weights, short requests read twice as before, and a question header for longer ones.

Inference guide · 中文说明 · weights Apache-2.0 · previous version: KnowLine-31B-Gen1 · siblings: KnowLine-26B-A4B-Gen2.5, KnowLine-35B-A3B-Gen1.5, KnowLine-4B-Gen5.5

We raise the minor version when only inference changes and the major version (Gen) when the weights change. Every weight, config and tokenizer file of Gen1.5 is byte-identical to Gen1.

Highlights:

  • Same weights, a question header for long requests. A text-only request whose single read fits in 3,000 tokens is still read twice, as in Gen1. A longer one, up to 32,768 tokens, is now read once with a header that lists the request's questions before the state, instead of a plain single read. Nothing was trained; see What changed in Gen1.5.
  • Decision Index 0.3 public suite: 70.50 (self-run), up from 70.13 for Gen1 with the same weights. Language rises from 72.0 to 72.8, tools and agents from 84.7 to 85.4 and retrieval and routing from 73.0 to 73.2; knowledge and reasoning (59.4) and arts and taste (60.5) are unchanged. KnowLine-35B-A3B-Gen1.5 scores 70.72 and KnowLine-26B-A4B-Gen2.5 68.21 on the same suite, served read twice; see Comparison.
  • Decision tasks from new domains: on our larger set of decision tasks from domains not in training (34 tasks) it scores 75.0 (26B-A4B-Gen2.5: 66.4; 35B-A3B-Gen1.5: 56.2). On our older 10-task set it scores 57.7 (26B-A4B-Gen2.5: 56.6; 35B-A3B-Gen1.5: 56.6).
  • Private scores: the board's full score comes from the maintainers' private run. Gen1 is listed at 71.86. Gen1.5 has the same weights as Gen1; its private scores will be produced by the maintainers' run.
  • Our other evaluations: Chinese in-house sets 75.9 / 75.9 (26B-A4B-Gen2.5: 73.7 / 71.0), C-Eval 82.5 (77.9), Open-Jev 1.1 test / OOD 91.3 / 94.8 (92.7 / 92.7), JevBench / JevBench-hard 90.5 / 80.2 (90.5 / 81.1), English in-house set 70.2 (70.5); see Evaluation.
  • Planted instructions: 0.7% of answers changed because of an instruction planted in the state, and 5.3% with injection templates not seen in training, more than KnowLine-26B-A4B-Gen2.5 (0.1% and 1.7%); see Limitations.
  • Calibrated probabilities: the temperature folded into the weights is unchanged from Gen1. Computed with the board's method on the public suite, ECE is about 0.013-0.022 and the Brier score about 0.23-0.26 (KnowLine-26B-A4B-Gen2.5: 0.013-0.018 and 0.24-0.27); on our own held-out sets calibration is weaker, see Calibration.
  • Images: unchanged. Requests with images are sent exactly as in Gen1, so Gen1's image results apply: trained on text only, it keeps the base model's vision tower and scores 69.9 on our reconstruction of the Decision Index 0.3.1 vision public suite (26B-A4B-Gen2: 64.7; 35B-A3B-Gen1: 71.2), and 69.3 on the official vision public suite (self-run); see Images.
  • Boxes: unchanged. Box questions are answered exactly as in Gen1, so Gen1's zero-shot results apply: asked for a named target in an image, it returns a bounding box without box training: ScreenSpot centre-hit 81.3, RefCOCO IoU≥0.5 77.3 (documents weaker, FUNSD 35.3); see Boxes.

KnowLine is an independent model. It is not affiliated with or endorsed by TypeSafe, Jev or Google, and it is not derived from TypeSafe or Jev.

What it does

You send a state (text or a chat) and up to 64 typed questions: yes/no, choose one of k, or score on a rubric. The model answers every question with a probability distribution over its options:

  • one forward pass per question, with no text generation;
  • the output is the probability of each option's label token;
  • existing Jev clients only need to change the base URL, and users of KnowLine-31B-Gen1 and other KnowLine models only need to change the model name, because the interface is the same.
Base model google/gemma-4-31B-it (Apache-2.0): dense, about 31B parameters
Weights byte-identical to KnowLine-31B-Gen1, a LoRA fine-tune of gemma-4-31B-it (rank 32, alpha 64, language model only, one epoch, merged into bf16 weights); see the Gen1 card for every step
Release format bf16 weights (about 63 GB), with a readout temperature T = 1.44 folded into the final norm weight and the final logit soft-cap (see Calibration); the front end reads score questions at an effective temperature of 1.0 (temperatures.json). The vision tower is unchanged from the base model; the tokenizer is Gemma 4's, not the one of the Qwen-based KnowLine models.
Serving serve_knowline.sh: SGLang in bf16, as for Gen1 (we did not test FP8 at load for this model); knowline_server.py reads short requests twice, as in Gen1 (on by default), and serve_knowline.sh adds --header-when-long 32768, so longer text-only requests are read once with the question header (--header-when-long 0, the default of knowline_server.py started on its own, gives the Gen1 prompts; --no-read-twice reads every request once, without the header). SGLang reserves 85% of the GPU's memory by default (MEM); the weights take about 63 GB. We ran every evaluation with one server on one 96 GB H20.
Languages English, Simplified Chinese, Traditional Chinese

Quickstart

pip install "sglang==0.5.21" "transformers==5.12.1" requests
bash serve_knowline.sh PelaAI/KnowLine-31B-Gen1.5 0 8080        # SGLang (bf16) on :9080 + /v1/systemone on :8080
curl -s http://127.0.0.1:8080/v1/systemone -H 'Content-Type: application/json' -d '{
  "model": "m",
  "state": "Customer: my order arrived broken, I want my money back.",
  "questions": {"refund": {"type": "noul", "instructions": "Should the agent offer a refund?"},
                "tone": {"type": "choice", "instructions": "Customer tone?",
                         "criteria": {"angry": "Angry", "neutral": "Neutral", "happy": "Happy"}}}}'
  • Front end: knowline_server.py with knowline_layout.py next to it; together they depend only on transformers and requests. Requests that read twice covers, and requests with images, are rendered exactly as by the KnowLine-31B-Gen1 front end, prompt for prompt; only longer text-only requests change.
  • Full settings: the exact settings used for our Decision Index run are in INFERENCE.md.

What changed in Gen1.5

  1. Question header for long requests. Gen1 read a text-only request of more than 3,000 tokens once: the state, then the instruction, the question and its options. Gen1.5 puts a header before the state that lists every question of the request, introduced by the line "Questions that will be asked about the conversation or state below:", and still reads the request once; the answer is read from the label token as before. The rule is mechanical: it applies to every text-only request that read twice does not cover, as long as its longest prompt with the header is at most 32,768 tokens (5.6% of the Decision Index requests). Requests of at most 3,000 tokens are read twice exactly as in Gen1 (94.1%); requests with images, and the few whose header prompt would be longer than 32,768 tokens (0.3%), are sent as in Gen1.
  2. A likely reason. With causal attention, a long state read once is read before the model knows what will be asked; with the header, the questions come first, so every token of the state can attend to them.
  3. No training. The weights, the temperature, the per-type temperatures and the label-token readout are those of Gen1. We checked the change on our own evaluation sets and on the Decision Index public suite before release.
  4. Credit. The question header and the read-twice layout follow FlexDM (github.com/1000luca/FlexDM, MIT), and Aleria Judge (github.com/ALERIA-ML/aleria-judge, Apache-2.0) uses the same header structure; repeating the input goes back to RE2 (Xu et al., 2023, arXiv:2309.06275). knowline_layout.py is our own implementation.

Comparison

Scores on the Decision Index. Since Decision Index 0.4, the board's full score is 60% private tests of the same skills and 40% private tasks from new domains; the public suite is shown but no longer counts. Gen1.5 has no board entry yet.

model size DI 0.3 public DI 0.4.1 full source
KnowLine-31B-Gen1.5 31B 70.50 not yet scored self-run, official kit
KnowLine-31B-Gen1 (same weights) 31B 70.13 71.86 board
KnowLine-35B-A3B-Gen1.5 35B-A3B 70.72 65.77 board
KnowLine-26B-A4B-Gen2.5 26B-A4B 68.21 64.57 board
Fastino GLiDE V1.2 – 71.99 71.52 board
Sieve 31B v3 31B 71.68 71.10 board
Turion Jev 31B 31B 66.16 70.47 board
vLLM-SR d3-ultra 27B 71.57 70.18 board
Jeffan-31b-1710 31B 73.13 69.75 board
H2O Lightning 31B v1.1 31B 67.75 68.64 board
WeMM-JEV-27B 27B 69.37 68.49 board
mammoth-1 27B 75.34 68.44 board
Perplexity Decider v1.2 27B 67.74 67.98 board
StartLux-Decision v1.1 27B 27B 72.88 67.92 board
FlexDM · Gemma-4-31B 31B 63.63 67.56 board
Jev 1.14 (API) 60.70 60.24 board

Board rows from the board's data of 2026-10-29 (17:22 UTC, Decision Index 0.4.1).

Public-suite skill by area (DI 0.3; KnowLine-31B-Gen1.5 with its release serving, the other three served read twice):

area KnowLine-31B-Gen1.5 KnowLine-31B-Gen1 KnowLine-26B-A4B-Gen2.5 KnowLine-35B-A3B-Gen1.5
Knowledge & reasoning 59.4 59.4 55.1 55.0
Language 72.8 72.0 71.2 72.9
Retrieval & routing 73.2 73.0 70.9 75.4
Tools & agents 85.4 84.7 83.3 88.2
Arts & taste 60.5 60.5 61.4 64.2

Releases

The model is trained in a self-evolving loop, and new versions will follow.

model date DI 0.3 public golden held-out (en / zh-Hans / zh-Hant) notes
KnowLine-31B-Gen1.5 (this model) 2026-11-04 70.50 70.2 / 75.9 / 75.9 Gen1 weights; read twice, question header for long requests
KnowLine-31B-Gen1 2026-10-24 70.13 70.2 / 75.9 / 75.9 first release on a dense Gemma 4 base; read-twice serving
KnowLine-26B-A4B-Gen2.5 2026-10-22 68.21 70.5 / 73.7 / 71.0 Gen2 weights, read-twice serving
KnowLine-35B-A3B-Gen1.5 2026-10-22 70.72 70.8 / 74.6 / 73.2 35B-A3B Gen1 weights, read-twice serving
KnowLine-4B-Gen5.5 2026-10-22 66.75 70.3 / 72.1 / 67.5 Gen5 weights, read-twice serving
KnowLine-4B-Gen5 2026-10-21 65.67 69.6 / 71.7 / 67.1 4B, fifth release
KnowLine-26B-A4B-Gen2 2026-10-19 66.94 70.6 / 72.6 / 69.8 second 26B-A4B release
KnowLine-26B-A4B-Gen1 2026-10-19 65.76 70.6 / 72.2 / 69.2 first release on a Gemma 4 base
KnowLine-35B-A3B-Gen1 2026-10-12 69.49 70.3 / 73.8 / 72.1 first 35B-A3B release

Evaluation

All results are self-run and have not been verified by a third party. The new serving changes only text-only requests over 3,000 tokens; every other request is sent exactly as with KnowLine-31B-Gen1. JevBench and the seen-template injection set were run again in full through the Gen1.5 release server, and the longer requests of our 34-task new-domain set through our evaluation front end with the same layout. The other sets have no request that changes, so their numbers below (the other rows of the first table, Mind2Web, images and boxes) are Gen1's, measured with the Gen1 serving (read twice on). The 31B-Gen1 columns repeat the Gen1 card. The rows for our new-domain task sets carry a footnote on the tasks that resemble our training data. The 26B-A4B-Gen2.5 and 35B-A3B-Gen1.5 numbers are from their release evaluations with the read-twice front end.

Held-out and Chinese evaluations

suite 31B-Gen1.5 31B-Gen1 26B-A4B-Gen2.5 35B-A3B-Gen1.5
In-house evaluation set, English 70.2 70.2 70.5 70.8
In-house evaluation set, Simplified Chinese 75.9 75.9 73.7 74.6
In-house evaluation set, Traditional Chinese 75.9 75.9 71.0 73.2
C-Eval (4 categories, macro) 82.5 82.5 77.9 88.1
Open-Jev 1.1 test / OOD 91.3 / 94.8 91.3 / 94.8 92.7 / 92.7 93.4 / 93.6
JevBench / JevBench-hard 90.5 / 80.2 90.5 / 80.2 90.5 / 81.1 87.0 / 73.0
Decision tasks from new domains (our own, 34 tasks)¹ 75.0 74.9 66.4 56.2
Decision tasks from new domains (our own, 10 tasks)¹ 57.7 57.7 56.6 56.6
Prompt injection: answers changed (lower is better) 0.7% 0.4% 0.1% 0.0%
Prompt injection with templates not seen in training (lower is better) 5.3% 5.3% 1.7% 1.0%
  • In a paired sign test against KnowLine-26B-A4B-Gen2.5, it is higher on the Simplified and Traditional Chinese in-house sets, C-Eval and Open-Jev 1.1 OOD (p < 0.001 each) and lower on Open-Jev 1.1 test (p = 0.04); the English in-house set (p = 0.61), JevBench and JevBench-hard (p = 1.0) do not differ. With unseen injection templates, 32 of 600 answers moved to the planted option against 10 of 600 (p < 0.001).
  • Against KnowLine-35B-A3B-Gen1.5, it is higher on the Simplified (p = 0.03) and Traditional (p = 0.004) Chinese in-house sets and lower on C-Eval (p < 0.001) and Open-Jev 1.1 test (p = 0.002); the English in-house set (p = 0.42), Open-Jev 1.1 OOD (p = 0.07), JevBench and JevBench-hard (p = 0.06) do not differ at p < 0.05. With unseen injection templates, 32 of 600 against 6 of 600 (p < 0.001).
  • ¹ Our sets of decision tasks from domains not in training, run through our evaluation front end, which uses the release layout: KnowLine-31B-Gen1.5 with its serving (read twice, and the question header for the longer requests of the 34-task set), the other three read twice. 11 of the 34 tasks (rules, policies, state tracking) resemble procedural synthetic tasks in our training data; on the other 23 it scores 73.4 (31B-Gen1: 73.3; 26B-A4B-Gen2.5: 66.1; 35B-A3B-Gen1.5: 57.1).

Web operation (Mind2Web official test splits, evaluation only)

split 31B-Gen1 element selection 31B-Gen1 operation (balanced) 26B-A4B-Gen2.5 element selection 26B-A4B-Gen2.5 operation (balanced)
test_task (websites seen in training, new tasks) 91.5 92.8 89.8 90.3
test_website (new websites) 91.5 95.9 89.2 94.0
test_domain (new domains) 90.4 96.6 89.6 92.9
  • Element selection is higher than with KnowLine-26B-A4B-Gen2.5 on all three splits (paired test p = 0.05, 0.01 and 0.11); operation accuracy is within noise (p ≥ 0.09). No request failed. No Mind2Web request is over 3,000 tokens, so these results, measured with the Gen1 serving, hold for Gen1.5 unchanged.

  • The task is to pick the target element from a candidate set: the target plus up to 5 other elements sampled from the page. This is easier than the original Mind2Web protocol, so do not compare these results with the Mind2Web leaderboard.

Images (zero-shot)

  • No image training: the vision tower is the base model's, unchanged, and no images were seen in training. knowline_server.py accepts OpenAI-style image / image_url content parts in a chat state and passes them to SGLang; each question is still one prefill. Requests with images are read once, without the question header (read twice and the header are text-only).
  • How we measured it: the same reconstruction of the Decision Index 0.3.1 vision public suite as for the earlier releases (11 benchmarks, chance-corrected skill and the board's weights), run through the Gen1 release server, 0 failed requests. We also ran the official vision public suite (12,210 rows, complete, 0 failed). A request with images is sent exactly as in Gen1, byte for byte, to the same weights, so these results hold for Gen1.5 and we did not rerun them.
benchmark 31B-Gen1 (our reconstruction) 31B-Gen1 (official vision suite) 26B-A4B-Gen2 (our reconstruction) 35B-A3B-Gen1 (our reconstruction)
CV-Bench 73.9 74.1 70.5 75.8
BLINK 65.7 58.0 57.4 59.8
RealWorldQA 57.2 55.9 54.2 71.9
CharXiv 65.8 74.7 61.9 66.9
InfographicVQA 86.9 91.3 81.4 90.7
Mind2Web 77.3 73.4 70.8 86.4
Winoground 85.5 86.0 78.5 80.0
KIE (CORD+FUNSD) 94.3 93.7 95.1 96.2
Moderation (Hateful Memes) 49.7 44.4 41.1 41.1
R-Bench-M 30.3 30.3 26.2 29.1
MMMU-Pro vision 38.7 36.2 28.0 45.1
weighted public index 69.9 69.3 64.7 71.2
  • Between the 26B-A4B and the 35B-A3B: 5.2 points above KnowLine-26B-A4B-Gen2 and 1.3 points below KnowLine-35B-A3B-Gen1 on our reconstruction, with the largest gains over the 26B-A4B on MMMU-Pro vision (+10.7), Hateful Memes (+8.6) and BLINK (+8.3); KIE is 0.8 lower.
  • Indicative only: the reconstruction is ours, not the board's rows; the official-suite column is a self-run of the official kit.

Boxes (zero-shot, untrained)

  • What it does: a box question names a target in an image; the server returns its bounding box, or a refusal when the model gives no box. There was no box training: this is the base model's own ability, read out through the release front end (--box-prompt gemma --box-coords yxyx).
  • How we measured it: one request per item through the Gen1 release server, 280 image soft tokens, images at most 1,568 px per side, at most 64 new tokens. Every item counts and a refusal counts as a miss; 0 requests failed. Box questions are answered exactly as in Gen1, so these results hold for Gen1.5.
set n measure 31B-Gen1 refusals
ScreenSpot (6 splits × 50) 300 centre inside the target 81.3 5.3%
RefCOCO val 300 IoU ≥ 0.5 (mean IoU) 77.3 (72.7) 5.0%
FUNSD 150 IoU ≥ 0.5 (centre inside) 35.3 (58.7) 4.0%
Business UI screenshots, zh/en (our own)² 1,500 centre inside the target 60.5 (en 67.4, zh 56.2) 5.8%
Invoices, zh/en (our own)² 800 IoU ≥ 0.5 44.6 (clean 74.8, photo 43.4, scan 34.6) 0.1%
  • Weak on documents: form and document fields are weak at the shipped 280 soft tokens (FUNSD 35.3). Higher image resolution helps documents; it is not offered in this release.
  • Text targets are easier than icons: on ScreenSpot, icons 68.0 / 70.0 / 74.0 against text 92.0 / 94.0 / 90.0 (desktop / mobile / web).
  • Confidence: the box confidence is not a calibrated probability (ECE 0.238 on ScreenSpot, 0.153 on RefCOCO and 0.247 on FUNSD). We ship no box calibration file.
  • ² Synthetic held-out sets we built ourselves, for reference only; they are not public benchmarks.

Calibration

Computed on the 0.3 public suite using the method described by the Decision Index board: each field is scored right or wrong, confidence is the probability of the chosen option, benchmarks are weighted equally, and 10 equal-width bins are used.

metric 31B-Gen1.5 31B-Gen1 26B-A4B-Gen2.5 35B-A3B-Gen1.5
ECE (lower is better) 0.013-0.022 0.012-0.021 0.013-0.018 0.03-0.04
Brier score (lower is better) 0.23-0.26 0.23-0.26 0.24-0.27 0.24-0.26
Confidence ≥95% but wrong 1.0-1.1% 0.9-1.0% 0.9% 1.5%
Mean confidence / accuracy 0.84 / 0.81-0.83 0.83-0.84 / 0.81-0.83 0.82-0.83 / 0.80-0.82 0.85-0.86 / 0.81-0.83
  • Temperature in the weights: unchanged from Gen1: the final norm weight and the final logit soft-cap include a readout temperature T = 1.44, fitted on our in-training evaluation sets with the read-twice serving, so every final logit is divided by 1.44 before the softmax over the option labels. The top-ranked option does not change. On our held-out sets, ECE is 0.044 with every question read at this temperature and 0.102 without it (T = 1).
  • Score questions at temperature 1.0 (as in Gen1): serve_knowline.sh passes temperatures.json ({"score": 0.6944}), so the front end divides the logits of score (rubric) questions by a further 0.6944 and reads them at an effective temperature of 1.44 × 0.6944 = 1.0; yes/no and choice questions stay at 1.44. Score questions are often read as an expected value over the scale, which a higher temperature pulls toward the middle. This is a serving setting, not a weight change, and the KnowLine releases before Gen1 did not use it; starting knowline_server.py without --temperatures (or knowline_engine.py with --option temperatures=none) reads every question at 1.44. The cost is calibration: with the release serving, ECE on our held-out sets is 0.064 (0.044 with score questions also at 1.44; KnowLine-26B-A4B-Gen2.5: 0.027; KnowLine-35B-A3B-Gen1.5: 0.023).
  • Why ranges: the board does not publish which benchmarks it uses for calibration, so we report ranges over the plausible benchmark sets, as for the earlier releases.
  • Recommendation: the temperature was fitted on our data. If your use depends on probability thresholds, check calibration on your own data.

Disclosures

  • Training data: the weights are those of Gen1, so Gen1's disclosures on training data, Decision Index format data, decontamination and how the weights were made apply unchanged; see the Gen1 card.
  • Selection on evaluations: we adopted the question header for long requests after checking it on our own evaluation sets and on the Decision Index 0.3 public suite (the 70.50 above; INFERENCE.md describes how that run was made).
  • No model outputs as labels: no output of Jev or any other decision model was used as a training label.

Limitations

  • Size and speed: about 63 GB of bf16 weights and dense, so every token uses all 31B parameters; we have only run it on 96 GB GPUs. One request at a time on one H20, over 700 Decision Index rows sampled in the style of the board's latency method, requests take 330 ms median and 1,135 ms mean (4,241 ms at the 95th percentile); KnowLine-26B-A4B-Gen2.5 took 66.3 ms and 151 ms on an earlier sample of 300 rows; see INFERENCE.md.
  • Read twice and the question header: text-only requests up to 3,000 tokens are written twice, about 1.54 times the prompt tokens on the Decision Index suite. Longer ones carry the question header in every question's prompt, so the summed prompt tokens of the suite are 896 million (323 million with the Gen1 serving); with SGLang's prefix cache, which prefills the header and the state once per request, the prefilled tokens grow by about 5%. Use --no-read-twice if latency matters more (it also turns the header off); we did not evaluate this model without read twice for this card.
  • Planted instructions: easier to steer than our other models: with injection templates not seen in training, 5.3% of answers moved to the planted option, against 1.7% for KnowLine-26B-A4B-Gen2.5 and 1.0% for KnowLine-35B-A3B-Gen1.5 (0.7% with the seen templates). Keep untrusted text clearly delimited.
  • C-Eval and Open-Jev 1.1 test: below KnowLine-35B-A3B-Gen1.5 on C-Eval (82.5 against 88.1) and Open-Jev 1.1 test (91.3 against 93.4).
  • Calibration on our sets: with score questions read at an effective temperature of 1.0, ECE on our held-out sets is 0.064, higher than for KnowLine-26B-A4B-Gen2.5 (0.027) and KnowLine-35B-A3B-Gen1.5 (0.023).
  • Images: there was no image training, so check image use on your own data.
  • Boxes: zero-shot (no box training); weak on form and document fields, and the box confidence is not calibrated; see Boxes.
  • Other attacks: other prompt-injection attacks may still work.
  • Private tests: part of the public-suite score comes from benchmarks whose tasks are in our training data, so the private tests may show a lower score.

Citation

@misc{knowline31bgen15,
  title  = {KnowLine-31B-Gen1.5: a 31B decision model served with read twice and a question header},
  author = {PelaAI},
  year   = {2026},
  url    = {https://huggingface.co/PelaAI/KnowLine-31B-Gen1.5}
}

License

  • Weights: Apache-2.0, the same as the base model.
  • Base model licence: google/gemma-4-31B-it is released under Apache-2.0; see Google's licence page, ai.google.dev/gemma/docs/gemma_4_license.
  • Code: knowline_server.py, knowline_layout.py and knowline_engine.py are MIT (see the file headers).
Downloads last month
-
Safetensors
Model size
31B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for PelaAI/KnowLine-31B-Gen1.5

Finetuned
(347)
this model

Paper for PelaAI/KnowLine-31B-Gen1.5