zhiminy/EvalEng huggingface dataset:
Repository: modelscope/evalscope
Issue: 疲劳测试OOM
Root cause: Resource Mishandling

## 自查清单

在提交 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进行压测，疲劳测试，压测进程会oom。

## EvalScope 版本（必填）
> pip list | grep eval
evalscope              1.0.2

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

## 执行的代码或指令
```
nohup evalscope perf \
    --parallel 80 \
    --number 376000 \
    --rate 100 \
    --model 'Local/qwen-3-30b' \
    --url 'https://abc.com/v1/chat/completions' \
    --api openai \
    --dataset openqa \
    --connect-timeout 30 \
    --read-timeout 60 > perf_test_202510141038.log 2>&1 &
```

## 错误日志
```
#系统错误日志
kernel: oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=user.slice,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1000.slice/session-14397.scope,task=evalscope,pid=1389987,uid=1000   
kernel: Out of memory: Killed process 1389987 (evalscope) total-vm:17422176kB, anon-rss:14819268kB, file-rss:2560kB, shmem-rss:0kB, UID:1000 pgtables:29576kB oom_score_adj:0
kernel: systemd-journald[769844]: Under memory pressure, flushing caches. 
```
压测程序没有错误日志（只有系统错误日志）
## 运行环境

- 操作系统：Ubuntu
- Python版本：3.13.5

## 其他信息

无


请问evalscope程序正常启动了吗，是运行一段时间之后出现的这个问题吗？

> 请问evalscope程序正常启动了吗，是运行一段时间之后出现的这个问题吗？

正常启动了，能稳定跑1个小时左右。期间的请求也是正常的。但能观测到，内容占用越来越高，直到oom。

benchmark() 里把 376,000 个 send_request 任务都 append 到列表，直到最后才 gather，导致任务对象常驻内存了。我修复一下这个问题。

该问题已修复，你可以安装main分支的代码再试试

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: evalscope 多次评测结果时发现输出不一致
Root cause: External Dependency Breakage

我正在使用最新的evalscope评测humaneval数据集，并使用vllm推理，下面是我的评测脚本
使用evalscope后我观察最终的输出发现output并不完全一致
输入的prompt是同一个prompt，同时vllm使用temperature=0
请问这个现象是合理现象么？

```
# humaneval
evalscope eval \
  --model ${MODEL_PATH} \
  --api-url ${BASE_URL}/${VERSION}/chat/completions \
  --api-key "EMPTY" \
  --eval-type openai_api --datasets humaneval \
  --dataset-args '{"humaneval": {"subset_list":["openai_humaneval"], "filters": {"remove_until": "</think>"}}}' \
  --generation-config max_tokens=16384,temperature=0,safety_level=none \
  --timeout 10000 \
  --limit 2 \
  --seed 1234 \
```

这是有可能的，即使temperature设置为0，模型返回的结果也可能不同

> 这是有可能的，即使temperature设置为0，模型返回的结果也可能不同

十分感谢你的回复，这是什么原因呢请问？ vllm 设置了temperature=0 不是应该每次生成的结果都相同么？ 使用evalscope时候我固定了seed，机器相同跑多次确实得到了不同的结果，这让我很困惑，希望得到您的解答，感谢



你可以看下这个讨论：https://github.com/vllm-project/vllm/issues/17759

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: Unable to run Magistral-Small-2509 benchmark
Root cause: External Dependency Breakage

## Problem Description

Unable to run Magistral-Small-2509 benchmark


## EvalScope Version (Required)
1.1.0

## Executed Code or Instructions

evalscope perf \
    --url "http://127.0.0.1:7999/v1/chat/completions" \
    --parallel 1 4 16 64 \
    --number 100 100 100 100 \
    --model /models/Magistral-Small-2509 \
    --api openai \
    --dataset random \
    --min-prompt-length 1024 \
    --max-prompt-length 1024 \
    --min-tokens 256 \
    --max-tokens 256 \
    --tokenizer-path mistralai/Magistral-Small-2509


## Error Log

