zhiminy/EvalEng huggingface dataset:
Repository: modelscope/evalscope
Issue: 数据混合collection评测结果计数异常
Root cause: Algorithmic Error

## 自查清单

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

## 问题描述

数据混合collection评测结果计数异常
共使用10条数据，进行混合数据集评测，最后结果显示70条数据：

![Image](https://github.com/user-attachments/assets/63683620-3640-448a-a482-df957da67bee)
采样数据代码如下：
from evalscope.collections import UniformSampler
    from evalscope.utils.io_utils import dump_jsonl_data
    sampler = UniformSampler(complex_schema)
    mixed_data = sampler.sample(10)
    dump_jsonl_data(mixed_data, '/evalscope_data/mixed_data.jsonl')

以下是评测log:

[eval_log.log](https://github.com/user-attachments/files/22091507/eval_log.log)

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

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

## 执行的代码或指令

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

## 错误日志

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

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

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


看log是因为general qa的metric有13项，导致计数重复了，我修复一下：
```
+-----------------+-----------+--------------+--------------------------------------+---------------+-------+
|    task_type    |  metric   | dataset_name |             subset_name              | average_score | count |
+-----------------+-----------+--------------+--------------------------------------+---------------+-------+
|   open_answer   | Rouge-1-F |  general_qa  |  protocolqa-v1-openanswer-evalscope  |    0.0286     |   5   |
|   open_answer   | Rouge-2-F |  general_qa  |  protocolqa-v1-openanswer-evalscope  |    0.0013     |   5   |
|   open_answer   | Rouge-1-R |  general_qa  |  protocolqa-v1-openanswer-evalscope  |    0.3657     |   5   |
|   open_answer   | Rouge-1-P |  general_qa  |  protocolqa-v1-openanswer-evalscope  |     0.015     |   5   |
|   open_answer   | Rouge-2-P |  general_qa  |  protocolqa-v1-openanswer-evalscope  |    0.0007     |   5   |
|   open_answer   | Rouge-L-P |  general_qa  |  protocolqa-v1-openanswer-evalscope  |    0.0082     |   5   |
|   open_answer   | Rouge-L-F |  general_qa  |  protocolqa-v1-openanswer-evalscope  |    0.0159     |   5   |
|   open_answer   | Rouge-2-R |  general_qa  |  protocolqa-v1-openanswer-evalscope  |     0.05      |   5   |
|   open_answer   |  bleu-1   |  general_qa  |  protocolqa-v1-openanswer-evalscope  |    0.0084     |   5   |
|   open_answer   |  bleu-2   |  general_qa  |  protocolqa-v1-openanswer-evalscope  |    0.0004     |   5   |
|   open_answer   |  bleu-3   |  general_qa  |  protocolqa-v1-openanswer-evalscope  |      0.0      |   5   |
|   open_answer   | Rouge-L-R |  general_qa  |  protocolqa-v1-openanswer-evalscope  |     0.303     |   5   |
|   open_answer   |  bleu-4   |  general_qa  |  protocolqa-v1-openanswer-evalscope  |      0.0      |   5   |
```
Repository: modelscope/evalscope
Issue: 推理测评速度疑问
Root cause: Documentation Deficiency


## 问题描述

使用Qwen\Qwen3-32B 跑 mmlu 数据集全部的数据太慢，在8卡H20上跑了4天还没跑完50%的分类，这个现象是正常的嘛？如果不正常，希望可以帮忙解决一下，如果是正常的，那该怎么加速这个推理速度呢？

## EvalScope 版本（必填）
v 1.0.0

## 使用的工具
- Native / 原生框架

## 执行的代码或指令

```python
  task_cfg = {
      'model': model_name,
      'datasets': ['mmlu', 'hellaswag'],
      'model_args': {
          'device_map': 'auto',
      },
  }
  run_task(task_cfg=task_cfg)
```

## 其他信息

我需要对这个模型加个hook，来验证一些模型的变化和效果，所以貌似不能直接通过vllm进行部署启动服务后进行测评，好像是只能通过咱们的原生推理引擎去做？

1. 你可以设置`eval_batch_size`参数，默认是1，例如调整为16
2. 如果只是为你验证一个变化，可以设置`limit`参数，例如50，不用跑完全部数据集

完整参数参考：https://evalscope.readthedocs.io/zh-cn/latest/get_started/parameters.html

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: OpenCompass 支持设置请求的参数模板吗，类似perf模块的--query-template  
Root cause: Unimplemented Feature Gap

待测模型是基于Qwen2-72B-Instruct-AWQ的一个服务，请求示例：
`{
"model": "Qwen2-72B-Instruct-AWQ-RAG",
"messages": [
{"role": "user", "content": "请给我讲个冷笑话"}
],
"temperature": 0.1
}`

想测试下needlebench_4k 数据集，请求的参数格式和示例的不一致导致结果不对

examples/tasks/default_eval_swift_openai_api.json
Repository: modelscope/evalscope
Issue: pip install evalscope  报错：Building wheel for pyarrow (pyproject.toml) ... error
Root cause: Environment Incompatibility

## 自查清单

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

## 问题描述

1,conda create -n evalscope python=3.10
2,conda activate evalscope
3,  pip install evalscope
安装依赖的时候报错：
 Building wheel for pyarrow (pyproject.toml) ... error

## EvalScope 版本（必填）
v1.0

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

## 执行的代码或指令

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

## 错误日志

[log.log](https://github.com/user-attachments/files/22113412/log.log)

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

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


你是在什么操作系统下安装的，先单独安装pyarrow试试

NAME="CentOS Linux"
VERSION="7 (Core)"

python 3.10

pip安装也是报同样的错

解决了，conda install -c conda-forge pyarrow
安装成功
Repository: modelscope/evalscope
Issue: 推理并行问题
Root cause: Documentation Deficiency

> 1. 你可以设置`eval_batch_size`参数，默认是1，例如调整为16
> 2. 如果只是为你验证一个变化，可以设置`limit`参数，例如50，不用跑完全部数据集
> 
> 完整参数参考：https://evalscope.readthedocs.io/zh-cn/latest/get_started/parameters.html 

 _Originally posted by @Yunnglin in [#808](https://github.com/modelscope/evalscope/issues/808#issuecomment-3245057612)_

请问压测的时候可以并行，这步可以并行吗？如果无法并行了，那压测的作用是什么呢？
https://evalscope.readthedocs.io/zh-cn/latest/best_practice/qwen3.html#id6

我的代码如下：

```
from evalscope import TaskConfig, run_task
task_cfg = TaskConfig(
    model='Qwen3-32B',
    api_url='http://127.0.0.1:8801/v1/chat/completions',
    eval_type='service',
    datasets=[
        'mmlu',
        'gsm8k',
        'ifeval',
    ],
    dataset_dir='',
    use_cache='',
    work_dir='',
    dataset_args={
        'mmlu': {
            'filters': {'remove_until': '</think>'}  # 过滤掉思考的内容
        },
        'gsm8k': {
            'filters': {'remove_until': '</think>'}  # 过滤掉思考的内容
        },
        'ifeval': {
            'filters': {'remove_until': '</think>'}  # 过滤掉思考的内容
        }
    },
    eval_batch_size=128,
    generation_config={
        'max_tokens': 30000,  # 最大生成token数，建议设置为较大值避免输出截断
        'temperature': 0.6,  # 采样温度 (qwen 报告推荐值)
        'top_p': 0.95,  # top-p采样 (qwen 报告推荐值)
        'top_k': 20,  # top-k采样 (qwen 报告推荐值)
        'n': 1,  # 每个请求产生的回复数量
    },
    timeout=60000,  # 超时时间
    stream=True,  # 是否使用流式输出
    limit=200,  # 设置为100条数据进行测试
)

run_task(task_cfg=task_cfg)

```

> 请问压测的时候可以并行，这步可以并行吗？如果无法并行了，那压测的作用是什么呢？

没有理解这里的“并行”是什么意思，模型评测有`eval_batch_size=128`用来控制并发的请求数量

多谢解答！请问压测中对应parallel给出的performance recommendations，就是在实际测评中设置到eval_batch_size中的值吗？

模型压测和模型评测是两个分别的功能，互不影响。一个用来测试模型服务吞吐、一个来测试模型本身的能力。

好的，多谢！
Repository: modelscope/evalscope
Issue: 如何指定数据集的下载路径
Root cause: Documentation Deficiency

如何指定数据集的下载路径，没有宏吗？数据量比较大，希望下载到额外的data盘

你可以配置两个环境变量：
1. `MODELSCOPE_CACHE` 控制数据集下载的路径，默认是`~/.cache/modelscope/hub`
2. `EVALSCOPE_CACHE` 控制数据集缓存的路径，默认是`~/.cache/evalscope`

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: 希望支持OmniBench
Root cause: Documentation Deficiency

## 功能描述 / Feature Description

希望支持OmniBench，评测Omni模型很有用


## 需求背景 / Background

为什么需要这个功能？ / Why is this feature needed?

## 预期行为 / Expected Behavior

这个功能应该如何工作？ / How should this feature work?

## 其他信息 / Additional Information

还有其他相关信息吗？ / Any other relevant information?


main分支已支持OmniBench，可以使用一下

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: 能否评测本地模型
Root cause: Documentation Deficiency

## 自查清单

在提交 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，确认这不是一个重复的问题

## 问题描述

模型做了推理的动态稀疏化，需要比较用稀疏化和不用的模型能力，能用evalscope来评测吗？在现有的教程里没有看到

## EvalScope 版本（必填）
v1.0.1

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

## 执行的代码或指令

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

## 错误日志

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

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

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


evalscope的使用是跟模型架构无关的，能部署成一个openai api格式的模型服务就可以评测了。此外，也可以自定义模型评测，参考：https://evalscope.readthedocs.io/zh-cn/latest/advanced_guides/custom_model.html
Repository: modelscope/evalscope
Issue: 暴露真正的输出路径
Root cause: Documentation Deficiency

## 功能描述

希望能返回具体的输出路径

## 需求背景

需要对输出文件夹里的数据做处理。如果一个配置跑多次，outputs_dir里就会有很多时间戳文件夹，但是时间戳拿不到。

## 预期行为

run_perf_benchmark能返回具体输出路径

另外代码里跑多个run_perf_benchmark会输出到一个日志文件里，不知道是否正常

请提供一下你执行的命令。此外，“跑多个run_perf_benchmark会输出到一个日志文件里”没有理解这里是什么问题，请提供一下输出的目录结构。

```py
from evalscope.perf.arguments import Arguments
from evalscope.perf.main import run_perf_benchmark

if __name__ == "__main__":
    args = Arguments(
        parallel=1,
        number=1,
        model="Qwen/Qwen3-8B",
        name="test1",
        url="https://api.siliconflow.cn/v1/chat/completions",
        api="openai",
        api_key="xxx",
        dataset="random",
        tokenizer_path="Qwen/Qwen3-8B",
        min_prompt_length=10,
        max_prompt_length=10,
        min_tokens=10,
        max_tokens=10,
        seed=0,
        extra_args={"temperature": 1, "top_p": 0.95, "seed": 42},
        debug=True,
    )
    result = run_perf_benchmark(args)
    outputs_dir = args.outputs_dir
    print(f"Outputs directory: {outputs_dir}")

    args = Arguments(
        parallel=1,
        number=1,
        model="Qwen/Qwen3-8B",
        name="test2",
        url="https://api.siliconflow.cn/v1/chat/completions",
        api="openai",
        api_key="xxx",
        dataset="random",
        tokenizer_path="Qwen/Qwen3-8B",
        min_prompt_length=10,
        max_prompt_length=10,
        min_tokens=10,
        max_tokens=10,
        seed=0,
        extra_args={"temperature": 1, "top_p": 0.95, "seed": 42},
        debug=True,
    )
    result = run_perf_benchmark(args)
    outputs_dir = args.outputs_dir
    print(f"Outputs directory: {outputs_dir}")
```

运行上面的脚本，所有日志都输出到第一个测试里面了，好像设置不同的name也没用。

<img width="354" height="310" alt="Image" src="https://github.com/user-attachments/assets/604dc1c1-9f62-4bb6-a38e-152337dc0afb" />

关于时间戳的问题解决了，run_perf_benchmark会修改输入参数，跑完之后从args里面可以拿到真正的带时间戳的输出路径。

日志的输出确实有这个问题，后续修复一下

main分支已修复该问题

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: Bringing Back Stages for Infer and Predict
Root cause: Unimplemented Feature Gap

## 功能描述 / Feature Description
Would love to see review and infer stages parameter brought back in v1.0+.

请简要描述您希望添加的功能。 / Please briefly describe the feature you would like to request.
I was previously using the stage parameter for infer and review. It was great feature to allow our team to reduce inference system time by processing all predictions first and reviewing the results offline. Is there a reason why this feature was removed and would you consider adding it back? Rerun_review and use_cache do not seem to enable this same functionality? If I wanted to implement this myself are there any considerations I should make that influenced your guys to remove the feature.

## 需求背景 / Background

为什么需要这个功能？ / Why is this feature needed?

## 预期行为 / Expected Behavior

这个功能应该如何工作？ / How should this feature work?

## 其他信息 / Additional Information

还有其他相关信息吗？ / Any other relevant information?


Thank you for your feedback! Previously, considering that not many users utilized this parameter and that it was no longer necessary after the framework was refactored, we removed it. We will consider adding an "inference only" option in the future.
Repository: modelscope/evalscope
Issue: 是否支持自定义function calling数据集
Root cause: Documentation Deficiency

## 自查清单

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

## 问题描述
想问问是否支持自定义function calling数据集。支持的话，要怎么做。
## EvalScope 版本（必填）
v0.17.1




暂不支持。请问想要以什么形式支持自定义function call呢？给模型提供一些tool的schema，判断模型是否正确输出应该调用的函数和对应的参数吗？

请问这种方式是现在bfcl_v3的评测实现逻辑吗？ 那如果想你说的这样构建自定义benchmark，是不是就需要自己写脚本去评测了，因为我看自定义数据集评测，一种是有参考答案的可以通过rouge或者llm as judge；无参考答案的也是需要judge模型。

@fj1024 目前bfcl的评测比较复杂，包括
1. 解析模型生成的tool call的ast，判断调用的函数和参数是否正确
2. 运行tool call，对比运行结果是否正确

目前可以参考 https://github.com/MoonshotAI/K2-Vendor-Verifier ，来实现方式1的自动评测

已支持自定义 function call 数据集，来测试模型能否适时并正确调用工具，参考文档：https://evalscope.readthedocs.io/zh-cn/latest/advanced_guides/custom_dataset/llm.html#fc
Repository: modelscope/evalscope
Issue: evalscope中使用vlmevalkit，eval_batch_size 设置没有效果
Root cause: Documentation Deficiency



设置如下：
<img width="297" height="46" alt="Image" src="https://github.com/user-attachments/assets/58c60ca9-6a9d-45d9-b205-11d5af5abf8b" />
无论eval_batch_size设置多大，貌似都是按照eval_batch_size=1在推理，显存占用如下

<img width="423" height="112" alt="Image" src="https://github.com/user-attachments/assets/73d7cd2b-4f49-4dba-b5be-675b5d7c6f79" />

请在eval_config下面配置nproc参数来控制并发：
```python
eval_config={
        'data': ['SEEDBench_IMG', 'ChartQA_TEST'],
        'limit': 20,
        'mode': 'all',
        'model': [ 
            {'api_base': 'http://localhost:8000/v1/chat/completions',
            'key': 'EMPTY',
            'name': 'CustomAPIModel',
            'temperature': 0.0,
            'type': 'Qwen2.5-VL-3B-Instruct',
            'img_size': -1,
            'video_llm': False,
            'max_tokens': 1024,}
            ],
        'reuse': False,
        'nproc': 16,
        'judge': 'exact_matching'}
```

参考文档：https://evalscope.readthedocs.io/zh-cn/latest/user_guides/backend/vlmevalkit_backend.html#id4

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


<img width="459" height="81" alt="Image" src="https://github.com/user-attachments/assets/4c025027-d2ad-43db-9f53-82ca3b206fd9" />

将nproc设置到2560， 显存一直都在5000左右，而且速度一直起不来，和nproc设置为16速度一致，怎么设置这个参数才能吃满显存速度提上来呢？
Repository: modelscope/evalscope
Issue: ERROR: Error in _handle_stream: Response payload is not completed: <TransferEncodingError: 400, message='Not enough data to satisfy transfer length header.'>
Root cause: Configuration Error

when using evalscope bench deepseek deployed by sglang,
error occurs:
2025-09-25 11:26:48 - evalscope - ERROR: Request: {'messages': [{'role': 'user', 'content': '{xxxxxx'}], 'model': 'DeepSeek-V3.1', 'max_tokens': 1024, 'min_tokens': 1024, 'seed': 0, 'stream': True, 'stream_options': {'include_usage': True}, 'temperature': 0.0, 'ignore_eos': True} failed, state_code: 200, data: Response payload is not completed: <TransferEncodingError: 400, message='Not enough data to satisfy transfer length header.'>
2025-09-25 11:26:48 - evalscope - ERROR: Error in _handle_stream: Response payload is not completed: <TransferEncodingError: 400, message='Not enough data to satisfy transfer length header.'>


bench command:
```
evalscope perf \
  --parallel 4096 \
  --number   4096 \
  --model DeepSeek-V3.1 \
  --url http://xxx/v1/chat/completions \
  --api openai \
  --dataset random \
  --max-tokens 1024 \
  --min-tokens 1024 \
  --prefix-length 0 \
  --min-prompt-length 2048 \
  --max-prompt-length 3096 \
  --tokenizer-path /mnt/d/models/DeepSeek-V3.1/ \
  --extra-args '{"ignore_eos": true}'
```
evalscope  version: 1.0.1

perf默认超时时间是10分钟，看你设置了很高的并发，应该是有些请求中断了。修改下面两个参数为更大的值：

```
--connect-timeout 网络连接超时，默认为600s。

--read-timeout 网络读取超时，默认为600s。
```

@Yunnglin 好的，谢谢，我试试
Repository: modelscope/evalscope
Issue: 设置了max_token后仍然报错400
Root cause: Documentation Deficiency

## 自查清单

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

## 问题描述

请简要描述您遇到的问题。
我设置了最大tokens，但是还是超过模型的能力，如何设置自动过滤这些数据集，不会报错
<img width="2867" height="1296" alt="Image" src="https://github.com/user-attachments/assets/6344058a-e84d-49f6-a408-8c47bd84c250" />

## EvalScope 版本（必填）
v1.0.1

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

## 执行的代码或指令

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

## 错误日志

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

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

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


设置`ignore_errors=True`即可跳过出错的样例

参考：https://evalscope.readthedocs.io/zh-cn/latest/get_started/parameters.html#id6

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: general_qa/ToolBench-Static数据集，Rouge和BLEU评分较低
Root cause: Documentation Deficiency


## 问题描述

目前`general_qa`、`ToolBench-Static` 这两个数据集里，涉及的Rouge和BLEU评分方式里，评分都比较低。请问后续会调整对应的评分逻辑或修改评分方式吗？还是说我使用方式有问题。


## EvalScope 版本（必填）
v1.0.1

### 问题详情

查了一下资料，好像是因为Rouge和BLEU本身评分方式，和我们的使用场景不太匹配。比如`general_qa`里，我们的问题是`中国的首都是哪里？`，我们期望的答案是`中国的首都是北京`，而大模型回答会附带详细解释，文字很多，触发BLEU评分的过长惩罚机制。尝试调整过几次prompt_template都没有达到预期的效果。

以下截图是qwen3-32B的回答。

<img width="1442" height="1432" alt="Image" src="https://github.com/user-attachments/assets/b92f997c-7372-4866-87b6-4b5982d5a084" />

1. general_qa支持用LLM裁判进行打分，具体参考这里：https://evalscope.readthedocs.io/zh-cn/latest/advanced_guides/custom_dataset/llm.html#id5
2. ToolBench主要关注Act.EM、HalluRate和Avg.F1指标

这就说的通了，找个聪明点的模型当裁判，那样评分确实应该好看些

emm，根据[文档](https://evalscope.readthedocs.io/zh-cn/latest/advanced_guides/custom_dataset/llm.html#id5)里的说明，如果采用裁判模型，那评分模式就变成了mean_acc. 

那对于general_qa数据集，对于BLEU和Rouge评分方式，在evalscope1.0.1版本，目前测试不管是qwen2.5B还是qwen3-32B的评分都很低。但是印象中0.17版本评分还算正常。

所以在后续版本，general_qa的BLEU和Rouge评分方式会调整吗，还是说需要我们调整prompt之类的，还是说我用的不太对。

感谢回答。

BLEU和Rouge评分方式没有变化，这两个指标不涉及语义理解，其实不太适合开放的大模型评测，用裁判模型会好一些

好的，谢谢
Repository: modelscope/evalscope
Issue: eval 能否指定输入最大长度
Root cause: Unimplemented Feature Gap

## 自查清单

在提交 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，确认这不是一个重复的问题

## 问题描述
模型能力评测，需要指定输入最大长度，比如只评测输入长度16K以下的样例准确率，能实现吗？
这里输入参数只能指定最大输出长度
evalscope eval \
  --model *model_path* \
  --api-url http://127.0.0.1:8001/v1/chat/completions \
  --eval-type server \
  --datasets docmath \
  --limit 30 \
  --generation-config '{"do_sample":false,"temperature":0.6,"max_prompt_length":16000, "max_new_tokens":1000,"extra_body":{"chat_template_kwargs":{"enable_thinking": false}}}' \
  --judge-strategy llm_recall 
  --judge-model-args ******

## EvalScope 版本（必填）
v1.0.1

## 使用的工具
- [x] Native / 原生框架


## 执行的代码或指令

evalscope eval \
  --model *model_path* \
  --api-url http://127.0.0.1:8001/v1/chat/completions \
  --eval-type server \
  --datasets docmath \
  --limit 30 \
  --generation-config '{"do_sample":false,"temperature":0.6,"max_prompt_length":16000, "max_new_tokens":1000,"extra_body":{"chat_template_kwargs":{"enable_thinking": false}}}' \
  --judge-strategy llm_recall 
  --judge-model-args ******

## 错误日志

  File "/opt/ac2/lib/python3.12/site-packages/openai/_base_client.py", line 1000, in request
    raise APITimeoutError(request=request) from err
openai.APITimeoutError: Request timed out.

## 运行环境

- 操作系统：
- Python版本：3.12.7

## 其他信息

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


不支持设置最大长度，不过你可以设置`--ignore-errors`参数来跳过出错的样例

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: 报错 ImportError: cannot import name 'apply_chunking_to_forward' from 'transformers.modeling_utils'
Root cause: External Dependency Breakage

python 3.9.2
transformers==4.56.0

报错ImportError: cannot import name 'apply_chunking_to_forward' from 'transformers.modeling_utils' (/usr/local/conda/lib/python3.9/site-packages/transformers/modeling_utils.py) ，看了一眼应该是在torch_utils 文件里？

`apply_chunking_to_forward` is now moved to `transformers.pytorch_utils`, you can do temporary fix in the source codes:
```
from transformers.pytorch_utils import apply_chunking_to_forward # change modeling_utils to pytorch_utils
```

main分支已修复该问题

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: 'NoneType' object has no attribute 'startswith'
Root cause: Validation Gap

# Issue 模板填写

## 自查清单
在提交 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,确认这不是一个重复的问题

## 问题描述
在使用 `evalscope app` 进行评测结果可视化时，当评测结果中的 `prediction` 和 `extracted_prediction` 字段同时为 `None` 时，程序会报错。

**问题根因**：
`evalscope/benchmarks/general_arena/utils.py` 中的 `process_review_item()` 函数在处理 `Generated` 字段时，可能会将 `None` 值传递给 `convert_markdown_image()` 函数，而该函数的参数类型定义为 `str`，不接受 `None`，导致类型错误。

## EvalScope 版本（必填）
v2.0.0

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

## 执行的代码或指令

**执行命令**：
```bash
evalscope app
```

**相关代码片段**：

`evalscope/benchmarks/general_arena/utils.py`:
```python
def process_review_item(review_result: ReviewResult) -> list:
    """
    Process a ReviewResult object to extract relevant information.
    Args:
        review_result: ReviewResult object or dict (for backward compatibility)
    Returns:
        list: List of processed review items with necessary information.
    """
    # New format using ReviewResult
    sample_score = review_result.sample_score
    prediction = sample_score.score.prediction
    target = review_result.target
    extracted_prediction = sample_score.score.extracted_prediction
    raw_d = {
        'Index': str(review_result.index),
        'Input': review_result.input,
        'Question': review_result.input,  # Use input as question
        'Generated': prediction if prediction != extracted_prediction else extracted_prediction,  # ⚠️ 问题所在
        'Gold': target,
        'Pred': extracted_prediction,
        'Score': sample_score.score.model_dump(exclude_none=True),
    }
    return [raw_d]
```

`evalscope/app/ui/single.py`:
```python
generated_md = convert_markdown_image(row['Generated'])  # ⚠️ 接收到 None 导致错误
```

`evalscope/app/utils/text_utils.py`:
```python
def convert_markdown_image(text: str):  # ⚠️ 类型签名要求 str，但可能接收到 None
    pass
```

`evalscope/api/metric/scorer.py`:
```python
class Score(BaseModel):
    extracted_prediction: Optional[str] = Field(default=None)
    """Answer extracted from model output (optional)"""
    prediction: Optional[str] = Field(default=None)
    """Original prediction text from the model (optional)"""
```

## 运行环境
- 操作系统：Ubuntu 22.04
- Python版本：3.11

## 其他信息

### 问题分析

1. **数据流向**：
   ```
   ReviewResult.score.prediction/extracted_prediction (Optional[str])
   → process_review_item() 构建 raw_d['Generated']
   → convert_markdown_image(text: str) 期望非空字符串
   ```

2. **触发条件**：
   当 `prediction` 和 `extracted_prediction` 同时为 `None` 时：
   ```python
   'Generated': None if None != None else None  # 结果为 None
   ```
Repository: modelscope/evalscope
Issue: 自定义评测集问答题格式下是否支持指标acc
Root cause: Documentation Deficiency

## 自查清单

在提交 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，确认这不是一个重复的问题

## 问题描述
自定义评测集为数值推理问题，为问答形式，官方文档中写着“”有参考答案问答，默认评测指标为ROUGE和BLEU“，请问当前是否支持指标acc，如何实现

## EvalScope 版本（必填）
v1.0.2

## 使用的工具
- [x] Native / 原生框架


支持acc指标，但需要配置LLM judge来实现，因为general qa中模型生成的内容没有格式限制，需要一个judge模型来 打分，具体参考这里：https://evalscope.readthedocs.io/zh-cn/latest/advanced_guides/custom_dataset/llm.html#id5 方法2. 基于LLM的评测

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