Repository: modelscope/evalscope
Issue: 本地运行aime-24评估问题
Root cause: Configuration Error

## 问题描述 / Issue Description
按照手册, 运行aime 2024 评估, 报SSLError错误
请简要描述您遇到的问题。 / Please briefly describe the issue you encountered.
按照手册, 运行aime 2024 评估, 报SSLError错误, 数据集已经下载到本地, 测试本地托管的API
## 使用的工具 / Tools Used
- [√] Native / 原生框架
- [ ] Opencompass backend
- [ ] VLMEvalKit backend
- [ ] RAGEval backend
- [ ] Perf / 模型推理压测工具
- [ ] Arena  /竞技场模式


## 执行的代码或指令 / Code or Commands Executed

请提供您执行的主要代码或指令。 / Please provide the main code or commands you executed. 例如 / For example:

```python
from evalscope import TaskConfig, run_task
from evalscope.constants import EvalType

task_cfg = TaskConfig(
    model='deepseek-r1',  # 模型名称 (需要与部署时的模型名称一致)
    api_url='http://10.991.72.65:9293/v1',  # 推理服务地址
    api_key='EMPTY',
    eval_type=EvalType.SERVICE,  # 评测类型，SERVICE表示评测推理服务
    datasets=[
        # 'data_collection',  # 数据集名称(固定为data_collection表示使用混合数据集)
        # 'math_500',  # 数据集名称
        # 'gpqa',
        'aime24'
    ],
    dataset_args={
        'data_collection': {
            # 'dataset_id': 'modelscope/R1-Distill-Math-Test',  # 数据集ID 或 数据集本地路径
            # 'math_500': {'few_shot_num': 0},
            # 'gpqa': {'subset_list': ['gpqa_diamond'], 'few_shot_num': 0},
            'aime24': {
                'local_path': "/var/AIME_2024/",
                'few_shot_num': 3
            }
        }
    },
    eval_batch_size=1,  # 发送请求的并发数
    generation_config={  # 模型推理配置
        'max_tokens': 20000,  # 最大生成token数，建议设置为较大值避免输出截断
        'temperature': 0.6,  # 采样温度 (deepseek 报告推荐值)
        'top_p': 0.95,  # top-p采样 (deepseek 报告推荐值)
        'n': 5  # 每个请求产生的回复数量 (注意 lmdeploy 目前只支持 n=1)
    },
    stream=True  # 是否使用流式请求，推荐设置为True防止请求超时
)

run_task(task_cfg=task_cfg)
```

```bash
# 例如：在终端中执行的指令 / Terminal command executed
python script.py
```

## 错误日志 / Error Log

请粘贴完整的错误日志或控制台输出。 / Please paste the full error log or console output. 例如 / For example:

```
2025-03-05 11:54:26,311 - urllib3.connectionpool - WARNING - Retrying (Retry(total=1, connect=2, read=2, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1007)'))': /api/v1/datasets/HuggingFaceH4/aime_2024
2025-03-05 11:54:28,408 - urllib3.connectionpool - WARNING - Retrying (Retry(total=0, connect=2, read=2, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1007)'))': /api/v1/datasets/HuggingFaceH4/aime_2024
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 700, in urlopen
    httplib_response = self._make_request(
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 383, in _make_request
    self._validate_conn(conn)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1017, in _validate_conn
    conn.connect()
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 411, in connect
    self.sock = ssl_wrap_socket(
  File "/usr/lib/python3/dist-packages/urllib3/util/ssl_.py", line 449, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(
  File "/usr/lib/python3/dist-packages/urllib3/util/ssl_.py", line 493, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
  File "/usr/lib/python3.10/ssl.py", line 513, in wrap_socket
    return self.sslsocket_class._create(
  File "/usr/lib/python3.10/ssl.py", line 1100, in _create
    self.do_handshake()
  File "/usr/lib/python3.10/ssl.py", line 1371, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1007)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 784, in urlopen
    return self.urlopen(
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 784, in urlopen
    return self.urlopen(
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 756, in urlopen
    retries = retries.increment(
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 576, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.modelscope.cn', port=443): Max retries exceeded with url: /api/v1/datasets/HuggingFaceH4/aime_2024 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1007)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/var/model_assess_0303/access_dpr1_0305.py", line 36, in <module>
    run_task(task_cfg=task_cfg)
  File "/usr/local/lib/python3.10/dist-packages/evalscope/run.py", line 31, in run_task
    return run_single_task(task_cfg, run_time)
  File "/usr/local/lib/python3.10/dist-packages/evalscope/run.py", line 44, in run_single_task
    return evaluate_model(task_cfg, outputs)
  File "/usr/local/lib/python3.10/dist-packages/evalscope/run.py", line 117, in evaluate_model
    res_dict = evaluator.eval()
  File "/usr/local/lib/python3.10/dist-packages/evalscope/evaluator/evaluator.py", line 367, in eval
    prompts = self.load_dataset()
  File "/usr/local/lib/python3.10/dist-packages/evalscope/evaluator/evaluator.py", line 65, in load_dataset
    dataset = self.data_adapter.load(
  File "/usr/local/lib/python3.10/dist-packages/evalscope/benchmarks/data_adapter.py", line 83, in load
    data_dict = self.load_from_hub(dataset_name_or_path, subset_list, work_dir, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/evalscope/benchmarks/data_adapter.py", line 119, in load_from_hub
    dataset = MsDataset.load(
  File "/usr/local/lib/python3.10/dist-packages/modelscope/msdatasets/ms_dataset.py", line 297, in load
    dataset_id_on_hub, dataset_type = _api.get_dataset_id_and_type(
  File "/usr/local/lib/python3.10/dist-packages/modelscope/hub/api.py", line 813, in get_dataset_id_and_type
    r = self.session.get(datahub_url, cookies=cookies)
  File "/usr/local/lib/python3.10/dist-packages/requests/sessions.py", line 602, in get
    return self.request("GET", url, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.10/dist-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/requests/adapters.py", line 698, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='www.modelscope.cn', port=443): Max retries exceeded with url: /api/v1/datasets/HuggingFaceH4/aime_2024 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1007)')))

```

## 运行环境 / Runtime Environment
Ubuntu 22.04 LTS
- 操作系统 / Operating System:
  - [ ] Windows
  - [ ] macOS
  - [√] Ubuntu

- Python版本 / Python Version:
  - [ ] 3.11
  - [√] 3.10
  - [ ] 3.9


## 其他信息 / Additional Information

如果有其他相关信息，请在此处提供。 / If there is any other relevant information, please provide it here.
非常感谢你的时间, 期待得到你的回复

data-args写的不对，应该是这样：
```python
  dataset_args={
        'aime24': {
            'local_path': "/var/AIME_2024/",
            'few_shot_num': 3
        }
  },
```