2025-10-17 16:56:31 - evalscope - ERROR: Exception in async function 'benchmark': <class 'transformers.models.mistral3.configuration_mistral3.Mistral3Config'>
Traceback (most recent call last):
  File "/home/llmsvc1/venv/lib/python3.10/site-packages/evalscope/perf/utils/handler.py", line 17, in async_wrapper
    return await func(*args, **kwargs)
  File "/home/llmsvc1/venv/lib/python3.10/site-packages/evalscope/perf/benchmark.py", line 184, in benchmark
    api_plugin = api_plugin_class(args)
  File "/home/llmsvc1/venv/lib/python3.10/site-packages/evalscope/perf/plugin/api/openai_api.py", line 31, in __init__
    self.tokenizer = AutoTokenizer.from_pretrained(param.tokenizer_path)
  File "/home/llmsvc1/venv/lib/python3.10/site-packages/modelscope/utils/hf_util/patcher.py", line 285, in from_pretrained
    module_obj = module_class.from_pretrained(
  File "/home/llmsvc1/venv/lib/python3.10/site-packages/transformers/models/auto/tokenization_auto.py", line 1141, in from_pretrained
    tokenizer_class_py, tokenizer_class_fast = TOKENIZER_MAPPING[type(config)]
  File "/home/llmsvc1/venv/lib/python3.10/site-packages/transformers/models/auto/auto_factory.py", line 815, in __getitem__
    raise KeyError(key)
KeyError: <class 'transformers.models.mistral3.configuration_mistral3.Mistral3Config'>


## Running Environment

- Operating System: Ubuntu 22.04.5 LTS
- Python Version: 3.10.12

## Additional Information

No problem running on Qwen3-VL-30B-A3B-Instruct and Qwen3-VL-235B-A22B-Thinking.


This is mainly because the default transformers doesn't support directly loading Mistral models. You need to install mistral_common and set tokenizer_type="mistral". Let me see how to make it compatible.
Repository: modelscope/evalscope
Issue: 模型推理性能压测evalscope perf 能否记录真实压测是输入输出
Root cause: Documentation Deficiency


## 问题描述

我已经按照文档教程，成功执行压测。
但是我发现压测完毕以后，只是输出了性能指标，没有完整的输入输出记录。
希望能够把输入输出保存下来，是否有对应的参数


## EvalScope 版本（必填）
```
!pip list | grep eval
evalscope                                    0.17.1
```



## 执行的代码或指令

执行的命令
```
!evalscope perf \
 --parallel 1 \
 --number 5 \
 --url {base_url} \
 --api-key {my_key} \
 --model deepseek-v3 \
 --log-every-n-query 5 \
 --connect-timeout 6000 \
 --read-timeout 6000 \
 --max-tokens 2048 \
 --min-tokens 2048 \
 --api openai \
 --dataset speed_benchmark \
 --debug \
 --swanlab-api-key 'key' 

```

## 错误日志

执行正常。希望记录完整的大模型输入输出，不知道配置什么参数

## 运行环境

- 操作系统：linux
- Python版本：python 3.12

## 其他信息

无

默认已经记录了模型的输入输出，保存在输出目录的db文件中，参考这里进行数据分析：https://evalscope.readthedocs.io/zh-cn/latest/user_guides/stress_test/custom.html#id2

> Thank you for your feedback! We will close this issue now. If you have any further questions, please feel free to reopen it. If EvalScope has been helpful to you, please consider giving us a STAR to show your support. Thank you!
Repository: modelscope/evalscope
Issue: evalscope perf 输出结果没有官方示例的 performance test summary report
Root cause: Documentation Deficiency



## 问题描述

官方文档：https://evalscope.readthedocs.io/zh-cn/latest/user_guides/stress_test/quick_start.html
官方截图：

<img width="1616" height="1148" alt="Image" src="https://github.com/user-attachments/assets/e210dd2c-d1be-4d8f-8ef0-f964d16254bc" />

我的问题：我按照官方的命令执行以后，并没有上面这个汇总的截图


## EvalScope 版本（必填）
evalscope = 0.17.1


## 使用的工具
- [] Perf / 模型推理压测工具


## 执行的代码或指令

执行命令
```
!evalscope perf \
 --parallel 1 5 10\
 --number 5 25 50 \
 --url {base-url} \
 --api-key {api-key} \
 --model deepseek-v3 \
 --log-every-n-query 5 \
 --connect-timeout 6000 \
 --read-timeout 6000 \
 --max-tokens 2048 \
 --min-tokens 2048 \
 --api openai \
 --dataset speed_benchmark \
 --debug \
 --swanlab-api-key {swanlab-key} 

```


## 错误日志

[output-log.txt](https://github.com/user-attachments/files/22988015/output-log.txt)

## 运行环境

- 操作系统：linux ubuntu
- Python版本：3.12



这个报告会打印在控制台中，log文件中是没有的

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: eval 时选择 openai_api 怎么设置线程数量
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，确认这不是一个重复的问题

## 问题描述

请简要描述您遇到的问题。
1. eval 时选择 openai_api 没找到设置线程数量的参数，调用时长有点长，请问支持多线程数量调用嘛。
2. 我在 eval-type 选择 service 时，报错如下

> ValueError: Model API 'service' is not registered. Available model APIs: ['mock_llm', 'openai_api', 'server', 'llm_ckpt', 'checkpoint', 'text2image', 'image_editing']

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

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

## 执行的代码或指令

请提供您执行的主要代码或指令。
`evalscope eval --model gsm8k-verl --api-url http://localhost:8080/v1 --api-key EMPTY --eval-type openai_api --datasets gsm8k --parallel 1 --number 5`

## 错误日志

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

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

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


你的这段命令应该这样写，使用--eval-batch-size参数：
```
evalscope eval --model gsm8k-verl --api-url http://localhost:8080/v1 --api-key EMPTY --eval-type openai_api --datasets gsm8k --eval-batch-size 32
```
这里有全部参数说明：https://evalscope.readthedocs.io/zh-cn/latest/get_started/parameters.html#id5
Repository: modelscope/evalscope
Issue: 同一个模型在0.17版本能够返回正确结果，0.16版本无法返回正确结果
Root cause: External Dependency Breakage

evalscope0.16版本和0.17版本，调用的是同样的openai的版本都是1.70，用同样的请求返回的结果差异很大
1）0.16调用openai 返回的是： ChatCompletion(id='chatcmpl-bddfac476dd1481fa70b4960026c3329', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='<think>\n\n</think>\\n</think>', refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=[], reasoning_content=None), stop_reason=None)], created=1760954875, model='Qwen3-32B', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=6, prompt_tokens=142, total_tokens=148, completion_tokens_details=None, prompt_tokens_details=None), prompt_logprobs=None) 
其中content='<think>\n\n</think>\\n</think>' 没有正确的结果。

