zhiminy/EvalEng huggingface dataset:
Repository: modelscope/evalscope
Issue: Feature request: add more MCQA benchmarks
Root cause: Unimplemented Feature Gap

Hi! evalscope is amazingly good,  I'm honestly so obsessed with adding benchmarks lately.

I noticed that there are many multiple-choice QA (MCQA) datasets that are widely used in literature but haven’t yet been added to evalscope. Some examples include:
 - Social/Commonsense Reasoning: [SiQA](https://aclanthology.org/D19-1454.pdf), [PiQA](https://ojs.aaai.org/index.php/AAAI/article/view/6239/6095), [CommonsenseQA](https://aclanthology.org/N19-1421.pdf), [LogiQA](https://www.ijcai.org/proceedings/2020/0501.pdf)
 - Science/Math/Medical QA: [QASC](https://ojs.aaai.org/index.php/AAAI/article/view/6319/6175), [PubMedQA](https://aclanthology.org/D19-1259.pdf), MRI-MCQA, [MathQA](https://aclanthology.org/N19-1245.pdf)
 - Hallucination: [HaluEval](https://aclanthology.org/2023.emnlp-main.397.pdf)

We've run these datasets ourselves and confirmed that the implementations are correct. Below is a quick summary table of results (subset of benchmarks I mentioned):


| Dataset        | Llama3-8B | Llama3.1-8B | Qwen2.5-3B | Qwen2.5-7B | Qwen2.5-14B |
| :--------------: | :---------: | :-----------: | :----------: | :----------: | :-----------: |
| **SiQA**       | 0.7185    | 0.7236      | 0.7298     | 0.7805     | 0.7856      |
| **PiQA**       | 0.8063    | 0.8270      | 0.7715     | 0.8705     | 0.8917      |
| **CommonsenseQA**       | 0.7453    | 0.7420      | 0.7559     | 0.8206     | 0.8206      |
| **LogiQA**     | 0.4363    | 0.4347      | 0.4347     | 0.5376     | 0.6160      |
| **QASC**       | 0.7624    | 0.7959      | 0.7203     | 0.7959     | 0.8294      |
| **PubMedQA**   | 0.6300    | 0.7090      | 0.5840     | 0.5360     | 0.4480      |
| **MRI-MCQA**   | 0.5258    | 0.5488      | 0.4938     | 0.5595     | 0.6004      |
| **MathQA**     | 0.5528    | 0.6945      | 0.7725     | 0.8328     | 0.8516      |
| **HaluEval-D** | 0.8210    | 0.8022      | 0.5219     | 0.9087     | 0.9404      |
| **HaluEval-Q** | 0.7898    | 0.6833      | 0.4914     | 0.6733     | 0.8839      |
| **HaluEval-S** | 0.7174    | 0.6552      | 0.4545     | 0.5875     | 0.8490      |


Would you be interested in adding these benchmarks to evalscope? I think they’d really strengthen coverage for reasoning and domain-specific evaluation. If positive, I'll submit a PR.

Warm regards, 
Yang

Thank you for this excellent proposal! I'm very interested in adding these MCQA benchmarks to evalscope. 

The datasets you've identified would significantly strengthen our coverage for reasoning and domain-specific evaluation. I really appreciate that you've already validated the implementations and provided the comprehensive benchmark results.

Please go ahead and submit a PR - we'd love to have these benchmarks included!

Thanks again for your contribution to the project.

Since PR #923 has resolved this issue, I'll close it for now. Thanks for all the support!
Repository: modelscope/evalscope
Issue: infor_vqa，doc_vqa数据集在计算指标时出现没有answer的情况
Root cause: Validation Gap

![截屏2024-08-06 18 37 27](https://github.com/user-attachments/assets/e9e87a37-da47-438b-be97-3f64433067eb)

示例中的chartqa是可以的，但是上面这俩不行

评测模型是哪个呢，没有answer是模型没有prediction吗，还是说有prediction无法计算指标


使用 InfoVQA_VAL，DocVQA_VAL 数据集评测，不要使用 InfoVQA_TEST，DocVQA_TEST 这两个test集没有提供 answer
Repository: modelscope/evalscope
Issue: BFCL-v3 数据集分数疑问
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，确认这不是一个重复的问题

## 问题描述

bfcl-v3 数据集跑完后再 outputs/report 下有结果文件，文件中有个 score，但是没有输出到运行后的输出中。想请教下 bfcl-v3 最后的分数应该以 overall 为准，还是以 report 下的 score 为准？

<img width="2698" height="730" alt="Image" src="https://github.com/user-attachments/assets/68c4003a-dafe-4a34-85c7-39fc783cd8ac" />

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

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

## 执行的代码或指令

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

## 错误日志

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

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

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


请以overall的分数为准，report下的score是自动计算的平均值，overall是正确的计算逻辑
Repository: modelscope/evalscope
Issue: MTEB评测如何加载本地数据集
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)
- [] 我已搜索并查看了现有的 issues，确认这不是一个重复的问题

## 问题描述
已经本地下载了数据集[T2Retrieval]，在脚本里指定加载路径，仍然会重新下载数据集.是我路径的指定方式错误吗？


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

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

## 执行的代码或指令
from evalscope import TaskConfig
from evalscope.run import run_task

task_cfg = TaskConfig(
    eval_backend="RAGEval",
    eval_config={
        "tool": "MTEB",
        "model": [
            {
                "model_name": "youtu-embedding",
                "api_base": "http://192.168.0.147:10600/v1",
                "api_key": "123",
                "dimensions": 2048,
                "encode_kwargs": {
                    "batch_size": 30,
                },
            }
        ],
        "eval": {
            "tasks": [
                "T2Retrieval",
            ],
            "dataset_path": "/DATA/LLM/gaojiale/study_project/evalscope/data/T2Retrieval",
            "verbosity": 2,
            "overwrite_results": True,
            "limits": 30,
        },
    },
)


# Run task
run_task(task_cfg=task_cfg)




## 错误日志

无报错，只是会重新下载数据集

## 运行环境

- 操作系统：Linux
- Python版本：3.10

## 其他信息

如果有其他相关信息，请在此处提供。
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)
- [ ] 我已搜索并查看了现有的 issues，确认这不是一个重复的问题

## 问题描述

使用模型推理性能压测脚本传入可视化参数后报错

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

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

## 执行的代码或指令

evalscope perf \
  --parallel 1 10 50 100 200 \
  --number 10 20 100 200 400 \
  --model Qwen3-30B-A3B \
  --url http://192.168.0.147:8997/v1/chat/completions \
  --api openai \
  --dataset random \
  --max-tokens 1024 \
  --min-tokens 1024 \
  --prefix-length 0 \
  --min-prompt-length 1024 \
  --max-prompt-length 1024 \
  --tokenizer-path /DATA/LLM_model/Qwen/Qwen3-30B-A3B \
  --visualizer swanlab \
  --name 'Qwen3-30B-A3B'

## 错误日志

usage: evalscope <command> [<args>]
EvalScope Command Line tool: error: unrecognized arguments: --visualizer swanlab

## 运行环境

- 操作系统：linux
- Python版本：3.10

## 其他信息

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


v1.1.0 使用--swanlab-api-key <api-key>即可
Repository: modelscope/evalscope
Issue: 咨询base model 评测脚本怎么编写

咨询base model 评测脚本怎么编写

1、想咨询为什么fewshot没有填充进去。    evalscope eval \
    --model "$MODEL_DIR" \
    --eval-type openai_api \
    --api-url http://localhost:$PORT/v1 \
    --api-key token-abc123 \
    --datasets aime24 \
    --dataset-args '{"aime24":{"name":"aime24","few_shot_num":1,"few_shot_random":false,"few_shot_prompt_template":"Here are some examples of how to solve similar problems:\n\n{fewshot}\n\nNow solve the following problem. Please reason step by step, and put your final answer within \\boxed{{}}.\n\nQuestion:\n{question}"}}' \
    --work-dir /opt/workspace/evalscope/outputs/output_${RUN_ID} \
    --ignore-errors \
    --eval-batch-size 512 \
    --generation-config '{"max_tokens": 30000}' > /opt/workspace/evalscope/eval_logs/general_evalscope_${RUN_ID}.log 2>&1

aime24 这个数据集不支持fewshot设置，只有本身支持fewshot的数据集才能设置 few_shot_prompt_template 

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: 用evalscope跑reranker评测报错ModuleNotFoundError: No module named 'mteb.encoder_interface'
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，确认这不是一个重复的问题

## 问题描述

用evalscope希望跑reranker评测后报错。

## EvalScope 版本（必填）
1.1.1
mteb版本：2.1.2

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

## 执行的代码或指令
from evalscope.run import run_task
from evalscope.utils.logger import get_logger
logger = get_logger()

one_stage_task_cfg = {
    "work_dir": "outputs",
    "eval_backend": "RAGEval",
    "eval_config": {
        "tool": "MTEB",
        "model": [
            {
                "model_name_or_path": "Qwen/Qwen3-Embedding-0.6B",
                "pooling_mode": None,
                "max_seq_length": 512,
                "prompt": "",
                "model_kwargs": {"torch_dtype": "auto"},
                "encode_kwargs": {
                    "batch_size": 128,
                },
            }
        ],
        "eval": {
            "tasks": [
                "TNews"
            ],
            "verbosity": 2,
            "overwrite_results": True,
            "topk": 10,
            "limits": 500,
        },
    },
}

one_stage_task_cfg = one_stage_task_cfg

run_task(task_cfg=one_stage_task_cfg)


## 错误日志
Traceback (most recent call last):
  File "/workspace/user_code/E2ERAGEvaluation/mteb_evaluation.py", line 39, in <module>
    run_task(task_cfg=one_stage_task_cfg) 
  File "/workspace/user_code/evalscope/evalscope/run.py", line 28, in run_task
    return run_single_task(task_cfg, run_time)
  File "/workspace/user_code/evalscope/evalscope/run.py", line 35, in run_single_task
    outputs = setup_work_directory(task_cfg, run_time)
  File "/workspace/user_code/evalscope/evalscope/run.py", line 68, in setup_work_directory
    from evalscope.backend.rag_eval import Tools
  File "/workspace/user_code/evalscope/evalscope/backend/rag_eval/__init__.py", line 3, in <module>
    from evalscope.backend.rag_eval.utils.embedding import EmbeddingModel
  File "/workspace/user_code/evalscope/evalscope/backend/rag_eval/utils/embedding.py", line 5, in <module>
    from mteb.encoder_interface import PromptType
ModuleNotFoundError: No module named 'mteb.encoder_interface'

## 运行环境

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

## 其他信息

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


降级一下mteb的版本就可以了，pip install mteb==1.38.20
Repository: modelscope/evalscope
Issue: 为什么评测出来的base模型结果跟qwen3 paper上的结果有很大差异
Root cause: Configuration Error

求大佬解答！！

## 执行的代码或指令

   evalscope eval \
    --model "$MODEL_DIR" \
    --eval-type openai_api \
    --api-url http://localhost:$PORT/v1 \
    --api-key token-abc123 \
    --datasets gsm8k \
    --dataset-args '{"gsm8k":{"name":"gsm8k","few_shot_num":5,"few_shot_random":false,"few_shot_prompt_template":"Here are some examples of how to solve similar problems:\n\n{fewshot}\n\nNow solve the following problem. Please reason step by step, and put your final answer within \\boxed{{}}.\n\nQuestion:\n{question}"}}' \
    --work-dir /opt/workspace/evalscope/outputs/output_${RUN_ID} \
    --ignore-errors \
    --eval-batch-size 512 \
    --generation-config '{"max_tokens": 30000}' > /opt/workspace/evalscope/eval_logs/general_evalscope_${RUN_ID}.log 2>&1
Repository: modelscope/evalscope
Issue: 支持caption评测基准
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版本：

## 其他信息

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


caption相关的benchmark也在计划接入中，例如Refcoco等
Repository: modelscope/evalscope
Issue: 群满员

如题，有没有二群

二维码已更新

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: 请问为什么DROP的精度测试集，评测指标选择的是ACC，是出于什么考量；官方的评测指标是F1，并且deepseek-r1在huggingface上公布的drop精度集使用的也是F1。
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，确认这不是一个重复的问题

## 问题描述

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


请问为什么DROP的精度测试集，评测指标选择的是ACC，是出于什么考量；官方的评测指标是F1，并且deepseek-r1在huggingface上公布的drop精度集使用的也是F1。



evalscope代码实现中使用的是exactly match指标，写为了 acc ，这部分我修改一下

main分支代码已修正，支持em和f1两个指标

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

`from evalscope import TaskConfig, run_task
task_cfg = TaskConfig(
    model='./Qwen3-8B-unsloth-bnb-4bit',
    api_url='http://127.0.0.1:8000/v1/chat/completions',
    eval_type='openai_api',
    datasets=[
        'data_collection',
    ],
    dataset_args={
        'data_collection': {
            'dataset_id': 'evalscope/Qwen3-Test-Collection',
            '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=2000,  # 设置为2000条数据进行测试
)

run_task(task_cfg=task_cfg)`

现有代码跑一轮完整的评测需要的时间太久，evalscope是否支持数据并行以加速这个过程呢

暂不支持，后续会添加
Repository: modelscope/evalscope
Issue: AI-ModelScope/SimpleQA 题数不对
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，确认这不是一个重复的问题

## 问题描述

simpleqa使用的数据集AI-ModelScope/SimpleQA，题目`4321`，官方数据集`4326`，得看下少了哪些题目？

官方数据集：
https://github.com/openai/simple-evals/blob/ee3b0318d8d1d9d72755a4120879be65f7c07e9e/simpleqa_eval.py#L102C14-L102C92

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

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

## 执行的代码或指令

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

## 错误日志

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

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

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


@Yunnglin 

这个问题我处理一下，得更新数据集

该问题已修复

AI-ModelScope/SimpleQA拆了五道题到few_shot里面。子类是test和few_shot两个，分别是4321和5道题，一共4326道题。

Who (full name) served as Hollins College's president from 1901 to 1933?
What is the name of the first suspension-type bridge to come across the Jhelum in Srinagar city?
How many years did Adil Hussain work at 'Hengul Theater' before moving to Delhi?
Which city hosted the India-Bangladesh SAMPRITI-IX joint military exercise?
In what city and state was Richard Diebenkorn stationed for the U.S. Marine Corps?
Repository: modelscope/evalscope
Issue: eval_swift_openai是否支持并发测试，怎么配置？
Root cause: Documentation Deficiency

eval_swift_openai是否支持并发测试，怎么配置？

可参考： https://github.com/modelscope/evalscope/blob/main/examples/example_eval_swift_openai_api.py

其中的eval_config中的`batch_size`字段，默认为8，可自行配置。


谢谢



---原始邮件---
发件人: ***@***.***&gt;
发送时间: 2024年8月14日(周三) 凌晨0:45
收件人: ***@***.***&gt;;
抄送: "Optimus ***@***.******@***.***&gt;;
主题: Re: [modelscope/evalscope] eval_swift_openai是否支持并发测试，怎么配置？ (Issue #95)




 
可参考： https://github.com/modelscope/evalscope/blob/main/examples/example_eval_swift_openai_api.py
 
其中的eval_config中的batch_size字段，默认为8，可自行配置。
 
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***&gt;

想问一下这个测评全都是在本地测吗？会把结果发送到网上去做评估吗？



---原始邮件---
发件人: ***@***.***&gt;
发送时间: 2024年8月14日(周三) 凌晨0:45
收件人: ***@***.***&gt;;
抄送: "Optimus ***@***.******@***.***&gt;;
主题: Re: [modelscope/evalscope] eval_swift_openai是否支持并发测试，怎么配置？ (Issue #95)




 
可参考： https://github.com/modelscope/evalscope/blob/main/examples/example_eval_swift_openai_api.py
 
其中的eval_config中的batch_size字段，默认为8，可自行配置。
 
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***&gt;

均是在本地测试的

好，谢啦



---原始邮件---
发件人: ***@***.***&gt;
发送时间: 2024年8月19日(周一) 中午1:53
收件人: ***@***.***&gt;;
抄送: "Optimus ***@***.******@***.***&gt;;
主题: Re: [modelscope/evalscope] eval_swift_openai是否支持并发测试，怎么配置？ (Issue #95)




 
均是在本地测试的
 
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***&gt;

由于长时间未收到活动，我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: 是否支持自定义extract answer方法
Root cause: Documentation Deficiency

出色的工作！😊

考虑到默认prompt中要求模型输出ANSWER: $ANSWER的答案格式，在抽取答案计算指标不适合于自定义的prompt。
如果我想自定义extract_answer，是否对应的快捷方法。

期待您的回复。

参考这里的实现：https://github.com/modelscope/evalscope/blob/b86f8caa689fae563379117d8a6ff0607bda6b3c/evalscope/benchmarks/gsm8k/gsm8k_adapter.py#L85-L95 

可以直接在adapter中重写该函数
Repository: modelscope/evalscope
Issue: [🎯 Roadmap] EvalScope Roadmap

## English Version

### Planned Benchmarks Support

#### 1. Agent
- [x] 𝜏²-Bench #959 
- [x] Terminal-Bench

#### 2. Code
- [x] Multi-E
- [x] SciCode
- [x] SWE-Bench #976

#### 3. Instruction Following
- [x] IFBench

#### 4. Vision Language
- [x] Refcoco
- [ ] CC-OCR

#### 5. Audio
- [x] fleurs

### Features

- [x] **Performance Testing Enhancement**: Support dynamic concurrency adjustment and automatic testing of model service metrics including minimum latency, TTFT (Time To First Token), and maximum throughput
- [x] **Extended Evaluation Metrics**: Add support for more evaluation metrics, including cons@k, G-pass@k, etc.
- [x] **Function Call & Tool Use**: Add support for evaluating customized scenarios of function-call and tool-use
- [ ] **Prompt Management Optimization**: Improve prompt management to facilitate setting different prompts for benchmarks
- [ ] **Safety Benchmarks**: Support safety-related benchmarks (suggestions for datasets are welcome)
- [ ] **UI Development**: Develop an interactive UI interface for visual model evaluation (long-term goal)
- [ ] **Benchmark Collection**: More comprehensive support of benchmarking Collection for evaluating indexed benchmark suites
- [ ] Stress testing support for embedding model services

### Bug Fixes

1. **Embedding Model Evaluation**: Fix benchmark misalignment issue in embedding model evaluation  
   Issue: https://github.com/modelscope/evalscope/issues/753
2. **RAG Evaluation**: Fix the issue where evaluation sets cannot be automatically constructed in rageval  
   Issue: https://github.com/modelscope/evalscope/issues/859

---

## 中文版本

### 计划支持的基准测试

#### 1. Agent（智能体）
- [x] 𝜏²-Bench #959 
- [x] Terminal-Bench

#### 2. Code（代码）
- [x] Multi-E
- [x] SciCode
- [x] SWE-Bench #976

#### 3. Instruction Following（指令遵循）
- [x] IFBench

#### 4. Vision Language（视觉语言）
- [x] Refcoco
- [ ] CC-OCR

#### 5. Audio（音频）
- [x] fleurs

### 功能特性

- [x] **性能测试增强**：支持动态调整并发，自动测试模型服务的最低时延、TTFT（首字时延）、最高吞吐量等指标
- [x] **扩展评测指标**：支持更多的评测指标，包括 cons@k、G-pass@k 等
- [x] **函数调用与工具使用**：支持评测自定义场景的函数调用（function-call）和工具使用（tool-use）
- [ ] **Prompt 管理优化**：优化 prompt 管理，方便为不同 benchmark 设置不同的 prompt
- [ ] **安全基准测试**：支持 safety 相关 benchmark（欢迎提供想要支持的数据集）
- [ ] **UI 界面开发**：开发 UI 交互界面，用可视化的方式进行模型评测（长期目标）
- [ ] **基准测试集合**：更全面地支持 Benchmarking Collection，用于评测基准测试套件
- [ ] 支持embedding模型服务的压测

### Bug 修复

1. **嵌入模型评测**：修复 embedding 模型评测存在 benchmark 不对齐的问题  
   Issue：https://github.com/modelscope/evalscope/issues/753
2. **RAG 评测**：修复 rageval 存在无法自动构建评测集的问题  
   Issue：https://github.com/modelscope/evalscope/issues/859
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)
- [ ] 我已搜索并查看了现有的 issues，确认这不是一个重复的问题

## 问题描述

请简要描述您遇到的问题。
这是我的评测代码，
evalscope eval \
 --model Qwen3-8B \
 --eval-type openai_api \
 --api-url http://127.0.0.1:8000/v1 \
 --api-key EMPTY \
 --datasets aime24 \
 --eval-batch-size 16 \
 --limit 100，
全量评测的话就会报错，如果不是全量评测，就能跑通。

<img width="1373" height="719" alt="Image" src="https://github.com/user-attachments/assets/3b51d641-43dc-475a-9434-d135c5528811" />

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

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

## 执行的代码或指令

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

## 错误日志

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

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

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


看报错是请求超时了，加上 --timeout 60000 ，来增大超时时间
Repository: modelscope/evalscope
Issue: StreamedResponseHandler.add_chunk 代码可能bug问题
Root cause: Validation Gap


## 问题描述

(https://github.com/modelscope/evalscope/blob/b86f8caa689fae563379117d8a6ff0607bda6b3c/evalscope/perf/plugin/api/default_api.py#L26)
## 这里代码逻辑有问题导致报错：
```
2025-11-05 17:12:03 - evalscope - ERROR: Traceback (most recent call last):
  File "D:\project\tests\.venv\Lib\site-packages\evalscope\perf\plugin\api\default_api.py", line 100, in process_request
    messages = handler.add_chunk(chunk_bytes)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\project\tests\.venv\Lib\site-packages\evalscope\perf\plugin\api\default_api.py", line 27, in add_chunk
    chunk_str = chunk_bytes.decode('utf-8')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 168-169: unexpected end of data

```

## 打印chunk_bytes：
`b'data: {"id":"chatcmpl-aef078f9c4e84b0e9b4ca6c3d4c79ca2","object":"chat.completion.chunk","created":1762333896,"model":"qwen3","choices":[{"index":0,"delta":{"content":"\xe6\xbb'`


## AI回答：

SSE（text/event-stream）是以 UTF-8 编码的纯文本流，但 TCP/HTTP chunk 的边界并不保证正好落在 完整的 UTF-8 字符边界上。  
你拿到的这一小块 bytes：
 
```
b'data: {"id":"chatcmpl-...","delta":{"content":"\xe6\xbb'
```
 
末尾两个字节 `\xe6\xbb` 只构成了一个 不完整的 UTF-8（三字节序列的前两字节），直接 `decode('utf-8')` 就抛 `UnicodeDecodeError`。
 
解决思路  
不要对单个 chunk_bytes 立即做 decode，而是把 chunk_bytes 先缓存起来，等累积到完整字符后再解码。
 
最简单做法：把 StreamedResponseHandler 改成一个带缓冲区的类：
 
```python 
class StreamedResponseHandler:
    def __init__(self):
        self._buffer = b'' 
 
    def add_chunk(self, chunk_bytes: bytes):
        self._buffer += chunk_bytes      # 追加到缓冲区 
        # 只要还能完整解码，就一直取行 
        while True:
            try:
                line, nl, rest = self._buffer.partition(b'\n')
                if not nl:               # '\n' 没找到，说明行不完整 
                    break 
                line_str = line.decode('utf-8')   # line 一定是完整 UTF-8 
                self._buffer = rest      # 剩余部分留给下一轮 
                yield line_str.rstrip('\r')
            except UnicodeDecodeError:
                # buffer末尾可能仍有不完整字符，留到下个 chunk 
                break 
```
 
这样即使 UTF-8 字符被拆分到两个 TCP chunk，`add_chunk` 也会等到后续字节到达后再一起解码，不会再报 `UnicodeDecodeError`。
 
如果你愿意用现成的轮子，`sseclient-py`（或 `aiohttp-sse-client`）已经帮你做好了这种缓冲与解码工作，可直接使用：
 
```python 
import sseclient 
 
async with client_session.post(url, data=data, headers=headers) as resp:
    client = sseclient.SSEClient(resp)
    async for event in client.events():
        print(json.loads(event.data))
```
 
核心一句话：不要把单块 bytes 直接 decode；先缓存，直到出现完整字符或整行后再 decode。


以上内容均由AI搜集总结并生成，仅供参考




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

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



可以使用main分支代码，看看还有这个报错吗

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