@Yunnglin 非常感谢你的回复
我更正了脚本内容如下:
`from evalscope import TaskConfig, run_task
from evalscope.constants import EvalType

task_cfg = TaskConfig(
    model='deepseek-r1',  # 模型名称 (需要与部署时的模型名称一致)
    api_url='http://10.991.72.65:9293/v1',  # 推理服务地址
    api_key='EMPTY',
    eval_type=EvalType.SERVICE,  # 评测类型，SERVICE表示评测推理服务
    datasets=[
        # 'data_collection',  # 数据集名称(固定为data_collection表示使用混合数据集)
        # 'math_500',  # 数据集名称
        # 'gpqa',
        'aime24'
    ],
    dataset_args={
        # 'data_collection': {
        #     # 'dataset_id': 'modelscope/R1-Distill-Math-Test',  # 数据集ID 或 数据集本地路径
        # },
        # 'math_500': {'few_shot_num': 0},
        # 'gpqa': {'subset_list': ['gpqa_diamond'], 'few_shot_num': 0},
        'aime24': {
            'local_path': "/var/AIME_2024",
            'few_shot_num': 3
        }
    },
    eval_batch_size=1,  # 发送请求的并发数
    generation_config={  # 模型推理配置
        'max_tokens': 20000,  # 最大生成token数，建议设置为较大值避免输出截断
        'temperature': 0.6,  # 采样温度 (deepseek 报告推荐值)
        'top_p': 0.95,  # top-p采样 (deepseek 报告推荐值)
        'n': 5  # 每个请求产生的回复数量 (注意 lmdeploy 目前只支持 n=1)
    },
    stream=True,  # 是否使用流式请求，推荐设置为True防止请求超时
)

run_task(task_cfg=task_cfg)
`
结果它又报错如下:
`2025-03-05 13:57:35,624 - evalscope - INFO - **** Start evaluating on dataset /var/model_assess_0303/AIME_2024 ****
2025-03-05 13:57:35,910 - evalscope - INFO - Loading dataset from work_dir: /root/.cache/modelscope/hub/datasets: > dataset_name: /var/model_assess_0303/AIME_2024 >                 subsets: ['default']
2025-03-05 13:57:35,910 - modelscope - WARNING - Use trust_remote_code=True. Will invoke codes from /var/model_assess_0303/AIME_2024. Please make sure that you can trust the external codes.
2025-03-05 13:57:35,910 - modelscope - WARNING - Use trust_remote_code=True. Will invoke codes from /var/model_assess_0303/AIME_2024. Please make sure that you can trust the external codes.
Traceback (most recent call last):
  File "/var/model_assess_0303/access_dpr1_0305.py", line 36, in <module>
    run_task(task_cfg=task_cfg)
  File "/usr/local/lib/python3.10/dist-packages/evalscope/run.py", line 31, in run_task
    return run_single_task(task_cfg, run_time)
  File "/usr/local/lib/python3.10/dist-packages/evalscope/run.py", line 44, in run_single_task
    return evaluate_model(task_cfg, outputs)
  File "/usr/local/lib/python3.10/dist-packages/evalscope/run.py", line 117, in evaluate_model
    res_dict = evaluator.eval()
  File "/usr/local/lib/python3.10/dist-packages/evalscope/evaluator/evaluator.py", line 367, in eval
    prompts = self.load_dataset()
  File "/usr/local/lib/python3.10/dist-packages/evalscope/evaluator/evaluator.py", line 65, in load_dataset
    dataset = self.data_adapter.load(
  File "/usr/local/lib/python3.10/dist-packages/evalscope/benchmarks/data_adapter.py", line 81, in load
    data_dict = self.load_from_disk(dataset_name_or_path, subset_list, work_dir, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/evalscope/benchmarks/data_adapter.py", line 147, in load_from_disk
    dataset = MsDataset.load(
  File "/usr/local/lib/python3.10/dist-packages/modelscope/msdatasets/ms_dataset.py", line 269, in load
    dataset_context_config).load_dataset(
  File "/usr/local/lib/python3.10/dist-packages/modelscope/msdatasets/data_loader/data_loader_manager.py", line 80, in load_dataset
    return hf_data_loader(
  File "/usr/local/lib/python3.10/dist-packages/datasets/load.py", line 2129, in load_dataset
    builder_instance = load_dataset_builder(
  File "/usr/local/lib/python3.10/dist-packages/datasets/load.py", line 1849, in load_dataset_builder
    dataset_module = dataset_module_factory(
  File "/usr/local/lib/python3.10/dist-packages/datasets/load.py", line 1586, in dataset_module_factory
    ).get_module()
  File "/usr/local/lib/python3.10/dist-packages/datasets/load.py", line 891, in get_module
    {
  File "/usr/local/lib/python3.10/dist-packages/datasets/load.py", line 892, in <dictcomp>
    config_name: DatasetInfo.from_dict(dataset_info_dict)
  File "/usr/local/lib/python3.10/dist-packages/datasets/info.py", line 284, in from_dict
    return cls(**{k: v for k, v in dataset_info_dict.items() if k in field_names})
  File "<string>", line 20, in __init__
  File "/usr/local/lib/python3.10/dist-packages/datasets/info.py", line 170, in __post_init__
    self.features = Features.from_dict(self.features)
  File "/usr/local/lib/python3.10/dist-packages/datasets/features/features.py", line 1833, in from_dict
    obj = generate_from_dict(dic)
  File "/usr/local/lib/python3.10/dist-packages/datasets/features/features.py", line 1457, in generate_from_dict
    return {key: generate_from_dict(value) for key, value in obj.items()}
  File "/usr/local/lib/python3.10/dist-packages/datasets/features/features.py", line 1457, in <dictcomp>
    return {key: generate_from_dict(value) for key, value in obj.items()}
  File "/usr/local/lib/python3.10/dist-packages/datasets/features/features.py", line 1473, in generate_from_dict
    return class_type(**{k: v for k, v in obj.items() if k in field_names})
TypeError: Value.__init__() missing 1 required positional argument: 'dtype'
`
我不清楚是不是我下载的数据集有问题,
我从官方手册给的链接 [,](https://modelscope.cn/datasets/AI-ModelScope/AIME_2024), 进行下载的,
再次感谢你的回复 


我更新一下文档，有些数据集不在下载的zip文件里，需要手动去下载，用下面的命令下载aime 2024
```bash
git lfs install
git clone https://www.modelscope.cn/datasets/HuggingFaceH4/aime_2024.git
```

@Yunnglin 非常感谢你的回复
我拉取了 git clone https://www.modelscope.cn/datasets/HuggingFaceH4/aime_2024.git, 然后运行下面代码,
`
from modelscope.msdatasets import MsDataset
ds =  MsDataset.load('/var/aime_2024', subset_name='default', split='train')
`
发现它报错如下:
`
TypeError: Value.__init__() missing 1 required positional argument: 'dtype'
`
后续从HF中重新拉取了aime, 该错误就消失了,
`
重新运行手册中的示例脚本后, 又报错如下:
`
TypeError: DataAdapter.compute_metric() got an unexpected keyword argument 'reviews_list'
`
把 evaluator.py 296行, 修改如下, 终于跑通了,
`
        metric_score: List[dict] = self.data_adapter.compute_metric(
            review_res_list=review_res_list)
        # review_res_list=review_res_list, reviews_list=reviews_list)
`
那这个问题就关闭了,再次感谢

我也出现同样的错误

> 我也出现同样的错误

@maidouxiaozi 可以删掉数据集中的`dataset_infos.json`文件

@Yunnglin 删除后执行的时候出现错误

![Image](https://github.com/user-attachments/assets/02527d2a-82a0-4f33-bc9b-05584a9311c6)

@maidouxiaozi 你的数据集是从modelscope上下载的吗，这个链接：https://modelscope.cn/datasets/opencompass/AIME2025/summary

@Yunnglin https://modelscope.cn/datasets/HuggingFaceH4/aime_2024/ 这个地址
而且发现如果已经存在数据集，从本地加载时，为什么还是会去下载缓存到路径下

@Yunnglin 
from evalscope import TaskConfig, run_task

task_config = TaskConfig(
    api_url='http://0.0.0.0:7861/v1',  # 推理服务地址
    api_key="token-abc123",
    model='Llama-3.1-Nemotron-Nano-v1_8b',  # 模型名称 (需要与部署时的模型名称一致)
    eval_type='service',  # 评测类型，SERVICE表示评测推理服务
    datasets=['aime24'],  # 数据集名称
    dataset_args={
        'aime24': {  # 确保值是字典
            'few_shot_num': 0,
            'local_path': "./dataset/aime_2024/",  # 路径末尾不要有多余斜杠
            "subset_list": ["default"], 
            "filters": {"remove_until": "</think>"}
        }
    },
    eval_batch_size=4,  # 发送请求的并发数
    generation_config={
        'max_tokens': 32768,  # 最大生成token数，建议设置为较大值避免输出截断
        'temperature': 0.6,  # 采样温度 (qwen 报告推荐值)
        'top_p': 0.95,  # top-p采样 (qwen 报告推荐值)
        # 'top_k': 40,  # top-k采样 (qwen 报告推荐值)
        'n': 1,  # 每个请求产生的回复数量
    },
    dataset_dir="./dataset/aime_2024/",
    # dataset_hub="huggingface",
    work_dir="./outputs/aime_2024",  # 输出目录
    timeout=100000
)
run_task(task_config)

![Image](https://github.com/user-attachments/assets/451eeedb-16a0-4185-9965-95ebef17c1ba)

@maidouxiaozi 你环境中执行下面的代码看能否正确加载：
```python
from modelscope.msdatasets import MsDataset
ds =  MsDataset.load('HuggingFaceH4/aime_2024', subset_name='default', split='train')
```

看你提供的报错截图，没有重新下载数据集呀

@Yunnglin 可以正确加载，但是它是自动下载路径到root路径下，且和git下载的数据集文件格式不一样

![Image](https://github.com/user-attachments/assets/2bb7a276-45da-4b60-939b-6f62a6a01dcc)

![Image](https://github.com/user-attachments/assets/bc8f10d5-427a-4726-af6d-23db9f8cd894)




> [@maidouxiaozi](https://github.com/maidouxiaozi) 你环境中执行下面的代码看能否正确加载：
> 
> from modelscope.msdatasets import MsDataset
> ds =  MsDataset.load('HuggingFaceH4/aime_2024', subset_name='default', split='train')
> 看你提供的报错截图，没有重新下载数据集呀

是会重新下载的，我把它删除了，重新下载的文件格式就是和自动下载到/root/.cache/modelscope/ 下面的文件格式一样

> [@maidouxiaozi](https://github.com/maidouxiaozi) 你环境中执行下面的代码看能否正确加载：
> 
> from modelscope.msdatasets import MsDataset
> ds =  MsDataset.load('HuggingFaceH4/aime_2024', subset_name='default', split='train')
> 看你提供的报错截图，没有重新下载数据集呀

这个问题是错在什么地方，怎么解决，麻烦提供一个解决方法。加载已经下载好的数据集

@maidouxiaozi 运行下面的本地加载代码是否正常，

```python
from modelscope.msdatasets import MsDataset
ds =  MsDataset.load('/path/to/aime_2024', subset_name='default', split='train')
```

若报错尝试更新modelscope，执行:
```
pip install modelscope -U
pip install datasets==3.2.0
```

> pip install datasets==3.2.0

更新后还是会出现错误

![Image](https://github.com/user-attachments/assets/5012e462-e975-4ee2-bea6-cf892602a706)

@maidouxiaozi 参考这个解决方法：https://evalscope.readthedocs.io/zh-cn/latest/get_started/faq.html#q5-dtype ，手动删掉数据集目录下的dataset_infos.json 这个文件

> [@maidouxiaozi](https://github.com/maidouxiaozi) 参考这个解决方法：https://evalscope.readthedocs.io/zh-cn/latest/get_started/faq.html#q5-dtype ，手动删掉数据集目录下的dataset_infos.json 这个文件

删除dataset_infos.json文件后，本地加载出现刚刚那个错误

![Image](https://github.com/user-attachments/assets/22030849-00e5-4221-8a43-ce7b7b33ff56)
数据文件

![Image](https://github.com/user-attachments/assets/fa4bba5e-8366-4cbb-8a70-70a372f8a073)

@Yunnglin 现在可以加载
from modelscope.msdatasets import MsDataset
ds =  MsDataset.load('/path/to/aime_2024', subset_name='default', split='train')

但是执行上面命令代码后， 为什么会在/root/.cache/modelscope/hub/datasets/ 路径下生成了文件，不是已经加载了本地的数据文件吗?

![Image](https://github.com/user-attachments/assets/9d707474-36b6-4db3-8072-f7af08bcde7f)

@maidouxiaozi 请问`/root/.cache/modelscope/hub/datasets/aime_2024` 路径下有哪些内容，是加载本地数据集生成的吗，不是自动下载的数据集？

> [@maidouxiaozi](https://github.com/maidouxiaozi) 请问`/root/.cache/modelscope/hub/datasets/aime_2024` 路径下有哪些内容，是加载本地数据集生成的吗，不是自动下载的数据集？

![Image](https://github.com/user-attachments/assets/b918bd6c-b1bc-450c-97a6-4cd5b503b655)
多了这些文件，是加载本地数据集的时候自动生成的

> 多了这些文件，是加载本地数据集的时候自动生成的

我这边没有复现你说的这个问题，这些文件应该是加载远程数据集时生成的

> > 多了这些文件，是加载本地数据集的时候自动生成的
> 
> 我这边没有复现你说的这个问题，这些文件应该是加载远程数据集时生成的

加载本地数据集，不就是一个data文件夹下面的.parquet文件吗？ 但是我加载的时候确实是生成了其他的文件，截图中显示的这些

@Yunnglin 
每次加载本地数据集的时候，都会生成这些文件，每次还是不同的文件命名。
原本的数据集就应该只有test.jsonl文件

from evalscope import TaskConfig, run_task

os.environ["HF_DATASETS_DISABLE_LOCK"] = "1"
task_config = TaskConfig(
    api_url='http://0.0.0.0:7861/v1',  # 推理服务地址
    api_key="token-abc123",
    model='Llama-3.1-Nemotron-Nano-v1_8b',  # 模型名称 (需要与部署时的模型名称一致)
    eval_type='service',  # 评测类型，SERVICE表示评测推理服务
    datasets=['math_500'],  # 数据集名称
    dataset_args={
        'math_500': {  # 确保值是字典
            'few_shot_num': 0,
            'local_path': "./dataset/MATH-500/",  # 路径末尾不要有多余斜杠
            "subset_list": ["Level 1"], 
            "filters": {"remove_until": "</think>"}
        }
    },
    eval_batch_size=4,  # 发送请求的并发数
    generation_config={
        'max_tokens': 32768,  # 最大生成token数，建议设置为较大值避免输出截断
        'temperature': 0.6,  # 采样温度 (qwen 报告推荐值)
        'top_p': 0.95,  # top-p采样 (qwen 报告推荐值)
        # 'top_k': 40,  # top-k采样 (qwen 报告推荐值)
        'n': 1,  # 每个请求产生的回复数量
    },
    dataset_dir="./dataset/MATH-500/",
    # dataset_hub="huggingface",
    work_dir="./outputs/MATH-500",  # 输出目录
    use_cache="./outputs/MATH-500/",
    timeout=100000
)
run_task(task_config)

![Image](https://github.com/user-attachments/assets/54b75f81-205e-43c6-9271-fca459f3bc90)

> [@Yunnglin](https://github.com/Yunnglin) 每次加载本地数据集的时候，都会生成这些文件，每次还是不同的文件命名。 原本的数据集就应该只有test.jsonl文件
> 
> from evalscope import TaskConfig, run_task
> 
> os.environ["HF_DATASETS_DISABLE_LOCK"] = "1" task_config = TaskConfig( api_url='http://0.0.0.0:7861/v1', # 推理服务地址 api_key="token-abc123", model='Llama-3.1-Nemotron-Nano-v1_8b', # 模型名称 (需要与部署时的模型名称一致) eval_type='service', # 评测类型，SERVICE表示评测推理服务 datasets=['math_500'], # 数据集名称 dataset_args={ 'math_500': { # 确保值是字典 'few_shot_num': 0, 'local_path': "./dataset/MATH-500/", # 路径末尾不要有多余斜杠 "subset_list": ["Level 1"], "filters": {"remove_until": ""} } }, eval_batch_size=4, # 发送请求的并发数 generation_config={ 'max_tokens': 32768, # 最大生成token数，建议设置为较大值避免输出截断 'temperature': 0.6, # 采样温度 (qwen 报告推荐值) 'top_p': 0.95, # top-p采样 (qwen 报告推荐值) # 'top_k': 40, # top-k采样 (qwen 报告推荐值) 'n': 1, # 每个请求产生的回复数量 }, dataset_dir="./dataset/MATH-500/", # dataset_hub="huggingface", work_dir="./outputs/MATH-500", # 输出目录 use_cache="./outputs/MATH-500/", timeout=100000 ) run_task(task_config)
> 
> ![Image](https://github.com/user-attachments/assets/54b75f81-205e-43c6-9271-fca459f3bc90)

运行评测多次，每次都会生成不同的这些文件吗？你环境中使用的datasets和modelscope库版本是多少呢？

> > [@Yunnglin](https://github.com/Yunnglin) 每次加载本地数据集的时候，都会生成这些文件，每次还是不同的文件命名。 原本的数据集就应该只有test.jsonl文件
> > from evalscope import TaskConfig, run_task
> > os.environ["HF_DATASETS_DISABLE_LOCK"] = "1" task_config = TaskConfig( api_url='http://0.0.0.0:7861/v1', # 推理服务地址 api_key="token-abc123", model='Llama-3.1-Nemotron-Nano-v1_8b', # 模型名称 (需要与部署时的模型名称一致) eval_type='service', # 评测类型，SERVICE表示评测推理服务 datasets=['math_500'], # 数据集名称 dataset_args={ 'math_500': { # 确保值是字典 'few_shot_num': 0, 'local_path': "./dataset/MATH-500/", # 路径末尾不要有多余斜杠 "subset_list": ["Level 1"], "filters": {"remove_until": ""} } }, eval_batch_size=4, # 发送请求的并发数 generation_config={ 'max_tokens': 32768, # 最大生成token数，建议设置为较大值避免输出截断 'temperature': 0.6, # 采样温度 (qwen 报告推荐值) 'top_p': 0.95, # top-p采样 (qwen 报告推荐值) # 'top_k': 40, # top-k采样 (qwen 报告推荐值) 'n': 1, # 每个请求产生的回复数量 }, dataset_dir="./dataset/MATH-500/", # dataset_hub="huggingface", work_dir="./outputs/MATH-500", # 输出目录 use_cache="./outputs/MATH-500/", timeout=100000 ) run_task(task_config)
> > ![Image](https://github.com/user-attachments/assets/54b75f81-205e-43c6-9271-fca459f3bc90)
> 
> 运行评测多次，每次都会生成不同的这些文件吗？你环境中使用的datasets和modelscope库版本是多少呢？

modelscope==1.26.0
datasets==3.2.0

我知道了，evalscope加载数据集的时候默认传递了cache_dir参数，默认会在`~/.cache/modelscope/hub/datasets`下进行缓存，这个可以忽略，不会重新下载数据。

> 我知道了，evalscope加载数据集的时候默认传递了cache_dir参数，默认会在`~/.cache/modelscope/hub/datasets`下进行缓存，这个可以忽略，不会重新下载数据。

![Image](https://github.com/user-attachments/assets/af0e15a9-dec6-4ead-8807-7b2f8e0a5761)
这个吗？
但是我现在设置的是这个路径

![Image](https://github.com/user-attachments/assets/40967c51-446c-4116-8cbf-a6faec8dc8dd)
然后你看上一个回复的截图中，生成了两次相同的一些文件和文件夹，只是命名不一样，下面这个截图

![Image](https://github.com/user-attachments/assets/ddd81a2a-a749-44d5-91c2-168f18ae71d7)

这个缓存是必须会生成的？必须会生成的话为什么每次都会生成不同的缓存文件？有一次的缓存文件不就行了?

> 必须会生成的话为什么每次都会生成不同的缓存文件？有一次的缓存文件不就行了?

相同文件的缓存只会生成一次。你是否修改了文件夹里面的内容，导致有两次缓存

> > 必须会生成的话为什么每次都会生成不同的缓存文件？有一次的缓存文件不就行了?
> 
> 相同文件的缓存只会生成一次。你是否修改了文件夹里面的内容，导致有两次缓存

没有改文件夹里面的文件，只是把dataset_infos.json删掉了

> 没有改文件夹里面的文件，只是把dataset_infos.json删掉了

这样是对文件进行了修改，再次运行不会再生成新的缓存了

> > 没有改文件夹里面的文件，只是把dataset_infos.json删掉了
> 
> 这样是对文件进行了修改，再次运行不会再生成新的缓存了

之前你建议不是把这个文件删除吗，然后才不会报错的嘛

> 之前你建议不是把这个文件删除吗，然后才不会报错的嘛

这个生成的缓存对模型评测没有影响，这是modelscope加载数据集的默认行为，可以忽略。如果对这个有疑问的话，欢迎新开一个issue来进行讨论。

> > 之前你建议不是把这个文件删除吗，然后才不会报错的嘛
> 
> 这个生成的缓存对模型评测没有影响，这是modelscope加载数据集的默认行为，可以忽略。如果对这个有疑问的话，欢迎新开一个issue来进行讨论。

我的意思生成一次缓存文件就够了，下次再执行的时候就不用再缓存新的文件，我现在的现象是生成了新的缓存文件

@maidouxiaozi 新版本已发布，已修复该问题，请更新后再尝试一下

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