2）用0.17返回的是：ChatCompletion(id='chatcmpl-80b8abe5a2f149658ecdde8e4cd1a5d8', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='<think>\\n</think>B', refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=[], reasoning_content=None), stop_reason=None)], created=1760955331, model='Qwen3-32B', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=5, prompt_tokens=175, total_tokens=180, completion_tokens_details=None, prompt_tokens_details=None), prompt_logprobs=None) 

其中content='<think>\\n</think>B', 有正确答案，这是为什么

网上查了查说是 两个版本对 stop token 和输出截断的处理不同导致的

建议使用最新版本的evalscope，目前是1.1.0，旧版本的不再维护且新版本会有一些bug修复

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

我其实挺想知道 上面这个问题是什么原因导致的，我这边只能看到，通过一个template 模板将准确答案强制数据了，在网上查了一下可能是这个原因，不知道对不对：016版本，可能因 token 限制、stop token 设置等原因截断了答案部分；
Repository: modelscope/evalscope
Issue: livecodebench使用sandbox时是否能支持多进程？
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)
- [ ] 我已搜索并查看了现有的 issues，确认这不是一个重复的问题

## 问题描述

https://github.com/modelscope/evalscope/blob/317dafe8e44f88288d40dc1e242300115adee10c/evalscope/benchmarks/live_code_bench/live_code_bench_adapter.py#L100

## EvalScope 版本（必填）
main

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

## 执行的代码或指令

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

## 错误日志

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

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

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


使用sandbox是支持多线程处理的，不需要在livecodebench里面进行设置，而是在TaskConfig中设置 --judge-worker-num 这个参数。此外，使用sandbox这里有一个文档可以参考：https://evalscope.readthedocs.io/zh-cn/latest/user_guides/sandbox.html

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: top_p、top_k 参数设置

我先问下，评测的时候，不设置top_p、top_k 参数，那这两个参数默认是多少呀？
评测代码如下设置： 
   generation_config={
        'max_tokens': 32768,
        'temperature': 0,
        'n': 1,
    }

不设置top_p、top_k 参数，两个默认就是None，使用的你模型或模型服务的默认配置
Repository: modelscope/evalscope
Issue: 模型思考效率评估出错
Root cause: External Dependency Breakage

