File size: 3,072 Bytes
183fce5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
{
  "engine": "onnx",
  "family": "decision",
  "layout": "decision-endpoint-v1",
  "upstream": {
    "repo": "llm-semantic-router/Decision-1.0-Eos-0.8B",
    "revision": "3c2d632609ceb66f3a13bbc5f77f3ab8cdeebcdd",
    "base": "Qwen/Qwen3.5-0.8B",
    "base_revision": "2fc06364715b967f1860aea9cf38778875588b17",
    "model_name": "Decision-1.0-Eos",
    "code": {
      "model": "decision/model.py",
      "model_sha256": "d3e28489c09f3bd7130e2d43d92e0b5c4a08e25b09b21303904defb0ff1c3646",
      "api": "decision/types.py",
      "api_sha256": "c149feb1e1b5bf8f44c9c36cd29d382887d174fa3bb0542b7426e2d9f692a4d5"
    },
    "architecture": "contextual-candidate-endpoint-plus-global-query-shared-bilinear-mlp"
  },
  "contract": {
    "inputs": {
      "input_ids": {
        "dtype": "int64",
        "shape": [
          "rows",
          "seq"
        ],
        "note": "one row per question; seq a multiple of 64; right-pad with any id (pad)"
      },
      "query_pos": {
        "dtype": "int64",
        "shape": [
          "rows"
        ],
        "note": "position of the row's last token"
      },
      "cand_pos": {
        "dtype": "int64",
        "shape": [
          "rows",
          "k"
        ],
        "note": "position of each option segment's last token; rows with fewer options pad with 0"
      }
    },
    "outputs": {
      "logits": {
        "dtype": "float32",
        "shape": [
          "rows",
          "k"
        ],
        "note": "raw candidate logits; the first k_row entries are the row's option logits"
      }
    },
    "seq_multiple": 64,
    "positions": "0..seq-1, implicit",
    "attention": "causal; no mask input (right padding cannot reach earlier positions)"
  },
  "prompt_version": "structured-segmented-candidate-endpoints-global-query-v2",
  "max_row_tokens": 16384,
  "min_options": 2,
  "max_options": 255,
  "max_score_levels": 10,
  "choice_null_description": "null",
  "pad": 248044,
  "templates": {
    "prefix": "Context:\n{payload(state)}\n\nTask type: {type}\nQuestion:\n{payload(instructions)}\nOptions:",
    "option": "\n<option>\n{canonical({\"key\": key, \"description\": description})}\n</option>",
    "suffix": "\n\nSelect the single option best supported by the context and instructions.\nDecision:",
    "payload": "a str verbatim, anything else canonical()",
    "canonical": "json.dumps(v, ensure_ascii=False, sort_keys=True, separators=(',', ':'))",
    "tokenize": "each segment on its own, add_special_tokens=False; cand_pos = last token of each option, query_pos = last token of the row",
    "noul_descriptions": {
      "false": "The answer to the question is no.",
      "true": "The answer to the question is yes."
    },
    "choice_null_description": "key: a null description becomes the key; null: it stays JSON null"
  },
  "option_logits": {
    "choice": "logits[row, :k] in key order",
    "noul": "logits[row, :2] (0 = false, 1 = true)",
    "score": "logits[row, :levels]"
  },
  "opset": 20,
  "precision": "fp32 compute; backbone weights BF16 (Cast at load), head F32"
}