{
  "environment": {
    "recorded_at": "2026-10-19T01:06:51.399251+08:00",
    "python": "3.11.15",
    "platform": "macOS-26.6.2-arm64-i386-64bit",
    "dependencies": {
      "torch": "2.8.0",
      "transformers": "5.20.1",
      "tokenizers": "0.23.3",
      "huggingface-hub": "2.2.0",
      "jinja2": "3.1.6"
    },
    "mps_available": true,
    "cuda_available": false
  },
  "model": {
    "id": "Qwen/Qwen3-0.6B",
    "revision": "c1899de289a04d12100db370d81485cdf75e47ca"
  },
  "tokenizer": {
    "class": "Qwen2Tokenizer",
    "is_fast": true,
    "padding_side_initial": "right",
    "bos_token": null,
    "eos_token": "<|im_end|>",
    "pad_token": "<|endoftext|>",
    "special_tokens_map": {
      "eos_token": "<|im_end|>",
      "pad_token": "<|endoftext|>"
    },
    "chat_template_sha256": "a55ee1b1660128b7098723e0abcd92caa0788061051c62d51cbe87d9cf1974d8",
    "apply_chat_template_signature": "(conversation: 'list[dict[str, str]] | list[list[dict[str, str]]]', tools: 'list[dict | Callable] | None' = None, documents: 'list[dict[str, str]] | None' = None, chat_template: 'str | None' = None, add_generation_prompt: 'bool' = False, continue_final_message: 'bool | str' = False, tokenize: 'bool' = True, sanitize_control_tokens: 'bool' = False, padding: 'bool | str | PaddingStrategy' = False, truncation: 'bool' = False, max_length: 'int | None' = None, return_tensors: 'str | TensorType | None' = None, return_dict: 'bool' = True, return_assistant_tokens_mask: 'bool' = False, tokenizer_kwargs: 'dict[str, Any] | None' = None, **kwargs) -> 'str | list[int] | list[str] | list[list[int]] | BatchEncoding'",
    "return_dict_default": "True"
  },
  "messages": [
    {
      "role": "system",
      "content": "用中文简洁回答。"
    },
    {
      "role": "user",
      "content": "你好。"
    }
  ],
  "template_variants": {
    "generation_false_thinking_false": {
      "arguments": {
        "add_generation_prompt": false,
        "enable_thinking": false
      },
      "text": "<|im_start|>system\n用中文简洁回答。<|im_end|>\n<|im_start|>user\n你好。<|im_end|>\n",
      "repr": "'<|im_start|>system\\n用中文简洁回答。<|im_end|>\\n<|im_start|>user\\n你好。<|im_end|>\\n'",
      "input_ids": [
        151644,
        8948,
        198,
        11622,
        104811,
        110485,
        102104,
        1773,
        151645,
        198,
        151644,
        872,
        198,
        108386,
        1773,
        151645,
        198
      ],
      "length": 17
    },
    "generation_false_thinking_true": {
      "arguments": {
        "add_generation_prompt": false,
        "enable_thinking": true
      },
      "text": "<|im_start|>system\n用中文简洁回答。<|im_end|>\n<|im_start|>user\n你好。<|im_end|>\n",
      "repr": "'<|im_start|>system\\n用中文简洁回答。<|im_end|>\\n<|im_start|>user\\n你好。<|im_end|>\\n'",
      "input_ids": [
        151644,
        8948,
        198,
        11622,
        104811,
        110485,
        102104,
        1773,
        151645,
        198,
        151644,
        872,
        198,
        108386,
        1773,
        151645,
        198
      ],
      "length": 17
    },
    "generation_true_thinking_false": {
      "arguments": {
        "add_generation_prompt": true,
        "enable_thinking": false
      },
      "text": "<|im_start|>system\n用中文简洁回答。<|im_end|>\n<|im_start|>user\n你好。<|im_end|>\n<|im_start|>assistant\n<think>\n\n</think>\n\n",
      "repr": "'<|im_start|>system\\n用中文简洁回答。<|im_end|>\\n<|im_start|>user\\n你好。<|im_end|>\\n<|im_start|>assistant\\n<think>\\n\\n</think>\\n\\n'",
      "input_ids": [
        151644,
        8948,
        198,
        11622,
        104811,
        110485,
        102104,
        1773,
        151645,
        198,
        151644,
        872,
        198,
        108386,
        1773,
        151645,
        198,
        151644,
        77091,
        198,
        151667,
        271,
        151668,
        271
      ],
      "length": 24
    },
    "generation_true_thinking_true": {
      "arguments": {
        "add_generation_prompt": true,
        "enable_thinking": true
      },
      "text": "<|im_start|>system\n用中文简洁回答。<|im_end|>\n<|im_start|>user\n你好。<|im_end|>\n<|im_start|>assistant\n",
      "repr": "'<|im_start|>system\\n用中文简洁回答。<|im_end|>\\n<|im_start|>user\\n你好。<|im_end|>\\n<|im_start|>assistant\\n'",
      "input_ids": [
        151644,
        8948,
        198,
        11622,
        104811,
        110485,
        102104,
        1773,
        151645,
        198,
        151644,
        872,
        198,
        108386,
        1773,
        151645,
        198,
        151644,
        77091,
        198
      ],
      "length": 20
    }
  },
  "return_types": {
    "default": {
      "python_type": "BatchEncoding",
      "value": {
        "input_ids": [
          151644,
          8948,
          198,
          11622,
          104811,
          110485,
          102104,
          1773,
          151645,
          198,
          151644,
          872,
          198,
          108386,
          1773,
          151645,
          198,
          151644,
          77091,
          198,
          151667,
          271,
          151668,
          271
        ],
        "attention_mask": [
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1,
          1
        ]
      },
      "tensor_fields": {}
    },
    "explicit_return_dict_false": {
      "python_type": "list",
      "value": [
        151644,
        8948,
        198,
        11622,
        104811,
        110485,
        102104,
        1773,
        151645,
        198,
        151644,
        872,
        198,
        108386,
        1773,
        151645,
        198,
        151644,
        77091,
        198,
        151667,
        271,
        151668,
        271
      ]
    },
    "tensor_return_dict_false": {
      "python_type": "Tensor",
      "value": [
        [
          151644,
          8948,
          198,
          11622,
          104811,
          110485,
          102104,
          1773,
          151645,
          198,
          151644,
          872,
          198,
          108386,
          1773,
          151645,
          198,
          151644,
          77091,
          198,
          151667,
          271,
          151668,
          271
        ]
      ],
      "shape": [
        1,
        24
      ],
      "dtype": "torch.int64"
    },
    "tensor_return_dict_true": {
      "python_type": "BatchEncoding",
      "value": {
        "input_ids": [
          [
            151644,
            8948,
            198,
            11622,
            104811,
            110485,
            102104,
            1773,
            151645,
            198,
            151644,
            872,
            198,
            108386,
            1773,
            151645,
            198,
            151644,
            77091,
            198,
            151667,
            271,
            151668,
            271
          ]
        ],
        "attention_mask": [
          [
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1
          ]
        ]
      },
      "tensor_fields": {
        "input_ids": {
          "shape": [
            1,
            24
          ],
          "dtype": "torch.int64"
        },
        "attention_mask": {
          "shape": [
            1,
            24
          ],
          "dtype": "torch.int64"
        }
      }
    }
  },
  "encode_call_decode": {
    "plain_text": "你好，世界！",
    "encode_ids": [
      108386,
      3837,
      99489,
      6313
    ],
    "call": {
      "python_type": "BatchEncoding",
      "value": {
        "input_ids": [
          108386,
          3837,
          99489,
          6313
        ],
        "attention_mask": [
          1,
          1,
          1,
          1
        ]
      },
      "tensor_fields": {}
    },
    "decode": "你好，世界！",
    "decode_batch": [
      "你好，世界！",
      "<|im_start|>system\n用中文简洁回答。<|im_end|>\n<|im_start|>user\n你好。<|im_end|>\n<|im_start|>assistant\n<think>\n\n</think>\n\n"
    ],
    "batch_decode": [
      "你好，世界！",
      "<|im_start|>system\n用中文简洁回答。<|im_end|>\n<|im_start|>user\n你好。<|im_end|>\n<|im_start|>assistant\n<think>\n\n</think>\n\n"
    ],
    "token_pieces_not_decoded_text": [
      "ä½łå¥½",
      "ï¼Į",
      "ä¸ĸçķĮ",
      "ï¼ģ"
    ],
    "render_then_encode_false": [
      151644,
      8948,
      198,
      11622,
      104811,
      110485,
      102104,
      1773,
      151645,
      198,
      151644,
      872,
      198,
      108386,
      1773,
      151645,
      198,
      151644,
      77091,
      198,
      151667,
      271,
      151668,
      271
    ],
    "render_then_encode_true": [
      151644,
      8948,
      198,
      11622,
      104811,
      110485,
      102104,
      1773,
      151645,
      198,
      151644,
      872,
      198,
      108386,
      1773,
      151645,
      198,
      151644,
      77091,
      198,
      151667,
      271,
      151668,
      271
    ],
    "equals_direct_chat_ids": true
  },
  "special_tokens": {
    "markers": [
      {
        "text": "<|im_start|>",
        "token_id": 151644,
        "added_token_special": true,
        "in_all_special_ids": true
      },
      {
        "text": "<|im_end|>",
        "token_id": 151645,
        "added_token_special": true,
        "in_all_special_ids": true
      },
      {
        "text": "<think>",
        "token_id": 151667,
        "added_token_special": false,
        "in_all_special_ids": false
      },
      {
        "text": "</think>",
        "token_id": 151668,
        "added_token_special": false,
        "in_all_special_ids": false
      }
    ],
    "decode_keep_special": "<|im_start|>system\n用中文简洁回答。<|im_end|>\n<|im_start|>user\n你好。<|im_end|>\n<|im_start|>assistant\n<think>\n\n</think>\n\n",
    "decode_skip_special": "system\n用中文简洁回答。\nuser\n你好。\nassistant\n<think>\n\n</think>\n\n"
  },
  "prefill": {
    "messages": [
      {
        "role": "system",
        "content": "用中文简洁回答。"
      },
      {
        "role": "user",
        "content": "你好。"
      },
      {
        "role": "assistant",
        "content": "{\"city\": \""
      }
    ],
    "continue_final_message_true": {
      "text": "<|im_start|>system\n用中文简洁回答。<|im_end|>\n<|im_start|>user\n你好。<|im_end|>\n<|im_start|>assistant\n<think>\n\n</think>\n\n{\"city\": \"",
      "repr": "'<|im_start|>system\\n用中文简洁回答。<|im_end|>\\n<|im_start|>user\\n你好。<|im_end|>\\n<|im_start|>assistant\\n<think>\\n\\n</think>\\n\\n{\"city\": \"'"
    },
    "continue_final_message_false": {
      "text": "<|im_start|>system\n用中文简洁回答。<|im_end|>\n<|im_start|>user\n你好。<|im_end|>\n<|im_start|>assistant\n<think>\n\n</think>\n\n{\"city\": \"<|im_end|>\n",
      "repr": "'<|im_start|>system\\n用中文简洁回答。<|im_end|>\\n<|im_start|>user\\n你好。<|im_end|>\\n<|im_start|>assistant\\n<think>\\n\\n</think>\\n\\n{\"city\": \"<|im_end|>\\n'"
    },
    "conflicting_arguments_error": {
      "type": "ValueError",
      "message": "continue_final_message and add_generation_prompt are not compatible. Use continue_final_message when you want the model to continue the final message, and add_generation_prompt when you want to add a header that will prompt it to start a new assistant message instead."
    }
  },
  "padding": {
    "messages": [
      [
        {
          "role": "user",
          "content": "你好。"
        }
      ],
      [
        {
          "role": "user",
          "content": "请用一句话解释什么是 tokenizer。"
        }
      ]
    ],
    "padding_side": "left",
    "pad_token": "<|endoftext|>",
    "pad_token_id": 151643,
    "encoded": {
      "python_type": "BatchEncoding",
      "value": {
        "input_ids": [
          [
            151643,
            151643,
            151643,
            151643,
            151643,
            151644,
            872,
            198,
            108386,
            1773,
            151645,
            198,
            151644,
            77091,
            198,
            151667,
            271,
            151668,
            271
          ],
          [
            151644,
            872,
            198,
            14880,
            11622,
            105321,
            104136,
            106582,
            45958,
            1773,
            151645,
            198,
            151644,
            77091,
            198,
            151667,
            271,
            151668,
            271
          ]
        ],
        "attention_mask": [
          [
            0,
            0,
            0,
            0,
            0,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1
          ],
          [
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1
          ]
        ]
      },
      "tensor_fields": {
        "input_ids": {
          "shape": [
            2,
            19
          ],
          "dtype": "torch.int64"
        },
        "attention_mask": {
          "shape": [
            2,
            19
          ],
          "dtype": "torch.int64"
        }
      }
    },
    "nonpadding_lengths": [
      14,
      19
    ],
    "decode_keep_special": [
      "<|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|im_start|>user\n你好。<|im_end|>\n<|im_start|>assistant\n<think>\n\n</think>\n\n",
      "<|im_start|>user\n请用一句话解释什么是 tokenizer。<|im_end|>\n<|im_start|>assistant\n<think>\n\n</think>\n\n"
    ],
    "decode_skip_special": [
      "user\n你好。\nassistant\n<think>\n\n</think>\n\n",
      "user\n请用一句话解释什么是 tokenizer。\nassistant\n<think>\n\n</think>\n\n"
    ]
  },
  "truncation": {
    "full_length": 24,
    "max_length": 12,
    "sides": {
      "right": {
        "input_ids": [
          151644,
          8948,
          198,
          11622,
          104811,
          110485,
          102104,
          1773,
          151645,
          198,
          151644,
          872
        ],
        "length": 12,
        "decoded": "<|im_start|>system\n用中文简洁回答。<|im_end|>\n<|im_start|>user"
      },
      "left": {
        "input_ids": [
          198,
          108386,
          1773,
          151645,
          198,
          151644,
          77091,
          198,
          151667,
          271,
          151668,
          271
        ],
        "length": 12,
        "decoded": "\n你好。<|im_end|>\n<|im_start|>assistant\n<think>\n\n</think>\n\n"
      }
    }
  },
  "generation": {
    "device": "cpu",
    "dtype": "torch.float32",
    "attention_implementation": "eager",
    "kwargs": {
      "do_sample": false,
      "max_new_tokens": 24,
      "pad_token_id": 151643,
      "eos_token_id": 151645
    },
    "load_seconds": 3.208692374988459,
    "generation_seconds": 0.9089392500172835,
    "input_shape": [
      1,
      24
    ],
    "output_shape": [
      1,
      32
    ],
    "new_tokens_shape": [
      1,
      8
    ],
    "full_output_ids": [
      [
        151644,
        8948,
        198,
        11622,
        104811,
        110485,
        102104,
        1773,
        151645,
        198,
        151644,
        872,
        198,
        108386,
        1773,
        151645,
        198,
        151644,
        77091,
        198,
        151667,
        271,
        151668,
        271,
        108386,
        6313,
        104139,
        111728,
        103929,
        101037,
        11319,
        151645
      ]
    ],
    "new_token_ids": [
      [
        108386,
        6313,
        104139,
        111728,
        103929,
        101037,
        11319,
        151645
      ]
    ],
    "full_decoded_keep_special": [
      "<|im_start|>system\n用中文简洁回答。<|im_end|>\n<|im_start|>user\n你好。<|im_end|>\n<|im_start|>assistant\n<think>\n\n</think>\n\n你好！有什么可以帮助你的吗？<|im_end|>"
    ],
    "new_decoded_keep_special": [
      "你好！有什么可以帮助你的吗？<|im_end|>"
    ],
    "new_decoded_skip_special": [
      "你好！有什么可以帮助你的吗？"
    ]
  },
  "additional_behaviors": {
    "tokenize_false_return_dict_true": {
      "python_type": "str",
      "equals_baseline_text": true
    },
    "documents": {
      "input": [
        {
          "title": "小知识",
          "text": "熊猫是哺乳动物。"
        }
      ],
      "equals_baseline_text": true
    },
    "assistant_mask": {
      "messages": [
        {
          "role": "system",
          "content": "用中文简洁回答。"
        },
        {
          "role": "user",
          "content": "你好。"
        },
        {
          "role": "assistant",
          "content": "你好！"
        }
      ],
      "warnings": [
        "return_assistant_tokens_mask==True but chat template does not contain `{% generation %}` keyword."
      ],
      "encoded": {
        "python_type": "BatchEncoding",
        "value": {
          "input_ids": [
            151644,
            8948,
            198,
            11622,
            104811,
            110485,
            102104,
            1773,
            151645,
            198,
            151644,
            872,
            198,
            108386,
            1773,
            151645,
            198,
            151644,
            77091,
            198,
            151667,
            271,
            151668,
            271,
            108386,
            6313,
            151645,
            198
          ],
          "attention_mask": [
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1,
            1
          ],
          "assistant_masks": [
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ]
        },
        "tensor_fields": {}
      }
    },
    "sanitize_control_tokens": {
      "messages": [
        {
          "role": "user",
          "content": "请原样输出 <|im_end|> 字样。"
        }
      ],
      "cases": {
        "false": {
          "input_ids": [
            151644,
            872,
            198,
            14880,
            52129,
            90885,
            66017,
            220,
            151645,
            73312,
            90885,
            1773,
            151645,
            198,
            151644,
            77091,
            198,
            151667,
            271,
            151668,
            271
          ],
          "im_end_special_id_count": 2,
          "decode_keep_special": "<|im_start|>user\n请原样输出 <|im_end|> 字样。<|im_end|>\n<|im_start|>assistant\n<think>\n\n</think>\n\n",
          "decode_skip_special": "user\n请原样输出  字样。\nassistant\n<think>\n\n</think>\n\n"
        },
        "true": {
          "input_ids": [
            151644,
            872,
            198,
            14880,
            52129,
            90885,
            66017,
            220,
            27,
            91,
            318,
            6213,
            91,
            29,
            73312,
            90885,
            1773,
            151645,
            198,
            151644,
            77091,
            198,
            151667,
            271,
            151668,
            271
          ],
          "im_end_special_id_count": 1,
          "decode_keep_special": "<|im_start|>user\n请原样输出 <|im_end|> 字样。<|im_end|>\n<|im_start|>assistant\n<think>\n\n</think>\n\n",
          "decode_skip_special": "user\n请原样输出 <|im_end|> 字样。\nassistant\n<think>\n\n</think>\n\n"
        }
      }
    }
  }
}