## 自查清单

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

## 问题描述

按照该文档中的方法https://evalscope.readthedocs.io/zh-cn/latest/best_practice/think_eval.html，进行模型思考评估时，报错  KeyError: 'choices'

<img width="1891" height="664" alt="Image" src="https://github.com/user-attachments/assets/a1ce24f7-3a85-4206-a95d-42d5d6a4faee" />

<img width="957" height="629" alt="Image" src="https://github.com/user-attachments/assets/f4874cd6-55e1-4759-b857-879cf7e4975e" />

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

## 执行的代码或指令

model_config = dict(
    report_path = '/home/dcu1/wx/evalscope-test/outputs/20251022_032840',  # 上一步模型推理结果路径
    model_name = 'DeepSeek-R1',  # 模型名称
    tokenizer_path = '/home/dcu1/wx/evalscope-test/DeepSeek-R1',  # 模型tokenizer路径，用于计算token数量
    dataset_name = 'math_500',  # 上一步数据集名称
    # subsets = ['Level 1', 'Level 2', 'Level 3', 'Level 4', 'Level 5'],  # 上一步数据集子集
    subsets = ['Level 1'],  # 上一步数据集子集,
    split_strategies='separator',  # 推理步骤分割策略，可选值为separator、keywords、llm
    judge_config=judge_config
)

max_tokens = 20000  # 筛选token数量小于max_tokens的输出，用于提升评测效率
count = 2  # 每个子集筛选count条输出，用于提升评测效率

run_task(model_config, output_dir='./outputs', max_tokens=max_tokens, count=count)


## 运行环境

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


由于evalscope版本更新，这部分代码有breaking-change，建议先使用v0.17.1版本来运行测试

使用v0.17.1版本，仍然报错 KeyError: 'choices'
Repository: modelscope/evalscope
Issue: 询问code类型精度评测数据集支持时间
Root cause: Unimplemented Feature Gap

## 自查清单

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

## 问题描述

请问是否有计划支持如下这些code类型的精度评测数据集，有的话大概在什么时间支持呢：
Codeforces (Percentile)
Codeforces (Rating)
SWE Verified (Resolved)



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



请问你希望支持的Codeforces是哪个版本，能否提供具体的链接？

此外SWE-bench比较复杂，具体接入方法还在计划中。

> 请问你希望支持的Codeforces是哪个版本，能否提供具体的链接？
> 
> 此外SWE-bench比较复杂，具体接入方法还在计划中。

sorry，我也不是很清楚codeforces需要使用哪个版本，知晓这个数据集是因为deepseek-R1在huggingface上公布的数据集评测中有这一项。
Repository: modelscope/evalscope
Issue: TAU bench 得分异常的低
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，确认这不是一个重复的问题

## 问题描述
Model: Qwen/Qwen3-Coder-30B-A3B-Instruct 

运行 TAU Benchmark retail 部分得分异常，在这之前使用相同的 inference server 已经跑过 bfcl-v3，得分正常

```
import os
from evalscope import TaskConfig, run_task

task_cfg = TaskConfig(
    model='qwen3-coder',
    api_url='http://localhost:30000/v1',
    #api_key=os.getenv('DASHSCOPE_API_KEY'),
    eval_type='openai_api',  # 使用API模型服务
    datasets=['tau_bench'],
    eval_batch_size=64,
    dataset_args={
        'tau_bench': {
            'subset_list': ['retail'],
            'extra_params': {
                'user_model': 'qwen3-coder', 
                'api_base': 'http://localhost:30000/v1',
                'generation_config': {
                    'temperature': 0.7,
                    'max_tokens': 32768
                }
            }
        }
    },
    generation_config={
        'temperature': 0.6,
        'n': 1,
        'max_tokens': 4096,
    },
    analysis_report=True,
#    generation_config={
#        'temperature': 0.7,
#        'max_tokens': 32768,
#        'top_p': 0.8,
#        'top_k': 20,
#        'repetition_penalty': 1.05,
#    },
#    limit=10,  # 限制评测数量，便于快速测试，正式评测时建议去掉此项
#    ignore_errors=True,
)
run_task(task_cfg=task_cfg)
```
2025-10-23 07:10:33 - evalscope - INFO: Overall report table:
+-------------+-----------+-------------+----------+-------+---------+---------+
| Model       | Dataset   | Metric      | Subset   |   Num |   Score | Cat.0   |
+=============+===========+=============+==========+=======+=========+=========+
| qwen3-coder | tau_bench | mean_Pass^1 | retail   |   115 |   0.087 | default |
+-------------+-----------+-------------+----------+-------+---------+---------+

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

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

