zhiminy/EvalEng huggingface dataset:
Repository: modelscope/evalscope
Issue: perf流式输出报错
Root cause: Interface Contract Mismatch

加上--stream参数流式输出测试是会报错
![image](https://github.com/modelscope/eval-scope/assets/39228103/b602fe4c-3553-4090-b6d3-506d227aa214)
非流式输出无问题

命令：llmuses perf --url 'http://127.0.0.1:8000/v1/chat/completions' --parallel 128 --model 'gpt-4-32k' --log-every-n-query 10 --read-timeout=120  -n 1 --max-prompt-length 128000 --api openai --stream --n-choices 3 --stop-token-ids 128001 128009 --dataset openqa --dataset-path 'open_qa.jsonl' 

看起来是兼容性问题，请问您压的是什么服务？stream返回的格式是什么？给个例子把， 您这个命令兼容openai接口。

用的是fastchat部署的vllm 服务，openai接口，忘了截图了

---- 回复的原邮件 ----
| 发件人 | ***@***.***> |
| 发送日期 | 2024年07月03日 09:53 |
| 收件人 | modelscope/eval-scope ***@***.***> |
| 抄送人 | ccly1996 ***@***.***>,
Author ***@***.***> |
| 主题 | Re: [modelscope/eval-scope] perf流式输出报错 (Issue #64) |

看起来是兼容性问题，请问您压的是什么服务？stream返回的格式是什么？给个例子把， 您这个命令兼容openai接口。

—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>

> 用的是fastchat部署的vllm 服务，openai接口，忘了截图了
> […](#)
> ---- 回复的原邮件 ---- | 发件人 | ***@***.***> | | 发送日期 | 2024年07月03日 09:53 | | 收件人 | modelscope/eval-scope ***@***.***> | | 抄送人 | ccly1996 ***@***.***>, Author ***@***.***> | | 主题 | Re: [modelscope/eval-scope] perf流式输出报错 (Issue #64) | 看起来是兼容性问题，请问您压的是什么服务？stream返回的格式是什么？给个例子把， 您这个命令兼容openai接口。 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: ***@***.***>

目前openai兼容接口，非流式返回chat.completion, 流式返回"object":"chat.completion.chunk"， 可能您的结果和目前openai接口不兼容，如果能够提供示例，可以修改代码兼容。

<img width="1426" alt="image" src="https://github.com/user-attachments/assets/d9b8e427-f355-4938-a056-6ec1fa92b6ad">
我也有同样的问题。因为流式返回结果可能不包含 object字段 
<img width="964" alt="image" src="https://github.com/user-attachments/assets/c643b37b-87a8-423e-af56-791368f8b9f0">


您可以拉取main分支代码，来使用最新的perf模块尝试，参考[使用指南](https://evalscope.readthedocs.io/zh-cn/latest/user_guides/stress_test/index.html)。


> 由于长时间未收到活动，我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: 增加自定义的bench，使用llm作为judge，已经实现llm_match的逻辑，请问match函数该如何实现
Root cause: Documentation Deficiency


如果不需要基于规则的match，直接在这个函数下面写pass即可，评测时指定--judge-strategy为`llm`

自定义benchmark的文档已更新：https://evalscope.readthedocs.io/zh-cn/latest/advanced_guides/add_benchmark.html

有任何疑问欢迎反馈～

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

## 功能描述 / Feature Description

当前 EvalScope 仅支持 OpenAI 风格的模型接口，限制了其在某些自定义场景下的适用性。建议增加对用户自定义模型接口格式的支持。

## 需求背景 / Background

在实际使用中，许多内部部署或私有化的模型并不遵循 OpenAI 的 API 接口规范。例如，部分模型可能使用不同的请求结构、参数命名或响应格式，导致无法接入 EvalScope 进行评测。这在模型评估、对比测试等场景中带来了较大限制。

## 预期行为 / Expected Behavior

支持用户通过配置文件自定义模型调用逻辑。



赞同

赞同

参考这个[教程](https://evalscope.readthedocs.io/zh-cn/latest/advanced_guides/custom_model.html)，实现自定义的模型评测接口

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

## 功能描述 / Feature Description

在评测任务中，增加“断点续跑”的功能。该功能应允许在评测过程中出现中断后，自动检测或手动设置从最近的评测进度处继续执行，而无需从头开始重新运行全部测试任务。

## 需求背景 / Background

目前在使用 EvalScope 进行大规模评测时，一旦评测任务中途中断（例如调用接口出错、运行超时或系统崩溃），就只能从头开始重新执行。这种行为不仅浪费大量时间和计算资源，也影响调试效率和开发节奏。

特别是在评测任务庞大（包含多个数据集、模型或评测项）时，断点续跑功能将极大提升用户体验与系统可靠性。

## 预期行为 / Expected Behavior

- 保存进度：在任务执行过程中，系统应定期或在关键节点（如每个样本、任务或阶段）保存当前执行状态。
- 恢复执行：当任务异常中断后，用户可以选择从上一次的保存进度恢复任务，而不是完全重跑。
- 状态可视化：提供清晰的任务执行日志与断点状态，便于用户了解进度和恢复点。
- 用户控制：允许用户通过配置或命令指定是否启用断点续跑。

## 其他信息 / Additional Information

可结合现有的日志系统（outputs文件夹）实现。


已支持该功能，参考这个问题 https://evalscope.readthedocs.io/zh-cn/latest/get_started/faq.html#q29 ，设置use_cache 参数
Repository: modelscope/evalscope
Issue: 精度测试中LLM和VLM配置参数差异较大
Root cause: Architectural Constraint

- LLM模型和VLM模型的配置能否统一
- VLM差别很大，model，url等参数都在二级参数eval_config里面；LLM在一级参数里面

目前evalscope已原生支持一些VLM评测基准，参考这里使用：https://evalscope.readthedocs.io/zh-cn/latest/get_started/supported_dataset/vlm.html
Repository: modelscope/evalscope
Issue: 考虑在benchmark中添加swanlab_host参数，以适应其本地化部署？
Root cause: Unimplemented Feature Gap

## 问题描述
swanlab现在允许私有化部署，并且支持配置HOST和API_KEY。建议在benchmark中添加swanlab_host参数，并传入evalscope/evalscope/perf/utils/log_utils.py的init_swanlab函数，以用于swanlab.login(host=args.swanlab_host，api_key=args.swanlab_api_key)中。请考虑这么做是否合适。
Repository: modelscope/evalscope
Issue: RL模型评估VLMEvalKit后端
Root cause: Unimplemented Feature Gap

## 功能描述 / Feature Description

请简要描述您希望添加的功能。 / Please briefly describe the feature you would like to request.
RL模型会有<think>...</think>在回答中，如何去掉CoT准确评估VLMEvalKit上的task
Repository: modelscope/evalscope
Issue: embedding和rerank模型性能压测支持
Root cause: Unimplemented Feature Gap

请问当前支持embedding和rerank模型性能压测吗？/v1/embedding和/v1/rerank接口，如何使用？我看文档当前只支持这两个URL：--url 指定API地址，支持/chat/completion和/completion两种endpoint。

不支持embedding和rerank模型性能压测

![Image](https://github.com/user-attachments/assets/8476ba1e-5f63-42ac-aa61-b8987a6eca49)
如何修改已经下好的数据集，替换路径名称，由对应的字段吗？我看自定义数据是这样的
`"eval": {
            "tasks": ["CustomRetrieval"],
            "dataset_path": "custom_eval/text/retrieval",
            "verbosity": 2,
            "overwrite_results": True,
            "limits": 500,
        },`
但是我加入了dataset_path 把原有下载的数据去掉，还是不行
Repository: modelscope/evalscope
Issue: 裁判模型做review的时候可以限制超时时间吗？
Root cause: Documentation Deficiency

发现裁判模型在review的时候，会很容易出现超时重试，是否有参数可以控制裁判模型的超时时间呢？

--judge-model-args的generation_config中设置timeout参数

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: db里面是否能支持加入每个请求的时间信息？希望做到大于某个时间就输出该请求的request_id方便查看
Root cause: Unimplemented Feature Gap

## 自查清单

在提交 issue 之前，请确保您已完成以下步骤:
- [ ] 我已仔细阅读了[相关使用说明文档](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 版本（必填）
v0.xx.x

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

## 执行的代码或指令

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

## 错误日志

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

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

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


db中有如下字段，可以参考使用：
```python
'''CREATE TABLE IF NOT EXISTS result(
          request TEXT,
          start_time REAL,
          chunk_times TEXT,
          success INTEGER,
          response_messages TEXT,
          completed_time REAL,
          latency REAL,
          first_chunk_latency REAL,
          n_chunks INTEGER,
          chunk_time REAL,
          prompt_tokens INTEGER,
          completion_tokens INTEGER,
          max_gpu_memory_cost REAL)'''
```

```
import sqlite3
import pickle
import base64
import json

db_path = 'your db path'
conn = sqlite3.connect(db_path)
cursor = conn.cursor()

# 获取列名
cursor.execute("PRAGMA table_info(result)")
columns = [info[1] for info in cursor.fetchall()]
print("列名：", columns)

cursor.execute("SELECT * FROM result WHERE success=1 AND first_chunk_latency > 1")
rows = cursor.fetchall()
print(f"len(rows): {len(rows)}")

for row in rows:
    row_dict = dict(zip(columns, row))
    # 解码request
    row_dict['request'] = pickle.loads(base64.b64decode(row_dict['request']))
    # 解码response_messages
    row_dict['response_messages'] = pickle.loads(base64.b64decode(row_dict['response_messages']))
    # print(row_dict)
    print(f"request_id: {json.loads(row_dict['response_messages'][0])['id']}, first_chunk_latency: {row_dict['first_chunk_latency']}")
    # 如果只想看一个可以break
    # break
```
好的，写了以下脚本解决了这个问题。还有个点就是这个outputs文件夹下面的基于时间的创建20250618_092831有没有办法改成基于某个字段来创建，不然的话不好自动化，benchmark和analysis要分成两个文件来跑

运行结束后可以通过`args.outputs_dir`来获取输出目录，暂时还不支持去掉时间戳
Repository: modelscope/evalscope
Issue: 如何使用本地模型作为裁判模型
Root cause: Documentation Deficiency

请问如何使用本地模型作为裁判模型，参数应如何设置


可以用vllm拉起本地模型服务作为裁判模型

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

## 自查清单

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

## 问题描述

使用evalscope 0.16和0.14版本对昇腾mindie部署的deepseek-r1-32b模型进行压力测试，10并发100请求正常生成报告，20并发200请求每次都是进度一半左右出现报错，把evalscope装到昇腾服务器还是换到别的服务器上都遇到这个问题，而测试RTX-4090平台vLLM部署的相同模型就没任何问题。

## EvalScope 版本（必填）
v0.16 v0.14

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

## 执行的代码或指令
evalscope perf \
    --url "http://127.0.0.1:1025/v1/chat/completions" \
    --parallel 20 \
    --model ds32b \
    --number 200 \
    --api openai \
    --dataset openqa \
    --dataset-path /root/rag-eval/converted_rag_dataset.jsonl \
    --max-tokens 14000 \
    --stream \
    --debug

## 错误日志

请见附件文件

[错误日志.md](https://github.com/user-attachments/files/20819280/default.md)

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

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


按报错提示信息，添加`--tokenizer-path`参数能解决报错吗

加上这个参数没报错了，测试正常，谢谢！
Repository: modelscope/evalscope
Issue: 模型推理性能测试时，多并发下的TTFT（首token时长）指标不合理
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，确认这不是一个重复的问题

## 问题描述

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

## EvalScope 版本（必填）
v0.16.1

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

## 执行的代码或指令

`evalscope perf \
  --parallel 1 10 50 100 \
  --number 10 20 100 200 \
  --model deepseekr1 \
  --url "http://{ip}:{port}/v1/chat/completions" \
  --api openai \
  --dataset openqa \
  --dataset-path "/xxxx/open_qa.jsonl" \
  --max-tokens 1024 \
  --min-tokens 1024`

## 控制台输出
parallel =1 测试结果：
![Image](https://github.com/user-attachments/assets/a450df8d-be29-4bbd-a7b5-2ae60e9baa45)

parallel =10 测试结果：
![Image](https://github.com/user-attachments/assets/fefb2f75-e675-4f2f-bb15-1bfba6095e83)

parallel =50 测试结果：
![Image](https://github.com/user-attachments/assets/19c957e3-a237-4271-88ae-0385f93d773c)

parallel =100 测试结果：
![Image](https://github.com/user-attachments/assets/aed3f658-8839-4859-8768-e4277af70bcf)

总的测试报告：
![Image](https://github.com/user-attachments/assets/3d1d376d-af56-41be-a48d-60b534fe6988)


## 运行环境

- 操作系统：Ubuntu 22.04
- Python版本：Python 3.10

## 其他信息

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


麻烦提供一下完整的请求命令、日志、运行环境信息

> 麻烦提供一下完整的请求命令、日志、运行环境信息

刚刚更新了一下输出信息，请查看

这里指标有什么问题呢，你框起来的部分是平均值

> 这里指标有什么问题呢，你框起来的部分是平均值

单并发下，首token时间是0.2s左右，但是在多并发情况下，首token时间会变得很长，比如10并发下，有的请求首token时间就达到了15s左右，100并发下首token时间有的达到了200+s。这个值是不是不太对呀？evalscope在多并发下是怎么计算TTFT的呢？


模型服务无法同时处理这么多请求，请求就会排队，导致TTFT变长

> 模型服务无法同时处理这么多请求，请求就会排队，导致TTFT变长

明白了，应该是推理引擎配置的问题，感谢~
Repository: modelscope/evalscope
Issue: 评测MATH500时采用llm judge遇到问题
Root cause: Documentation Deficiency

如果用规则的话，pred字段里是可以解析出答案，如下所示

<img width="728" alt="Image" src="https://github.com/user-attachments/assets/80f9af74-722a-4446-a2a1-9a05c488590d" />

但如果用llm judge，那pred字段中是评测模型的完整回答，就像没有解析答案这个步骤一样，如下图所示

<img width="802" alt="Image" src="https://github.com/user-attachments/assets/f7eecefb-16e0-4c1b-b9d4-a96dd93046df" />
请问这是什么问题呀？

用llm judge就不会做规则解析，让模型去直接判断答案是否正确

> 用llm judge就不会做规则解析，让模型去直接判断答案是否正确

嗯嗯谢谢回复，刚在源码中找到了这点的逻辑。但我感觉数学问题的话未经过规则解析，过长的思考和解题过程并不是很利于判断（也有可能我用的judge模型太小了，能力不足）。我之后会实验一下看下规则解析后的效果😊
Repository: modelscope/evalscope
Issue: Can't initialize NVML
Root cause: Environment Incompatibility

## 自查清单

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

## 问题描述

我尝试进行960个并发的评测，在开始阶段直接报错了

## EvalScope 版本（必填）
v0.16.1

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

## 执行的代码或指令

evalscope perf \
  --parallel $PARALLEL \
  --url $URL \
  --model $MODEL \
  --api-key $API_KEY \
  --log-every-n-query 16 \
  --connect-timeout 10 \
  --read-timeout 7200 \
  --max-tokens $OUTLEN \
  --min-tokens $OUTLEN \
  --tokenizer-path /mnt/models/DeepSeek-R1-0528 \
  --api openai \
  --dataset random \
  --number $NUMBER \
  --max-prompt-length $INLEN \
  --min-prompt-length $INLEN \
  --prefix-length 16 \
  --extra-args '{"ignore_eos": true}' \
  --stream

## 错误日志

Processing:   0%|                                                                                                            | 0/2048 [00:00<?, ?it/s]/root/miniconda3/envs/evalscope/lib/python3.12/site-packages/torch/cuda/__init__.py:789: UserWarning: Can't initialize NVML
  warnings.warn("Can't initialize NVML")

## 运行环境

- 操作系统：ubuntu22.04
- Python版本：3.12



这个问题跟evalscope无关，应该是你机器环境的问题，测试一下torch是否安装正确。

好的谢谢解答
Repository: modelscope/evalscope
Issue: 如何自定义prompt内容，json格式
Root cause: Documentation Deficiency

## 测试qwen-vl模型

```
evalscope perf \
 --parallel 5 \
 --url "http://39.155.179.4:9116/v1/chat/completions" \
 --model 'Qwen2.5-VL-7B-Instruct' \
 --log-every-n-query 10 \
 --number 15 \
 --api openai \
 --name "Qwen2.5-VL-7B-Instruct-inference-performance" \
 --debug \
 --prompt '{"model": "Qwen2.5-VL-7B-Instruct", "stream": true, "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://cdn-bikcn.nitrocdn.com/VEJvHVYyzMNTYIsLMiGKwigNmAZeJMuW/assets/images/optimized/rev-3a3af54/www.cooltechdoll.com/wp-content/uploads/2019/08/2019080305563723.png"
                    }
                },
                {
                    "type": "text",
                    "text": "图片中是什么"
                }
            ]
        }
    ]
} '
```


如果想自定义测试多模态模型，建议参考自定义数据集的写法：https://evalscope.readthedocs.io/zh-cn/latest/user_guides/stress_test/custom.html#id3

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: llama2-13b mmlu精度测试
Root cause: Configuration Error

## 问题描述
llama2-13b mmlu测试精度的脚本可以分享一下吗？

![Image](https://github.com/user-attachments/assets/b66a967b-c0a3-49ef-9afb-7e5f4e7883cd)
 内部测试4096的长度一直爆错
from evalscope import TaskConfig, run_task
from evalscope.constants import EvalType

task_cfg = TaskConfig(
    model='llama-2-chat',
    api_url='http://0.0.0.0:8000/v1/chat/completions', 
    api_key='EMPTY',
    eval_type=EvalType.SERVICE,
    datasets=[
        'mmlu',
    ],
    dataset_args={
        'mmlu': {'few_shot_num': 5}
    },
    generation_config={
        "max_tokens": 4096,
        #"temperature": 0.0
    },
    eval_batch_size=32,  # num of workers to seed requests
)

run_task(task_cfg=task_cfg)





麻烦提供一下完整的报错log

server端命令:
python3 -m vllm.entrypoints.openai.api_server --model /home/llama2-13b-chat/  --served-model-name llama-2-chat  --tensor_parallel_size 2 --trust_remote_code --port 8000  --gpu_memory_utilization 0.9

clinet端:
from evalscope import TaskConfig, run_task
from evalscope.constants import EvalType

task_cfg = TaskConfig(
model='llama-2-chat',
api_url='http://0.0.0.0:8000/v1/chat/completions',
api_key='EMPTY',
eval_type=EvalType.SERVICE,
datasets=[
'mmlu',
],
dataset_args={
'mmlu': {'few_shot_num': 5}
},
generation_config={
"max_tokens": 4096,
#"temperature": 0.0
},
eval_batch_size=32, # num of workers to seed requests
)

run_task(task_cfg=task_cfg)

测试mmlu数据集会出现超过4096的场景，请问一下内部测试client是做了截断吗？ 可以分享一下脚本吗？

![Image](https://github.com/user-attachments/assets/e1676538-2d13-4eec-9f2b-c7e6296d6475)


当时测试是用transformer本地模型测试的，没有这个问题。你可以配置你的模型服务，允许超过模型默认最大值的输入。
Repository: modelscope/evalscope
Issue: 运行run.py出错，说没有eval_config
Root cause: Validation Gap

python llmuses/run.py 
--model /media/ama/data1/wzh/Model_Param/LLM/Yi_6B/pretrain
 --template-type chatglm3 
--datasets arc 
--dataset-hub Local 
--dataset-dir /home/wzh/DianWang/RAG_project/Data/LLM/qa1000.json 
--limit 10
我想用自己的数据集测试本地模型，配置这些参数后报错如下：
 assert eval_config is not None, 'Please provide eval_config for specific evaluation backend.'
AssertionError: Please provide eval_config for specific evaluation backend.
找不到eval_config，请问这个从哪找

有没有大佬帮帮我

把run.py的382、383行注释掉
<img width="432" alt="屏幕截图 2024-07-04 163706" src="https://github.com/modelscope/eval-scope/assets/104254868/28b52a39-5a9a-416a-b136-124005cb869e">


Fixed, pull main branch and try again.
Repository: modelscope/evalscope
Issue: UnboundLocalError: cannot access local variable 'model_adapter_cls' where it is not associated with a value
Root cause: Validation Gap

## 自查清单

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

## 问题描述



## EvalScope 版本（必填）
v0.16.1

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

## 执行的代码或指令

task_cfg = TaskConfig(
    model='Qwen3-0.6B-unsloth-bnb-4bit',
    api_url='http://127.0.0.1:8801/v1/chat/completions',
    api_key='EMPTY',
    eval_type=EvalType.SERVICE,
    datasets=[
        'humaneval'
    ],
    dataset_args={
        "humaneval": {
            "dataset_id": "/data/workspace/benchmark/datasets/humaneval", "few_shot_num": 0
        }
    },
    eval_batch_size=8,  # num of workers to seed requests
    generation_config={
        'max_tokens': 2048,  # avoid exceed max length
        'temperature': 0.7,
        'top_p': 0.95,
        'n': 1, # num of repeat for each prompt (note lmdeploy only support n=1)
        'chat_template_kwargs': {'enable_thinking': False, 'do_sample': False}
    },
    stream=True
)
run_task(task_cfg=task_cfg)


## 错误日志

2025-06-24 09:52:23,839 - evalscope - INFO - Args: Task config is provided with TaskConfig type.
Traceback (most recent call last):
  File "/data/landun/workspace/mmfd_eval/run_wt_full.py", line 212, in <module>
    result = run_task(task_config)
             ^^^^^^^^^^^^^^^^^^^^^
  File "/data/landun/workspace/evalscope/evalscope/run.py", line 31, in run_task
    return run_single_task(task_cfg, run_time)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/landun/workspace/evalscope/evalscope/run.py", line 44, in run_single_task
    result = evaluate_model(task_cfg, outputs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/landun/workspace/evalscope/evalscope/run.py", line 122, in evaluate_model
    evaluator = create_evaluator(task_cfg, dataset_name, outputs, base_model)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/landun/workspace/evalscope/evalscope/run.py", line 171, in create_evaluator
    model_adapter = initialize_model_adapter(task_cfg, data_adapter, base_model)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/landun/workspace/evalscope/evalscope/models/adapters/base_adapter.py", line 58, in initialize_model_adapter
    f'Using {model_adapter_cls.__name__} for api model evaluation for benchmark {benchmark.name}.')

UnboundLocalError: cannot access local variable 'model_adapter_cls' where it is not associated with a value

## 运行环境

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

## 其他信息

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


0.16.0 版本是没有这个问题的

我复现一下这个问题

以发布0.16.3修复该问题

> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: 想问一下 是不是VLMEvalkit支持的benchmark和模型，evalscope都是支持的？

## 自查清单

在提交 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
- [1] VLMEvalKit backend
- [ ] RAGEval backend
- [ ] Perf / 模型推理压测工具
- [ ] Arena / 竞技场模式

## 执行的代码或指令

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

## 错误日志

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

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

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


基本都支持，这里有支持的数据集列表：https://evalscope.readthedocs.io/zh-cn/latest/get_started/supported_dataset/other/vlmevalkit.html

> 基本都支持，这里有支持的数据集列表：https://evalscope.readthedocs.io/zh-cn/latest/get_started/supported_dataset/other/vlmevalkit.html

感谢感谢，我看一看。


> 感谢你的反馈！我们将关闭此问题。如果您有任何疑问，请随时重新打开它。如果EvalScope对您有所帮助，欢迎给我们点个STAR以示支持，谢谢！
Repository: modelscope/evalscope
Issue: 【bug】在Chrome下无法选择报告
Root cause: Documentation Deficiency

环境：M4 MAX版本 Macbook Pro
系统：macOS Tahoe 26 Developer Beta
BUG：报告的下拉框无法点击，所以无法查看任何可视化报告。
 【刚刚已经执行过两轮测试，所有后台是有报告的

<img width="1084" alt="Image" src="https://github.com/user-attachments/assets/c5cac8ed-9da6-46b6-aa12-ee642d168df0" />

】

<img width="1618" alt="Image" src="https://github.com/user-attachments/assets/f56c1db7-284b-49aa-92df-ce222982e3cf" />
按了F12查看后台，发现有报错，怀疑是跟macOS 26有关系。

<img width="1723" alt="Image" src="https://github.com/user-attachments/assets/a1af157a-9666-462a-b996-dfb6619f0cec" />

使用的可视化方法不对

![Image](https://github.com/user-attachments/assets/4971195c-d5cd-4d50-82a7-9312a0d55486)

参考这个文档：https://evalscope.readthedocs.io/zh-cn/latest/user_guides/stress_test/quick_start.html#id6

非常感谢，问题已解决！
Repository: modelscope/evalscope
Issue: 文档中部署裁判员模型的脚本有错误
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，确认这不是一个重复的问题

## 问题描述

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

## EvalScope 版本（必填）
v0.16.1

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

## 执行的代码或指令

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

## 错误日志

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

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

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

文档中给出的脚本 https://evalscope.readthedocs.io/zh-cn/latest/user_guides/backend/vlmevalkit_backend.html#vlmeval 错误，
# 部署qwen2-7b作为裁判员
CUDA_VISIBLE_DEVICES=0 swift deploy --model_type qwen2-7b-instruct --model_id_or_path models/Qwen2-7B-Instruct --port 8866


正确脚本应该是 
# 部署qwen2-7b作为裁判员
CUDA_VISIBLE_DEVICES=1 swift deploy --model_type qwen2 --model /home/share/models/Qwen2-7B-Instruct --port 8866


另外，在VLMEvalkit部分的脚本只有yaml文件的例子，是否可以给一个taskconfig的例子？

<img width="756" alt="Image" src="https://github.com/user-attachments/assets/6ad3088e-95f5-488d-bdb8-90bb61909835" />

参考这个：
```python
from evalscope import TaskConfig, run_task

task_cfg_dict = TaskConfig(
    work_dir='outputs',
    eval_backend='VLMEvalKit',
    eval_config={
        'data': ['VDC'],
        'mode': 'all',
        'model': [ 
            {'api_base': 'http://localhost:8000/v1/chat/completions',
            'key': 'EMPTY',
            'name': 'CustomAPIModel',
            'temperature': 0.6,
            'type': 'Qwen3-VL',
            'img_size': -1,
            'video_llm': False,
            'max_tokens': 512,}
            ],
        'reuse': False,
        'nproc': 64,
        'judge': 'exact_matching',
        'limit': 10},
)

run_task(task_cfg=task_cfg_dict)
```

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