zhiminy/EvalEng huggingface dataset:
Repository: modelscope/evalscope
Issue: can we set sampling_params  when benchmark performance?
Root cause: Documentation Deficiency

## Problem Description

Can we set sampling_params when benchmark performance?

Currently we found grammar check in sglang engine may influence the performance, this can be enabled by like "json_schema": '{"type": "object"}' in sampling_params. But it seems currently benchmark tool can not set this.

You can set additional parameters in JSON format with the `--extra-args` option, refer to https://evalscope.readthedocs.io/en/latest/user_guides/stress_test/parameters.html#model-settings
Repository: modelscope/evalscope
Issue: 评测集支持问题
Root cause: Documentation Deficiency

使用evalscope 1.4.0时发现个别评测集在文档中[https://evalscope.readthedocs.io/zh-cn/latest/get_started/supported_dataset/llm.html#llm](url)是支持的，但使用命令评测时候却报错

- 命令：evalscope eval --model my_model --datasets bc4chemd
- 报错：ValueError: Benchmark bc4chemd not found, available benchmarks: ['a_okvqa', 'aa_lcr', 'ai2d', 'aime24', 'aime25', 'alpaca_eval', 'amc', 'arc', 'arena_hard', 'bbh', 'bfcl_v3', 'bfcl_v4', 'biomix_qa', 'blink', 'broad_twitter_corpus', 'cc_bench', 'ceval', 'chartqa', 'chinese_simpleqa', 'cmmlu', 'cmmmu', 'cmmu', 'coin_flip', 'commonsense_qa', 'competition_math', 'conll2003', 'copious', 'cross_ner', 'data_collection', 'docmath', 'docvqa', 'drivel_binary', 'drivel_multilabel', 'drivel_selection', 'drivel_writing', 'drop', 'eq_bench', 'evalmuse', 'fleurs', 'frames', 'gedit', 'genai_bench', 'general_arena', 'general_fc', 'general_mcq', 'general_qa', 'general_t2i', 'general_vmcq', 'general_vqa', 'genia_ner', 'gpqa_diamond', 'gsm8k', 'gsm8k_v', 'hallusion_bench', 'halueval', 'harvey_ner', 'health_bench', 'hellaswag', 'hle', 'hpdv2', 'humaneval', 'ifbench', 'ifeval', 'infovqa', 'iquiz', 'librispeech', 'live_code_bench', 'logi_qa', 'maritime_bench', 'math_500', 'math_qa', 'math_verse', 'math_vision', 'math_vista', 'mbpp', 'med_mcqa', 'mgsm', 'micro_vqa', 'minerva_math', 'mit_movie_trivia', 'mit_restaurant', 'mm_bench', 'mm_star', 'mmlu', 'mmlu_pro', 'mmlu_redux', 'mmmu', 'mmmu_pro', 'mri_mcqa', 'multi_if', 'multiple_humaneval', 'multiple_mbpp', 'music_trivia', 'musr', 'needle_haystack', 'ocr_bench', 'ocr_bench_v2', 'olympiad_bench', 'omni_bench', 'omni_doc_bench', 'ontonotes5', 'openai_mrcr', 'piqa', 'poly_math', 'pope', 'process_bench', 'pubmedqa', 'qasc', 'race', 'real_world_qa', 'scicode', 'science_qa', 'sciq', 'seed_bench_2_plus', 'simple_qa', 'simple_vqa', 'siqa', 'super_gpqa', 'swe_bench_lite', 'swe_bench_verified', 'swe_bench_verified_mini', 'tau2_bench', 'tau_bench', 'tifa160', 'tool_bench', 'trivia_qa', 'truthful_qa', 'visulogic', 'vstar_bench', 'winogrande', 'wmt24pp', 'wnut2017', 'zebralogicbench', 'zerobench']
- 不支持的数据集示例：anat_em，bc4chemd，bc5cdr...

新版本还没发布，使用这个数据集需要源码安装
Repository: modelscope/evalscope
Issue: 有哪些加快运行速度的方法？


## EvalScope 版本（必填）
1.4.0


## 执行的代码或指令

```python
from evalscope import run_task, TaskConfig

# Configure evaluation task
task_cfg = TaskConfig(
    model='/path/to/Qwen3-8B',
    datasets=['ceval'],
    limit=5
)

# Start evaluation
run_task(task_cfg)

```




可以尝试设置更大的 eval_batch_size
Repository: modelscope/evalscope
Issue: Terminal-Bench-2.0 可以提前把数据集和容器离线下载准备好吗
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，确认这不是一个重复的问题

## 问题描述

请简要描述您遇到的问题。

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

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

## 执行的代码或指令

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

## 错误日志

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

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

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


Terminal-Bench-2.0 不支持离线评测，测试期间也需要访问网络来安装一些依赖

> Terminal-Bench-2.0 不支持离线评测，测试期间也需要访问网络来安装一些依赖

我这边是本地部署好的在线API模型，但是本地环境无法docker pull，可以提前准备好需要的docker镜像吗

terminal-bench所需的镜像定义在每个任务中，你需要查看具体的任务去pull对应的镜像  https://github.com/laude-institute/terminal-bench-2.git
Repository: modelscope/evalscope
Issue: DeepSeek-v3.2 + live_code_bench数据集测评COT模式
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，确认这不是一个重复的问题

## 问题描述

测试deepseek-v3.2的时候看到论文提到livecodeben的一些测评配置，例如三点
范围区间， pass@1，和COT

![Image](https://github.com/user-attachments/assets/30d02b7e-871b-4891-964a-00a10513c18a)

使用evalscope如下命令是否已经满足pass@1，和COT，尤其是COT，我是配置到prompt template，请问有别的方式开启COT吗？

请简要描述您遇到的问题。

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

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

## 执行的代码或指令

`run_livecodebench_eval(){
    timestamp=$(date +%Y%m%d_%H%M%S)
    evalscope eval \
    --model ${MODEL_PATH} \
    --api-url ${BASE_URL}/v1/chat/completions \
    --api-key "EMPTY" \
    --eval-type openai_api --datasets live_code_bench \
    --generation-config '{"max_tokens": 65536,"temperature": 1.0, "top_p": 0.95, "extra_body": {"chat_template_kwargs":{"thinking": true}}}' \
    --timeout 10000 \
    --stream \
    --seed 42 \
    --judge-worker-num 10 \
    --rerun-review \
    --eval-batch-size $EBS \
    --dataset-args '{"live_code_bench": {"dataset_id":"/data/evalscope/data/code_generation_lite", "extra_params": {"start_date": "2024-08-01", "end_date": "2025-04-30"}, "filters": {"remove_until": "</think>"}, "prompt_template": "### Question:\n{question_content}\n\n{format_prompt} ### Answer: (use the provided format with backticks)\n\nLet us think step by step\n\n", "aggregation": "pass_at_k"}}' \
    --work-dir ./outputs/livecodebench_mock 2>&1 | tee logs/livecodebench_${timestamp}.log
}`


- 操作系统：
- Python版本：

## 其他信息

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


目前要使用COT模式需要自行修改数据集的prompt，你提供的运行命令默认是pass@1

> 目前要使用COT模式需要自行修改数据集的prompt，你提供的运行命令默认是pass@1

好的谢谢，那COT是在prompt_template主动加上Let us think step by step
Repository: modelscope/evalscope
Issue: trivia_qa无法指定5-shot
Root cause: Unimplemented Feature Gap

我在评估这个数据集的时候，指定了5-shot，发现根本没有拼接模板，只支持0-shot。请问什么时候可以支持呢？

默认为0-shot的数据集不支持自动拼接模版，需要自行修改prompt template来实现fewshot
Repository: modelscope/evalscope
Issue: livecodebench review疑问
Root cause: Documentation Deficiency

我发现livecodebench review是单进程串行评估的，而livecodebench官方支持多进程评估。我想问一下这里为什么改成单进程，是因为并行评估有什么问题吗
evalscope\benchmarks\live_code_bench\evaluate_utils.py
```
def evaluate_generations(
    samples_list: list,
    generations_list: list[list[str]],
    debug: bool = False,
    num_process_evaluate: int = 16,  # This parameter will be unused
    timeout=6,
):
    """We take the list of code generations and try to compile them and the run
    their corresponding unit tests which are retrieved from the APPS dataset.

    Args:
        generations: list of code generations (same order as samples in APPS
            dataset)
        level: difficulty level used in the generation, can be "all",
            "introductory", "interview" or "competition"

    Returns:
        results: dictionary of results, key is the problem index, value is
            a list of results for each generation
        [-2] = compile error, [-1] = runtime error [False] = failed test
            case [True] = passed test case
    """
    results = {}
    metadata = {}

    for index in range(len(generations_list)):
        problem_generations = generations_list[index]
        sample = samples_list[index]

        result, meta = evaluate_generations_by_problem(problem_generations, sample, debug, timeout)
        results[index] = result
        metadata[index] = meta

    assert len(results
               ) == len(generations_list), f'results = {len(results)} inputs = {len(generations_list)} {results=}'

    return results, metadata
```

设置 `--judge-worker-num 8` 参数可以进行多进程评测
Repository: modelscope/evalscope
Issue: 请教一下，如何使用openai兼容格式的大模型作为评估模型来进行两模型在自定义数据集上的评估任务呢？
Root cause: Documentation Deficiency


今天会更新相关的文档

Refer to:  
1. custom benchmark: https://evalscope.readthedocs.io/zh-cn/latest/advanced_guides/custom_dataset.html
2. vllm/swift/lmdeploy serving: 
    (LLM)  https://evalscope.readthedocs.io/zh-cn/latest/user_guides/opencompass_backend.html
    (VLM) https://evalscope.readthedocs.io/zh-cn/latest/user_guides/vlmevalkit_backend.html


那这样构建的数据集也可以进行竞技场模式和model based的模型测评么。gpt可以自定义url么，感谢

竞技场模式使用方法已更新，请参考：https://evalscope.readthedocs.io/zh-cn/latest/user_guides/arena.html

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

**Running this script results in an error. How can I fix it?**
**- script**
```
python -m evalscope.run \
 --model qwen/Qwen2-0.5B-Instruct \
 --template-type qwen \
 --datasets arc 
```

**- error**
```
Generating test split: 169 examples [00:00, 2188.70 examples/s]
Generating dev split: 5 examples [00:00, 998.88 examples/s]
Traceback (most recent call last):
  File "/root/miniconda3/envs/evalscope_py310/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/root/miniconda3/envs/evalscope_py310/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/workspace/nfs/10_performance/evalscope/package/evalscope/run.py", line 404, in <module>
    main()
  File "/workspace/nfs/10_performance/evalscope/package/evalscope/run.py", line 398, in main
    run_task(task_cfg)
  File "/workspace/nfs/10_performance/evalscope/package/evalscope/run.py", line 345, in run_task
    evaluator = Evaluator(
  File "/workspace/nfs/10_performance/evalscope/package/evalscope/evaluator/evaluator.py", line 101, in __init__
    self.dataset = self.data_adapter.load(dataset_name_or_path=dataset_name_or_path,
  File "/workspace/nfs/10_performance/evalscope/package/evalscope/benchmarks/data_adapter.py", line 79, in load
    dataset = Benchmark.load(dataset_name=dataset_name_or_path,
  File "/workspace/nfs/10_performance/evalscope/package/evalscope/benchmarks/benchmark.py", line 49, in load
    dataset.split = split
```

we will fix this bug

How is the progress?

@Jeremy-J-J pls install from the main branch
```
pip install git+https://github.com/modelscope/evalscope.git@main
```



got it, thx
Repository: modelscope/evalscope
Issue: 请问，评估支持使用昇腾910NPU嘛？
Root cause: Unimplemented Feature Gap

请问，评估支持使用昇腾910 NPU嘛？

暂时不可以，评估的流程依赖推理服务。目前看来主流的推理部署框架比如vLLM、LMDeploy等，支持910的feature暂时还没有见到release出来，可能有在适配中。

感谢指导啊！
另外请问下，咱们评估框架本地评估的话，使用的是什么推理框架呢？
比如本地评估加载千问模型文件，是怎么加载模型文件起推理服务呢？

使用的是`transformer`+`torch`框架进行推理的
本地加载模型的话传入模型路径即可，参考：https://evalscope.readthedocs.io/zh-cn/latest/user_guides/offline_evaluation.html

你使用别的推理框架，例如mindie，或者vllm-npu去启动openai推理接口，再进行测试不就行了

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: 自定义vlm数据集，build_prompt(self, line)  没有执行
Root cause: Documentation Deficiency

按照文档准备了自定义数据集，执行后发现prediction是英文，明明build_prompt方法里：用简短的一个单词问答问题  是中文，测试集的question也是中文，答案怎么是英文？
加了日志信息，发现build_prompt方法没有执行
![image](https://github.com/user-attachments/assets/e028c448-d957-4a91-95eb-73bf1b84343a)


经过测试是可以执行的
<img width="978" alt="image" src="https://github.com/user-attachments/assets/417a368d-033c-4d94-9797-a72256916078">

请问代码是在`evalscope/backend/vlm_eval_kit/custom_dataset.py` 基础上修改的吗？
有没有添加如下代码

```python
# override the default dataset class
CustomVQADataset.load_data = CustomDataset.load_data
CustomVQADataset.build_prompt = CustomDataset.build_prompt
CustomVQADataset.evaluate = CustomDataset.evaluate
```
并在评测前导入该数据集
```python
# 导入自定义数据集
from custom_dataset import CustomDataset
```

是的，就build_prompt 没有执行
![image](https://github.com/user-attachments/assets/a5d992c0-ea33-45db-a12e-991a0747d9f4)


请清空outputs文件夹下的预测结果重新运行脚步。

之前的预测结果不会自动清除，若存在该结果会跳过预测这一阶段，直接进行评测

清空后可以了，谢谢
Repository: modelscope/evalscope
Issue: swift eval 执行自定义数据集：dacite.exceptions.MissingValueError: missing value for field "data"
Root cause: Documentation Deficiency

swift eval  --eval_url http://xxx.net.cn:52010/v1/chat/completions    --eval_dataset no    --eval_is_chat_model true    --model_type Qwen2-72B-Instruct-AWQ     --custom_eval_config cumtomer_config.json

按照custom_dataset.md 准备的用例，执行的时候报错
![image](https://github.com/user-attachments/assets/dfe3dd3f-b3d7-4910-bbfa-209bc2e799e2)


排查后发现是ms-swift项目的client_utils.py#get_model_list_client_async   接口404，
![image](https://github.com/user-attachments/assets/8ebe21b0-f376-470a-b867-8495a19d8897)

<img width="847" alt="image" src="https://github.com/user-attachments/assets/af99925c-fa03-44ef-8353-86632ba1e798">

api后面加/models   404了，这是为啥

请问你的服务使用什么部署的，是否支持OpenAI API的格式

解决了，swift eval --eval_url  地址传的不对，不能传完整的api地址，应该是地址到/v1就行了
错误：http://10.11.17.11:40105/v1/chat/completion
正确：http://10.11.17.11:40105/v1
Repository: modelscope/evalscope
Issue: readme中命令行参数中，--template-type的文档引用失效
Root cause: Documentation Deficiency

https://swift.readthedocs.io/zh-cn/latest/LLM/%E6%94%AF%E6%8C%81%E7%9A%84%E6%A8%A1%E5%9E%8B%E5%92%8C%E6%95%B0%E6%8D%AE%E9%9B%86.html#id4

https://github.com/modelscope/evalscope/pull/134
Repository: modelscope/evalscope
Issue: 使用自定义模板进行评测报错
Root cause: Environment Incompatibility

使用的是百炼提供的免费 CPU 环境
![image](https://github.com/user-attachments/assets/60484ac0-778e-4b10-8676-872b4994b590)
已经提前把模型文件下好了
调用代码
![image](https://github.com/user-attachments/assets/6824439f-5d2d-45be-8293-895d2ce08787)
使用 ms-swift/examples/pytorch/llm/eval_example/custom_config.json 报同样的错误
运行后报错
![image](https://github.com/user-attachments/assets/b505cee6-2501-4da2-ad73-4cdd2c99e359)
![image](https://github.com/user-attachments/assets/ed1782ec-4099-4e64-8437-3775cb526122)

环境信息：
![image](https://github.com/user-attachments/assets/2895485a-8968-481a-bd28-f14443b4a0e4)
![image](https://github.com/user-attachments/assets/b56cdd90-8ed8-452e-88c0-a79dcc6a8c38)


看起来是环境中缺少了rouge_score这个包
请安装
```
pip install rouge_score
```

pip install rouge-score -U 

main分支已更新requirements，强制要求rouge-score>=0.1.0

pip install rouge-score -U
Repository: modelscope/evalscope
Issue: 测试结果指标数值相同
Root cause: Documentation Deficiency

测试时，为什么平均延迟和平均生成第一个token的时间是一样的？
![image](https://github.com/user-attachments/assets/d94ba458-3db3-4256-adde-86c5ef117416)


同问，求问是什么原因

请问您是在非 Steam 模式下的压测吗？

在非 Stream 模式返回的情况下，客户端收到第一个 Token 的延迟 == 整个 Response 的延迟。因此计算结果是相等的。
Repository: modelscope/evalscope
Issue: 访问api 服务，当并发数大于等于500时，出现请求失败
Root cause: Resource Mishandling

![image](https://github.com/user-attachments/assets/66ca442c-ddbb-4a5e-b531-498a420a80b9)
当设置并发数大于等于500时，出现图片上的错误，请问是evalscope的原因嘛，还是api服务的原因？谢谢！

@lxline  帮忙看一下

> ![image](https://private-user-images.githubusercontent.com/61236343/371836208-66ca442c-ddbb-4a5e-b531-498a420a80b9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzIyNTkyNTIsIm5iZiI6MTczMjI1ODk1MiwicGF0aCI6Ii82MTIzNjM0My8zNzE4MzYyMDgtNjZjYTQ0MmMtZGRiYi00YTVlLWI1MzEtNDk4YTQyMGE4MGI5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDExMjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQxMTIyVDA3MDIzMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJlYWRkMmYxZTRhN2Q1ODI4NTU4M2UwODc4ZGEzNGM0NDFmZTQ3Yjg1ZThmNDhmOWE4MTUzYTVmM2NlMTMwNGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.MdBOfgPNCGMeB1QSF2jC8y0Jxa2F53OkpsISNob7-xc) 当设置并发数大于等于500时，出现图片上的错误，请问是evalscope的原因嘛，还是api服务的原因？谢谢！

请问这是什么测试数据集

您可以拉取main分支代码，来使用最新的perf模块尝试，参考[使用指南](https://evalscope.readthedocs.io/zh-cn/latest/user_guides/stress_test/index.html)。



> 由于长时间未收到活动，我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: 模型性能测试报错
Root cause: Environment Incompatibility

evalscope perf --url 'xxxx:8000/v1/chat/completions' --parallel 150 --model '/models/Qwen2.5-7B-instruct/' \
    --log-every-n-query 400 --read-timeout=120 \
    --max-prompt-length 128000 --tokenizer-path "/models/Qwen2.5-7B-instruct/" \
    --api openai --query-template '{"model": "%m", "messages": [{"role": "user","content": "%p"}], "stream": false,"skip_special_tokens": false,"stop": ["
"]}'\
    --dataset openqa --dataset-path '/open_qa.jsonl' \
    --number 10000 \

运行上面命令时，出现以下报错：
![image](https://github.com/user-attachments/assets/b4e10866-0f91-4862-93c9-bd311c749ba7)


@lxline 

您能不能提供一下环境信息（运行设备、版本等）？有助于我们复现该问题。

您可以拉取main分支代码，来使用最新的perf模块尝试，参考[使用指南](https://evalscope.readthedocs.io/zh-cn/latest/user_guides/stress_test/index.html)。


> 由于长时间未收到活动，我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: 基础模型评测（qwen2-7b-chat）报错
Root cause: Documentation Deficiency

无法使用humaneval评测集是为什么
**脚本：**
ASCEND_RT_VISIBLE_DEVICES=0 \
swift eval \
    --model_type qwen-7b-chat \
    --eval_dataset humaneval \
    --infer_backend pt \
    --eval_backend Native \

**报错：**
2024-10-11 14:13:21,560 - evalscope - ERROR - No task found in tasks: ['arc', 'gsm8k', 'mmlu', 'cmmlu', 'ceval', 'bbh', 'general_qa'], got task_name: humaneval

**求解答，感谢！**

swift中native backend目前不支持humaneval，建议使用opencompass backend，`--eval_backend OpenCompass`

补充，详细步骤可参考以下信息：

1. installation
```python
pip install ms-swift[eval]
pip install human-eval      # swift下个版本会集成进来，自动安装。
pip install vllm    # 如果安装则自动走vllm，如果不安装则会使用pt作为infer_backend
```

2. eval
`swift eval --model_type qwen2-7b-instruct --eval_dataset humaneval`
（--eval_backend 默认指向了OpenCompass）

3. 结果示例
```python
dataset                                 version    metric            mode    qwen2-7b-instruct
...
...
gsm8k                                   -          -                 -       -
TheoremQA                               -          -                 -       -
openai_humaneval                        8e312c     humaneval_pass@1  gen     75.00

```
Repository: modelscope/evalscope
Issue: 使用OpenCompass Math数据集压测，可以使用few shot吗
Root cause: Unimplemented Feature Gap

通过OpenCompass Math数据集压测Qwen2.5-72B-Instruct，在zero shot下得分为49.18，远低于83.1，确认一下这里面的压测是不是使用了few-shot，evalscope是否可以支持
https://qwenlm.github.io/zh/blog/qwen2.5-llm/
![image](https://github.com/user-attachments/assets/aa9c3f59-514d-44b8-9174-220e6b268468)


- 关于是否是few-shot，qwen github的eval部分没有找到MATH使用的配置，我也不太清楚
- OpenCompass提供的默认评测是zero-shot，若要使用few-shot，目前evalscope还不支持，但可以修改ms-opencompass库`opencompass/configs/datasets/math/math_gen.py` 来导入配置进行评测，修改为如下代码：
```python
from mmengine.config import read_base

with read_base():
    from .math_4shot_base_gen_43d5b6 import math_datasets
```
![image](https://github.com/user-attachments/assets/f1186194-d344-4bff-8603-a2ddde639132)



多谢，我试一下

@Yunnglin 多谢支持，问题已经解决：https://github.com/QwenLM/Qwen2.5/issues/1020
Repository: modelscope/evalscope
Issue: 模型评估

base模型增量预训练前后可以评估吗？有个类型的清晰得分，看出是否遗忘，如果base可以用，如何使用。

EvalArguments 参数名称  类型  介绍  task  str  评估任务的名称，可选项有 mmlu_test, ceval_validation, cmmlu_test  task_dir  str  包含评估数据集的文件夹路径，默认值为 evaluation。  batch_size  int  每个GPU使用的批量大小，默认值为 4。  seed  int  用于数据加载器的随机种子，默认值为 42。  lang  str  评估使用的语言，可选值为 en、 zh。默认值为 en。  n_shot  int  few-shot 的示例数量，默认值为 5。  save_dir  str  保存评估结果的路径，默认值为 None。 如果该路径已经存在则会抛出错误。  download_mode  str  评估数据集的下载模式，默认值为 DownloadMode.REUSE_DATASET_IF_EXISTS。如果数据集已经存在则重复使用，否则则下载。                  DownloadMode.REUSE_DATASET_IF_EXISTS这个参数怎么设置，本地都有cmmlu和mmlu数据，但是好像还是再下载
Repository: modelscope/evalscope
Issue: 评估代码eval 运行如何不能本地加载数据集？
Root cause: Documentation Deficiency

### examples/train_lora/llama3_lora_eval.yaml 
### model model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct 

 ### method finetuning_type: full
 ### dataset task: mmlu_test
 template: fewshot 
lang: en 
n_shot: 5
 ### output save_dir: saves/llama3-8b/lora/eval  
### eval batch_size: 4  上面的命令 发现得下载数据集，但是evalute下面有mmlu.zip数据集得压缩包，解压了，仍然还得下载，什么情况  ？参数 task_dir 直接设置得evalute路径发现似乎仍然得下载                                                                                                  
   download_mode  str  评估数据集的下载模式，默认值为 DownloadMode.REUSE_DATASET_IF_EXISTS。如果数据集已经存在则重复使用，否则则下载。 如何本地加载？

请问评测时具体的运行命令是什么呢？
基本使用教程参考：https://evalscope.readthedocs.io/zh-cn/latest/get_started/basic_usage.html
Repository: modelscope/evalscope
Issue: C-MTEB上很多测评指标对不上，尤其是检索指标
Root cause: Configuration Error

用这个框架跑出来的指标不对，并且差异很大，尤其是检索数据集
CMTEB参考指标：https://github.com/FlagOpen/FlagEmbedding/tree/master/C_MTEB

请提供一下您评测的模型和数据集，我们复现一下。本身框架接入的就是原始的CMTEB，不存在breaking change。

能否提供一下具体是跑哪些任务 指标没有对齐？  以及实际跑出来的结果可以选一部分列一下。

使用的 pooling_mode是什么呢，是`cls`吗

ok我们验证一下

![image](https://github.com/user-attachments/assets/03258a3a-03e6-435d-a200-a904e0ff25f2)

```
from evalscope.run import run_task
from evalscope.utils.logger import get_logger
import sys
logger = get_logger()


def run_eval(model_name_or_path,prompt,pooling_mode="mean_sqrt_len_tokens",batch_size=128,max_seq_length=512):

    one_stage_task_cfg = {
        "eval_backend": "RAGEval",
        "eval_config": {
            "tool": "MTEB",
            "model": [
                {
                    "model_name_or_path": model_name_or_path,
                    "pooling_mode": pooling_mode,
                    "max_seq_length": max_seq_length,
                    "prompt": prompt,
                    "model_kwargs": {"torch_dtype": "auto"},
                    "encode_kwargs": {
                        "batch_size": batch_size,
                    },
                }
            ],
            "eval": {
                "tasks": [
                    "T2Retrieval",
                    "MMarcoRetrieval",
                    "DuRetrieval",
                    "CovidRetrieval",
                    "CmedqaRetrieval",
                    "EcomRetrieval",
                    "MedicalRetrieval",
                    "VideoRetrieval"
                ],
                "verbosity": 2,
                "output_folder": "outputs",
                "overwrite_results": True,
                "limits":500000
            },
        },
    }

    # Run task
    run_task(task_cfg=one_stage_task_cfg)


if __name__ == "__main__":
    model_name_or_path = sys.argv[1]
    prompt = sys.argv[2]
    pooling_mode = sys.argv[3]
    batch_size = int(sys.argv[4])
    max_seq_length = int(sys.argv[5])
    run_eval(model_name_or_path, prompt, pooling_mode, batch_size, max_seq_length)
```

model_name_or_path = bge-large-zh
prompt = "为这个句子生成表示以用于检索相关文章："
pooling_mode = "cls"
batch_size = 512
max_seq_length = 512

目前该问题已修复，原因是在embedding时给corpus错误添加了prompt，目前评测效果已与`CMTEB`对齐。
请拉取最新的代码并安装，评测`ndcg_at_10`时还请指定`top_k=10`，默认`top_k=5`，也会影响评测结果。
Repository: modelscope/evalscope
Issue: 评估base模型出错
Root cause: Documentation Deficiency

1. 首先我想要评估qwen2.5-3B base模型  
2. base模型的模板是否直接填 qwen就行了 还是说需要 generation 
3. 本地模型加载已下载
4.不联网 如果我需要评估本地cmmLu ceavl mmlu 数据集已下载，mmlu-test下的csv文件
5.base模型评估需要few_shot, 这里面需要设置吗？可以设置吗？不能设置，我该怎么添加，
6.CUDA VISIBLE DEVIE=7 python3 -m evalscope,run.py model ./models/qwen2.5-3B -template-type qwen --datasets cmmlu
 
   目前运行这个代码，发现一直卡顿在  Device:cuda 这个停顿很长时间。后连接超时不清楚什么原因。  

![54e111c5d54201a4ea22576d2493e96](https://github.com/user-attachments/assets/e7cd6f3f-8259-4115-85fd-4ead684616d2)


1. 已下载的本地数据集。
  ```shell
  python evalscope/run.py \
   --model /path/to/ZhipuAI/chatglm3-6b \
   --template-type chatglm3 \
   --datasets arc \
   --dataset-hub Local \
   --dataset-args '{"arc": {"local_path": "/path/to/workdir/data/arc"}}' \
   --limit 10
  ```
  文档链接，https://evalscope.readthedocs.io/zh-cn/latest/user_guides/offline_evaluation.html
2. few_shot
  ```shell
  --dataset-args '{"ceval": {"few_shot_num": 0, "few_shot_random": false}}'
  ```
3. 模板
  base模型一般用default-generation，chat或instruct模型用qwen这种。
  文档链接，https://evalscope.readthedocs.io/zh-cn/latest/get_started/basic_usage.html
Repository: modelscope/evalscope
Issue: 请问怎么设置指定输入输出的token长度，例如：支持1k 2k 4k 等，输出也是可以指定
Root cause: Documentation Deficiency

请问怎么设置指定输入输出的token长度，例如：支持1k 2k 4k 等，输出也是可以指定

- 设置`max_new_tokens` 参数可控制最大输出长度
  参考：https://evalscope.readthedocs.io/zh-cn/latest/get_started/basic_usage.html#id5
- 对于输入长度，token是数据集里给定的，这个得看数据集样本了，不支持指定


thx