## 执行的代码或指令

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

## 错误日志

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

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

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


建议你换一个user model再试一下，换成通用模型，不要使用code模型，例如gpt4-o
Repository: modelscope/evalscope
Issue: [Bug] CompetitionMathAdapter 缺少从模型预测中提取答案的 extract_answer 方法
Root cause: Unimplemented Feature Gap

PROMPT_TEMPLATE = """
Problem:
{question}

Please reason step by step, and put your final answer within \\boxed{{}}.
""".lstrip()nchmarks/competition_math/competition_math_adapter.py`

## 🔍 问题分析

### 当前实现

`CompetitionMathAdapter` 只在 `record_to_sample` 方法中使用了 `extract_answer` 来处理**标准答案**：

```python
def record_to_sample(self, record: Dict[str, Any]) -> Sample:
    from evalscope.metrics.math_parser import extract_answer

    return Sample(
        input=record['problem'],
        target=extract_answer(record['solution']),  # 仅用于标准答案
        subset_key=record['level'],
        metadata={
            'reasoning': record.get('solution', ''),
            'type': record.get('type', ''),
        },
    )
```

但是**没有实现** `extract_answer(self, prediction: str, task_state: TaskState)` 方法来从**模型预测**中提取答案。

### 期望行为

提示模板要求模型将答案放在 `\boxed{}` 中：

```python
PROMPT_TEMPLATE = """
Problem:
{question}

Please reason step by step, and put your final answer within \\boxed{{}}.
""".lstrip()
```

但如果没有 `extract_answer()` 方法，适配器无法从模型响应的 `\boxed{...}` 格式中提取答案。

### 与 GSM8K 的对比

`GSM8KAdapter` 正确实现了这个方法：

```python
def extract_answer(self, prediction: str, task_state: TaskState):
    from evalscope.filters.extraction import RegexFilter
    
    regex = RegexFilter(regex_pattern=r'(-?[0-9.,]{2,})|(-?[0-9]+)', group_select=-1)
    res = regex(prediction)
    return res.replace(',', '').replace('+', '').strip().strip('.')
```

## 💡 建议的解决方案

为 `CompetitionMathAdapter` 添加 `extract_answer` 方法：

```python
def extract_answer(self, prediction: str, task_state: TaskState) -> str:
    """
    从模型预测中提取答案。
    根据提示模板，答案应该在 \\boxed{answer} 格式中。
    
    Args:
        prediction: 模型的预测文本
        task_state: 任务状态，用于额外的上下文
        
    Returns:
        str: 提取的答案
    """
    from evalscope.metrics.math_parser import extract_answer
    
    # 使用与处理标准答案相同的提取逻辑
    return extract_answer(prediction)
