Repository: modelscope/evalscope
Issue: 怎么配置数据集编码
Root cause: Configuration Error

## 自查清单

在提交 issue 之前，请确保您已完成以下步骤:
- [x] 我已仔细阅读了[相关使用说明文档](https://evalscope.readthedocs.io/zh-cn/latest/get_started/parameters.html)
- [x] 我已查看了[常见问题解答](https://evalscope.readthedocs.io/zh-cn/latest/get_started/faq.html)
- [x] 我已搜索并查看了现有的 issues，确认这不是一个重复的问题

## 问题描述

使用aime2025数据集测评时，控制台会输出UnicodeEncodeError: 'gbk' codec can't encode character '\xb2' in position 538: illegal multibyte sequence，导致整体评分较低

## EvalScope 版本（必填）
v0.xx.x

## 使用的工具
- [ ] Native / 原生框架
- [ ] Opencompass backend
- [ ] VLMEvalKit backend
- [ ] RAGEval backend
- [ ] Perf / 模型推理压测工具
- [ ] Arena / 竞技场模式

## 执行的代码或指令

请提供您执行的主要代码或指令。

## 错误日志

请粘贴完整的错误日志或控制台输出。

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

如果有其他相关信息，请在此处提供。


请提供一下完整的评测命令和报错日志

> 请提供一下完整的评测命令和报错日志

评测命令如下：
def run_perf_custom_dataset():
    task_cfg = TaskConfig(
        model='qwen3-30b-a3b-bf16',
        api_url='http://xxxxxxxx',
        api_key='sk-xxxxxx',
        eval_type=EvalType.SERVICE,
        datasets=['aime24'],  
        dataset_args={
            'aime24': {
                  "local_path": r"D:\xxx\xxxx\aime_2024",     
            }    
        },
    )
    run_task(task_cfg=task_cfg)

> 请提供一下完整的评测命令和报错日志
报错日志：
UnicodeEncodeError: 'gbk' codec can't encode character '\u2080' in position 471: illegal multibyte sequence
Call stack:
  File "D:\xxx\xxxx\Python\pythonProject\benchmark\EvalScopeTest.py", line 110, in <module>
    get_model_scope()   # 调用deekseek-r1
  File "D:\xxx\xxxx\Python\pythonProject\benchmark\EvalScopeTest.py", line 100, in get_model_scope
    run_task(task_cfg=task_cfg)
  File "D:\file\env\python\Lib\site-packages\evalscope\run.py", line 28, in run_task
    return run_single_task(task_cfg, run_time)
  File "D:\file\env\python\Lib\site-packages\evalscope\run.py", line 41, in run_single_task
    result = evaluate_model(task_cfg, outputs)
  File "D:\file\env\python\Lib\site-packages\evalscope\run.py", line 144, in evaluate_model
    res_dict = evaluator.eval()
  File "D:\file\env\python\Lib\site-packages\evalscope\evaluator\evaluator.py", line 102, in eval
    subset_score = self.evaluate_subset(subset, dataset)
  File "D:\file\env\python\Lib\site-packages\evalscope\evaluator\evaluator.py", line 129, in evaluate_subset
    task_states = self.get_answers(subset, dataset)
  File "D:\file\env\python\Lib\site-packages\evalscope\evaluator\evaluator.py", line 189, in get_answers
    logger.debug(f'Model result: \n{model_result.pretty_print()}')
Message: 'Model result: \n{\n  "index": 179,\n  "model": "qwen3-30b-a3b-bf16-16k",\n  "model_output": {\n    "model": "qwen3-30b-a3b-bf16-16k",\n    "choices": [\n      {\n        "message": {\n          "id": "02cceec0",\n          "content": [\n            {\n              "internal": null,\n              "type": "reasoning",\n              "reasoning": "\\nOkay, let\'s try to figure out the value of c₀ for this Fourier series. So, the question is about finding the DC component of the periodic signal x(t). The formula given for c_k is (1/T) times the integral of x(t) multiplied by e^(-j2πkt/T) over the interval from -T/2 to T/2. Since T is 10, the interval is from -5 to 5, which matches the definition of x(t) given.\\n\\nFor c₀, the formula simplifies because when k=0, the exponential term e^(-j2π*0*t/T) becomes e^0, which is 1. So, c₀ is (1/T) times the integral of x(t) from -5 to 5. \\n\\nNow, let\'s compute that integral. The function x(t) is 2 from -5 to 0, and -2 from 0 to 5. So the integral over -5 to 5 is the integral from -5 to 0 of 2 dt plus the integral from 0 to 5 of -2 dt.\\n\\nCalculating each part: the first integral is 2*(0 - (-5)) = 2*5 = 10. The second integral is -2*(5 - 0) = -2*5 = -10. Adding them together gives 10 + (-10) = 0. Then, multiply by (1/T) which is 1/10. So 0 * 1/10 is 0. \\n\\nWait, but that would make c₀ zero. Let me check again. The integral of x(t) over one period is indeed 10 -10 = 0. So c₀ is zero. Looking at the options, E is 0. So the answer should be E. But let me make sure I didn\'t make a mistake in the limits or the function definition.\\n\\nThe function is defined as 2 from -5 to 0, and -2 from 0 to 5. So integrating over -5 to 5, yes, the areas cancel out. So c₀ is zero. So the correct option is E.\\n",\n              "signature": null,\n              "redacted": false\n            },\n            {\n              "internal": null,\n              "type": "text",\n              "text": "\\n\\nTo determine the value of $ c_0 $ for the given periodic signal $ x(t) $, we use the formula for the Fourier series coefficient:\\n\\n$$\\nc_k = \\\\frac{1}{T} \\\\int_{-T/2}^{T/2} x(t) e^{-j2\\\\pi k t / T} dt\\n$$\\n\\nFor $ k = 0 $, the exponential term becomes $ e^0 = 1 $, so:\\n\\n$$\\nc_0 = \\\\frac{1}{T} \\\\int_{-T/2}^{T/2} x(t) dt\\n$$\\n\\nGiven $ T = 10 $, the integral is over $ -5 \\\\leq t < 5 $. The function $ x(t) $ is defined as:\\n\\n- $ x(t) = 2 $ for $ -5 \\\\leq t < 0 $\\n- $ x(t) = -2 $ for $ 0 \\\\leq t < 5 $\\n\\nCompute the integral:\\n\\n$$\\n\\\\int_{-5}^{5} x(t) dt = \\\\int_{-5}^{0} 2 \\\\, dt + \\\\int_{0}^{5} (-2) \\\\, dt\\n$$\\n\\n$$\\n= 2 \\\\cdot (0 - (-5)) + (-2) \\\\cdot (5 - 0) = 2 \\\\cdot 5 - 2 \\\\cdot 5 = 10 - 10 = 0\\n$$\\n\\nThus:\\n\\n$$\\nc_0 = \\\\frac{1}{10} \\\\cdot 0 = 0\\n$$\\n\\nThe correct answer is **E**.\\n\\nANSWER: E",\n              "refusal": null\n            }\n          ],\n          "source": "generate",\n          "metadata": null,\n          "internal": null,\n          "role": "assistant",\n          "tool_calls": null,\n          "model": "qwen3-30b-a3b-bf16-16k"\n        },\n        "stop_reason": "stop",\n        "logprobs": null\n      }\n    ],\n    "usage": {\n      "input_tokens": 1655,\n      "output_tokens": 816,\n      "total_tokens": 2471,\n      "input_tokens_cache_write": null,\n      "input_tokens_cache_read": null,\n      "reasoning_tokens": null\n    },\n    "time": null,\n    "metadata": null,\n    "error": null\n  },\n  "messages": [\n    {\n      "id": "02cceec0",\n      "content": [\n        {\n          "internal": null,\n          "type": "reasoning",\n          "reasoning": "\\nOkay, let\'s try to figure out the value of c₀ for this Fourier series. So, the question is about finding the DC component of the periodic signal x(t). The formula given for c_k is (1/T) times the integral of x(t) multiplied by e^(-j2πkt/T) over the interval from -T/2 to T/2. Since T is 10, the interval is from -5 to 5, which matches the definition of x(t) given.\\n\\nFor c₀, the formula simplifies because when k=0, the exponential term e^(-j2π*0*t/T) becomes e^0, which is 1. So, c₀ is (1/T) times the integral of x(t) from -5 to 5. \\n\\nNow, let\'s compute that integral. The function x(t) is 2 from -5 to 0, and -2 from 0 to 5. So the integral over -5 to 5 is the integral from -5 to 0 of 2 dt plus the integral from 0 to 5 of -2 dt.\\n\\nCalculating each part: the first integral is 2*(0 - (-5)) = 2*5 = 10. The second integral is -2*(5 - 0) = -2*5 = -10. Adding them together gives 10 + (-10) = 0. Then, multiply by (1/T) which is 1/10. So 0 * 1/10 is 0. \\n\\nWait, but that would make c₀ zero. Let me check again. The integral of x(t) over one period is indeed 10 -10 = 0. So c₀ is zero. Looking at the options, E is 0. So the answer should be E. But let me make sure I didn\'t make a mistake in the limits or the function definition.\\n\\nThe function is defined as 2 from -5 to 0, and -2 from 0 to 5. So integrating over -5 to 5, yes, the areas cancel out. So c₀ is zero. So the correct option is E.\\n",\n          "signature": null,\n          "redacted": false\n        },\n        {\n          "internal": null,\n          "type": "text",\n          "text": "\\n\\nTo determine the value of $ c_0 $ for the given periodic signal $ x(t) $, we use the formula for the Fourier series coefficient:\\n\\n$$\\nc_k = \\\\frac{1}{T} \\\\int_{-T/2}^{T/2} x(t) e^{-j2\\\\pi k t / T} dt\\n$$\\n\\nFor $ k = 0 $, the exponential term becomes $ e^0 = 1 $, so:\\n\\n$$\\nc_0 = \\\\frac{1}{T} \\\\int_{-T/2}^{T/2} x(t) dt\\n$$\\n\\nGiven $ T = 10 $, the integral is over $ -5 \\\\leq t < 5 $. The function $ x(t) $ is defined as:\\n\\n- $ x(t) = 2 $ for $ -5 \\\\leq t < 0 $\\n- $ x(t) = -2 $ for $ 0 \\\\leq t < 5 $\\n\\nCompute the integral:\\n\\n$$\\n\\\\int_{-5}^{5} x(t) dt = \\\\int_{-5}^{0} 2 \\\\, dt + \\\\int_{0}^{5} (-2) \\\\, dt\\n$$\\n\\n$$\\n= 2 \\\\cdot (0 - (-5)) + (-2) \\\\cdot (5 - 0) = 2 \\\\cdot 5 - 2 \\\\cdot 5 = 10 - 10 = 0\\n$$\\n\\nThus:\\n\\n$$\\nc_0 = \\\\frac{1}{10} \\\\cdot 0 = 0\\n$$\\n\\nThe correct answer is **E**.\\n\\nANSWER: E",\n          "refusal": null\n        }\n      ],\n      "source": "generate",\n      "metadata": null,\n      "internal": null,\n      "role": "assistant",\n      "tool_calls": null,\n      "model": "qwen3-30b-a3b-bf16-16k"\n    }\n  ],\n  "metadata": {\n    "cot_content": "",\n    "subject": "computer science",\n    "question_id": 10539\n  }\n}'


看起来是打印日志的时候报错了，我设置一下logging的默认编码

> 看起来是打印日志的时候报错了，我设置一下logging的默认编码

再请问一下，模型推理参数里面有能控制关闭reasoning的参数吗？

没有关闭模型是否推理的参数，但reasoning部分默认不参与评分结果计算

> 没有关闭模型是否推理的参数，但reasoning部分默认不参与评分结果计算

会影响推理答案的吧， 如果reasoning的结果超出max_token，是不是会获取不到结果，从而得分情况为0

> 如果reasoning的结果超出max_token，是不是会获取不到结果

这时你需要设置更大的max_token参数，避免输出被截断

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！