```

## 🔄 影响范围

缺少这个方法会导致：
- 评测无法正确提取模型预测的答案
- 准确率计算错误
- MATH 数据集的基准评测功能失效

## 📋 修复清单

- [ ] 为 `CompetitionMathAdapter` 添加 `extract_answer` 方法
- [ ] 添加单元测试验证答案提取功能正确
- [ ] 使用包含 `\boxed{...}` 格式的实际模型输出进行测试
- [ ] 验证修复后评测指标计算正确

## 🔗 相关文件

- `evalscope/benchmarks/competition_math/competition_math_adapter.py` - 需要修复
- `evalscope/benchmarks/gsm8k/gsm8k_adapter.py` - 参考实现
- `evalscope/metrics/math_parser.py` - 包含 `extract_answer` 工具函数

## 📌 环境信息

- EvalScope 版本: v1.1.0
- Python 版本: 3.10+

该问题已修复

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: 请求更多Code相关数据集支持
Root cause: Unimplemented Feature Gap

希望可以支持SWE Verified，BrowseComp，BrowseComp-zh，Terminal-bench，SWE-bench Multilingual，tau2-bench, live-code-bench-v6, codeforces指标，这些llm的评测指标都不支持，希望可以支持下。

live-code-bench-v6 已经支持，其他数据集在支持中

已经支持了 SWE Verified
Repository: modelscope/evalscope
Issue: Feature request: add summarisation and translation benchmarks
Root cause: Unimplemented Feature Gap

Hi @Yunnglin I noticed that some summarisation and translation benchmarks are currently supported through OpenCompass, but personally, I’m not a big fan of relying on that library.

Would it be possible to support these two tasks directly in evalscope instead? Here are some well-known datasets that could be great starting points:
 - Summarisation: [CNN / Daily Mail](https://huggingface.co/datasets/abisee/cnn_dailymail)
 - Translation: [WMT2019](https://huggingface.co/datasets/wmt/wmt19)

For evaluation metrics:
 - Summarisation: ROUGE and METEOR ([reference paper ](https://arxiv.org/pdf/1704.04368))
 - Translation: COMET and BERTScore ([reference paper ](https://arxiv.org/pdf/2502.14338v2))

I'm definitely not an expert in these two tasks, but I'd really love to see these benchmarks added to evalscope.

Thanks for the suggestion! We'd definitely be interested in supporting these summarization and translation benchmarks natively in evalscope.

The datasets and metrics you mentioned are great choices. We'll plan to implement these and submit a PR soon.

Hi all! Thanks for the great suggestions.

I’ve implemented the WMT24 translation benchmark into the EvalScope framework in #938.

Would also be happy to work on adding summarization tasks next, as they share a similar structure with the current implementation.

@Epsilon617 Great work! I've made some modifications to the WMT24 implementation to enable batch metric computation, and it's already been merged. Thanks so much for your PR, and I'm excited to see your upcoming work on summarization tasks!
Repository: modelscope/evalscope
Issue: Clarification on --repeat argument

Hi, I noticed that in issue #387, someone mentioned pass@k and cons@k, but it seems like evalscope doesn’t currently support these metrics yet, am I understanding that right?

I just want to confirm something: the `--repeat` argument, as I understand it, reruns the same evaluation multiple times. But when we use something like `--repeat 64` together with `--metrics_list ['acc']`, does that effectively compute something similar to a majority vote? In that case, would it be conceptually the same as `cons@64`?

Warm regards, 
Yang

@penguinwang96825 Thank you for your questions! Let me clarify these points for you:

**Regarding the `--repeat n` parameter:**
The `--repeat n` parameter reruns the same sample n times and computes the **average** of the n results by default, rather than performing majority voting. So it's not conceptually equivalent to cons@64.

**Regarding pass@k support:**
Actually, evalscope **does support** pass@k metrics now. You can find the implementation here: https://github.com/modelscope/evalscope/blob/9057a00bb66b3f68bf635c7e8f4ba9dbb5eda8c0/evalscope/benchmarks/humaneval/humaneval_adapter.py#L98-L109

**Regarding cons@k support:**
You're correct that cons@k is not currently supported. However, adding support for this metric should be relatively straightforward to implement.

If you have a need for cons@k, could you describe your specific use case? That would help us determine the most appropriate way to implement this feature.

@Yunnglin Thans for the quick reply! Regarding cons@k, yes, that’s exactly the feature I was hoping to see supported. 

The motivation comes from prior work such as [Wang et al., 2022](https://arxiv.org/pdf/2203.11171), which shows that majority voting (or self-consistency) can outperform simple averaging, not only on multiple-choice QA tasks but also on free-form QA. The key idea is that majority voting marginalises over reasoning paths to yield a more reliable final answer. Subsequent studies (e.g., [Zhang et al., 2023](https://aclanthology.org/2023.emnlp-main.67.pdf)) also confirm that self-consistency significantly improves performance in CoT-prompted reasoning tasks across various domains.

So, adding cons@k would make evalscope more aligned with how consistency-based evaluation is increasingly used in LLM benchmarking, particularly for reasoning-heavy datasets.

@penguinwang96825 We actually already support the `vote@k` metric, which follows the same principle as `cons@k` - it's just a different naming convention. You can now set `repeat=k` along with `{'aggregation': 'mean_and_vote_at_k'}` to automatically calculate the related metrics.

For more details, please refer to: https://github.com/modelscope/evalscope/pull/964

This should give you the self-consistency/majority voting functionality you're looking for.


> Thank you for your feedback! We will close this issue now. If you have any further questions, please feel free to reopen it. If EvalScope has been helpful to you, please consider giving us a STAR to show your support. Thank you!