错误码说明
TMAN-CMD-001
错误描述
该错误表明在执行命令时,缺少必填的输入参数。 通过命令行启动ais_bench评测工具时,必须指定模型配置和数据集配置。 合法场景示例:
# 使用开源数据集,必须通过`--models`指定模型任务,通过`--datasets`指定数据集任务
ais_bench --models vllm_api_stream_chat --datasets gsm8k_gen
# 使用自定义数据集,必须通过`--models`指定模型任务,通过`--custom_dataset_path`指定自定义数据集路径
ais_bench --models vllm_api_stream_chat --custom_dataset_path /path/to/custom/dataset
解决办法
参考合法场景示例补齐缺失参数。
TMAN-CMD-002
错误描述
该报错表明命令行参数的取值不在合法范围内
解决办法
在本文档中搜索日志中出现的具体命令行,找到命令行说明中对参数取值的约束。
例如执行ais_bench --models vllm_api_stream_chat --datasets gsm8k_gen --num-prompts -1 --mode perf 出现本报错,在文档中检索--num-prompts,找到参数说明中的约束
参数 |
说明 |
示例 |
|---|---|---|
|
指定数据集测评条数,需传入正整数,超过数据集条数或默认情况下表示对全量数据集进行测评。 |
|
参数说明中约束为正整数,需大于0。
TMAN-CFG-001
错误描述
.py配置文件中的内容存在语法错误,导致解析失败。
解决办法
检查日志中打印配置文件中存在的python语法错误(ais_bench评测工具可修改的配置文件均遵循python语法),例如缺少引号、括号不匹配等,并修正。
TMAN-CFG-002
错误描述
.py配置文件中缺少必要的参数,导致解析失败。
例如,具体报错日志为:Config file /path/to/vllm_api_stream_chat.py does not contain 'models' param!,这表明配置文件中缺少models参数。
合法的vllm_api_stream_chat.py内容中包含models参数:
# ......
models = [
dict(
attr="service",
type=VLLMCustomAPIChat,
abbr="vllm-api-stream-chat",
# ......
)
]
解决办法
在报错日志中打印的.py配置文件中,补齐日志中提示缺失的参数.
TMAN-CFG-003
错误描述
.py配置文件中存在的参数类型错误,导致解析失败。
例如vllm_api_stream_chat.py配置文件中,相关配置为:
# ......
models = dict(
attr="service",
type=VLLMCustomAPIChat,
abbr="vllm-api-stream-chat",
# ......
)
具体报错日志为:In config file /path/to/vllm_api_stream_chat.py, 'models' param must be a list!,这表明配置文件中models参数的类型错误,应是列表类型(实际是字典类型)。
解决办法
在报错日志中打印的.py配置文件中,依据日志中提示将错误的参数类型更正为要求的参数类型。
UTILS-MATCH-001
错误描述
通过--models、--datasets或--summarizer指定的任务名称,无法匹配到与任务名称同名的.py配置文件。
解决办法
检查日志提示的无法匹配的任务名称,例如xxxx无法匹配会打印如下日志:
+------------------------+
| Not matched patterns |
|------------------------|
| xxxx |
+------------------------+
场景 1:未指定配置文件所在文件夹路径
先执行pip3 show ais_bench_benchmark | grep "Location:",查看ais_bench评测工具安装路径,例如执行后得到如下信息:
Location: /usr/local/lib/python3.10/dist-packages
那么配置文件所在路径为/usr/local/lib/python3.10/dist-packages/ais_bench/benchmark/configs,进入该路径
如果无法匹配的任务名称通过
--models指定,那么检查models/路径内(含多级目录)是否存在与任务名称同名的.py配置文件。如果无法匹配的任务名称通过
--datasets指定,那么检查datasets/路径内(含多级目录)是否存在与任务名称同名的.py配置文件。如果无法匹配的任务名称通过
--summarizer指定,那么检查summarizers/路径内(含多级目录)是否存在与任务名称同名的.py配置文件。
场景 2:指定了配置文件所在文件夹路径
如果在执行命令时,通过--config-dir指定了配置文件所在文件夹路径,那么进入该路径
如果无法匹配的任务名称通过
--models指定,那么检查models/路径内(含多级目录)是否存在与任务名称同名的.py配置文件。如果无法匹配的任务名称通过
--datasets指定,那么检查datasets/路径内(含多级目录)是否存在与任务名称同名的.py配置文件。如果无法匹配的任务名称通过
--summarizer指定,那么检查summarizers/路径内(含多级目录)是否存在与任务名称同名的.py配置文件。
UTILS-CFG-001
错误描述
使用随机合成数据集tokenid场景下,模型配置文件必须指定tokenizer路径。
解决办法
假设ais_bench评测工具命令为ais_bench --models vllm_api_stream_chat --datasets synthetic_gen_tokenid --mode perf,那么vllm_api_stream_chat.py(配置文件路径检索方式参考任务对应配置文件修改)配置文件中models中所有的path参数须传入tokenizer路径(一般就是模型权重文件夹路径)。
# ......
models = dict(
attr="service",
type=VLLMCustomAPIChat,
abbr="vllm-api-stream-chat",
path="/path/to/tokenizer", # 传入tokenizer路径
# ......
)
UTILS-CFG-002
错误描述
通过模型配置文件内参数初始化模型实例时,因为参数内容非法而失败。
解决办法
检查日志中build failed with the following errors:{error_content},依据error_content的提示修正模型配置文件内参数。
例如模型配置文件中batch_size参数值为100001,error_content为"batch_size must be an integer in the range (0, 100000],表面batch_size参数超出了合法范围(0, 100000],那么需要将batch_size参数值修正为100000。
UTILS-CFG-003
错误描述
模型配置文件内参数取值在工具限定范围内
解决办法
依据详细日志提示配置工具限定范围内的参数取值,例如配置文件内容为:
# vllm_stream_api_chat.py中
models = [
dict(
attr="service1",
# ......
)
]
详细报错日志为:
Model config contain illegal attr, 'attr' in model config is 'service1', only 'local' and 'service' are supported!
这表明模型参数attr取值为'service1',而工具限定范围内只支持'local'和'service'两种取值,需要将attr设置为合法的取值之一。
UTILS-CFG-004
错误描述
模型参数的部分配置项在每个模型的配置中必须一致,不能出现不同的取值。
解决办法
依据详细日志的提示统一配置的取值,例如配置文件内容为;
# vllm_stream_api_chat.py中
models = [
dict(
attr="service",
# ......
),
dict(
attr="local"
)
]
详细报错日志为:
Cannot run local and service model together! Please check 'attr' parameter of models
因为models配置中包含了'service'和'local'两种参数取值,而工具只支持统一配置一种,因此需要将models配置中attr参数设置为'service'或'local'中的一种。
UTILS-CFG-008
错误描述
加载的多模态数据集内容非法。
解决办法
若报错日志为
Invalid dataset: /path/to/non-mm-dataset , please check whether the dataset is a MM-style dataset!,说明指定的数据集/path/to/non-mm-dataset不是一个合法的多模态风格的数据集,合法的数据集中每条数据至少包含type或path字段,如果包含type字段,那么type字段取值必须为["image", "video", "audio"]之一。若报错日志为
Param 'mm_type' does not match the data type of dataset: /path/to/mm-dataset , please check it!,说明指定的数据集/path/to/mm-dataset是一个合法的多模态风格的数据集,但是数据集配置文件中的提示词工程配置的mm_type字段取值非法,而合法的mm_type字段取值必须为["image", "video", "audio"]之一。
UTILS-DEPENDENCY-001
错误描述
执行过程中缺少必要依赖模块。
解决办法
若详细报错日志为Failed to import required modules. Please install the necessary packages: pip install math_verify,那么就参照详细日志的指引,执行pip install math_verify安装依赖库。
UTILS-TYPE-001
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
UTILS-TYPE-002
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
UTILS-TYPE-003
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
UTILS-TYPE-004
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
UTILS-TYPE-005
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
UTILS-TYPE-006
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
UTILS-TYPE-007
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
UTILS-TYPE-008
错误描述
命令行参数值过大。
解决办法
若报错日志为'--max-num-workers' must be <= 8, but got 9 ......,这说明命令行参数--max-num-workers的值为9,而工具限定范围内只支持8个最大并发数,因此需要将--max-num-workers参数值修正为 <= 8。
UTILS-TYPE-009
错误描述
命令行参数值类型不是整数。
解决办法
若报错日志为'--max-num-workers' must be an integer, but got '9' ......,这说明命令行参数--max-num-workers的值为字符串’9’,而工具限定范围内只支持整数类型,因此需要将--max-num-workers参数值修正为整数类型。
UTILS-TYPE-010
错误描述
命令行参数值过小。
解决办法
若报错日志为'--max-num-workers' must be >= 1, but got 0 ......,这说明命令行参数--max-num-workers的值为0,而工具限定范围内只支持1个以上并发数,因此需要将--max-num-workers参数值修正为 >= 1。
UTILS-PARAM-001
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
UTILS-PARAM-002
错误描述
自定义数据集场景下,配置文件*.meta.json中request_count参数不在合法范围。
解决办法
若报错为Please make sure that the value of parameter 'request_count' can be converted to int(greater than 0).,说明*.meta.json中request_count参数需要设置为 > 0。
UTILS-PARAM-003
错误描述
自定义数据集场景下,配置文件*.meta.json中min_value参数大于max_value参数。
解决办法
若报错为When the uniform distribution is set, parameter 'min_value' must be less than or equal to parameter 'max_value'.,说明*.meta.json中min_value参数需要设置为 <= max_value参数,需要修正为min_value <= max_value。
UTILS-PARAM-004
错误描述
自定义数据集场景下,配置文件*.meta.json中min_value和max_value参数不在合法范围
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
UTILS-PARAM-005
错误描述
自定义数据集场景下,配置文件*.meta.json中缺少必要参数。
解决办法
例如报错为When the uniform distribution is set, parameter 'min_value' and 'max_value' must be provided.,说明在uniform场景下,*.meta.json中需要同时设置min_value和max_value参数。
UTILS-PARAM-006
错误描述
自定义数据集场景下,配置文件*.meta.json中percentage_distribute参数不合法
解决办法
percentage_distribute的参数合法取值范围在详细日志中有介绍:
Ensure the configuration data follows the format [max_tokens, percentage], where:
- 'max_tokens' must be a positive number (greater than 0).
- 'percentage' must be a float between 0 and 1 (greater than 0 and inclusive 1).
- The sum of all 'percentage' values must equal exactly 1.
Example valid format: [[1000, 0.5],[500,0.5]] or [[2000, 1.0]]
Example invalid formats: [[0, 0.5]] (max_tokens <= 0), [[1000, 1.5]] (percentage > 1), [[1000, 0.3], [500,0.2]] (sum not 1)
UTILS-PARAM-007
错误描述
自定义数据集场景下,配置文件*.meta.json中,定义数据分发方式的method参数值不在合法范围内。
解决办法
若报错为Type of data distribution(method): uniform1 not supported, legal methods chosen from ['uniform', 'percentage'].,说明*.meta.json中method参数值uniform1不在合法范围内,需要修正为method参数值为uniform或percentage。
UTILS-PARAM-008
错误描述
自定义数据集场景下,配置文件*.meta.json中包含非法字段。
解决办法
若具体报错为There are illegal keys: xxxxxx,yyyyyy,说明*.meta.json中包含了xxxxxx和yyyyyy这两个非法字段,需要将这两个字段从*.meta.json中删除。
UTILS-FILE-002
错误描述
模型配置文件中path参数表示的tokenizer路径不存在。
解决办法
若模型配置文件中内容为:
# vllm_stream_api_chat.py中
models = [
dict(
# ......
path="/path/to/invalid",
# ......
),
]
具体报错日志为Tokenizer path '/path/to/invalid' does not exist,说明模型配置文件中path参数指定的tokenizer路径/path/to/invalid不存在(取空也是属于不存在),需要修正为存在的tokenizer路径。
UTILS-FILE-003
错误描述
加载tokenizer文件失败。
解决办法
若报错为Failed to load tokenizer from /path/to/tokenizer: ExceptionName: XXXXXX,请确认/path/to/tokenizer路径下的tokenizer文件与当前运行环境的transformers版本是否匹配,若匹配,请依据XXXXXX表示的具体报错信息做进一步的问题定位。
UTILS-FILE-004
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
PARTI-FILE-001
错误描述
输出路径文件的权限不足,工具无法将结果写入。
解决办法
例如报错日志为:
Current user can't modify /path/to/workspace/outputs/default/20250628_151326/predictions/vllm-api-stream-chat/gsm8k.json, reuse will not enable.
执行ls -l /path/to/workspace/outputs/default/20250628_151326/predictions/vllm-api-stream-chat/gsm8k.json查看此路径属主和权限,发现该文件当前用户不可写,需要给该文件添加当前用户的写权限(例如执行chmod u+w /path/to/workspace/outputs/default/20250628_151326/predictions/vllm-api-stream-chat/gsm8k.json即可添加当前用户的写权限)。
CALC-MTRC-001
错误描述
性能结果数据无效,无法计算指标。
解决办法
场景 1:性能结果原始数据为空
如果在执行命令时,通过--mode perf_viz指定了性能结果重计算,若基础输出路径为outputs/default/20250628_151326(查找打屏中Current exp folder: ),那么检查该路径下performances/文件夹内的*_details.jsonl文件内容是否都为空,若为空,则需要先执行一次评测,生成性能结果数据。
场景 2:性能结果原始数据不包含任何有效值
如果在执行命令时,通过--mode perf_viz指定了性能结果重计算,若基础输出路径为outputs/default/20250628_151326(查找打屏中Current exp folder: ),那么检查该路径下performances/文件夹内的*_details.jsonl文件内容不包含任何有效字段(可能被篡改了),则需要重新执行性能测评,生成新的数据。
CALC-FILE-001
错误描述
落盘性能结果数据失败
解决办法
若详细的报错日志为;
Failed to write request level performance metrics to csv file '{/path/to/workspace/outputs/default/20250628_151326/performances/vllm-api-stream-chat/gsm8k.csv': XXXXXX
其中XXXXXX为具体落盘失败的原因,例如Permission denied表示该文件已存在且当前用户没有写权限,可以选择删除该文件或者给已存在的文件添加当前用户的写权限。
CALC-DATA-001
错误描述
所有结束的推理请求都没有获取到有效的性能指标数据,无法计算指标。
解决办法
若具体日志为:
All requests failed, cannot calculate performance results. Please check the error logs from responses!
这表明推理过程中的所有请求都失败了,需要进一步去查看请求失败的日志,定位请求失败的原因。
如果命令中包含
--debug,请求失败的日志将直接打屏,可以在打屏记录中查看如果命令中不包含
--debug,打屏记录中会有[ERROR] [RUNNER-TASK-001]task failed. OpenICLApiInfervllm-api-stream-chat/synthetic failed with code 1, see outputs/default/20251125_160128/logs/infer/vllm-api-stream-chat/synthetic.out类似的日志,可以在outputs/default/20251125_160128/logs/infer/vllm-api-stream-chat/synthetic.out中查看具体请求失败的原因。
CALC-DATA-002
错误描述
计算稳态性能指标时,在所有请求信息中找不到属于稳定阶段的请求,无法计算稳态指标。
解决办法
可以检查一下推理请求的并发图(参考文档:https://ais-bench-benchmark.readthedocs.io/zh-cn/latest/base_tutorials/results_intro/performance_visualization.html),确认并发阶梯图中Request Concurrency Count是否达到模型配置文件中设置的并发数(batch_size参数)且至少存在两个请求达到最大并发数。
若未满足上述条件,可以尝试以下方式达到稳定状态:
并发阶梯图中Request Concurrency Count持续增长之后直接持续下降
降低推理请求的并发数(模型配置文件中的
batch_size参数)。增加推理的总请求数。
并发阶梯图中Request Concurrency Count持续增长之后波动一段时间后持续下降
降低推理请求的并发数(模型配置文件中的
batch_size参数)。提高发送推理请求的频率(模型配置文件中的
request_tate参数)
SUMM-TYPE-001
错误描述
所有数据集任务的abbr参数配置存在混用的情况
解决办法
例如报错日志为:
mixed dataset_abbr type is not supported, dataset_abbr type only support (list, tuple) or str.
这表明在datasets配置中,所有数据集任务的abbr参数配置为不同的类型(例如list和str),需要将所有数据集任务的abbr参数配置统一为一个类型的值(例如list或str)。
SUMM-FILE-001
错误描述
在输出的工作路径下没有任何性能数据文件(*_details.jsonl)
解决办法
确认是否在执行评测时,通过
--mode perf_viz误指定了性能结果重计算,如果是希望完整地跑一遍性能测试,请指定--mode perf确认基础输出路径是否正确,例如
outputs/default/20250628_151326(查找打屏中Current exp folder:)。确认该路径下
performances/文件夹内是否存在*_details.jsonl文件,若不存在,请排查之前的打屏日志中的其他报错信息,确认是否有其他错误导致性能数据文件未生成,依据其他错误日志的指引进一步定位。
SUMM-MTRC-001
错误描述
详细性能数据中每条请求的有效字段个数不同
解决办法
检查基础输出路径例如outputs/default/20250628_151326(查找打屏中Current exp folder: )下的*_details.jsonl中每条请求的有效字段个数是否一致,若不一致,则需要检查打屏日志历史中是否有其他错误导致性能数据文件未生成,依据其他错误日志的指引进一步定位。
RUNNER-TASK-001
错误描述
测评任务执行失败
解决办法
例如具体报错为:[ERROR] [RUNNER-TASK-001]task failed. OpenICLApiInfervllm-api-stream-chat/synthetic failed with code 1, see outputs/default/20251125_160128/logs/infer/vllm-api-stream-chat/synthetic.out,请查看outputs/default/20251125_160128/logs/infer/vllm-api-stream-chat/synthetic.out中具体的报错信息,定位失败的原因。
TINFER-PARAM-001
错误描述
模型配置文件中的最大并发数batch_size不在合法范围内
解决办法
若报错日志为Concurrency must be greater than 0 and <= 100000, but got -1,则表示模型的最大并发数配置为-1,需要在模型配置文件中将batch_size参数配置为一个大于0且小于等于100000的整数。
例如:
# vllm_stream_api_chat.py中
models = [
dict(
attr="service",
# ......
batch_size=100,
# ......
),
]
TINFER-PARAM-002
错误描述
模型配置文件中的generation_kwargs参数的返回序列数num_return_sequences参数不在合法范围内
解决办法
若报错日志为num_return sequences must be a positive integer, but got {0,则表示模型的返回序列个数配置为0,需要在模型配置文件中将num_return_sequences参数配置为一个大于0的整数。
例如:
# vllm_stream_api_chat.py中
models = [
dict(
attr="service",
# ......
generation_kwargs=dict(
num_return_sequences=1,
),
# ......
),
]
TINFER-PARAM-004
错误描述
模型配置文件中traffic_cfg参数的爬升策略ramp_up_strategy参数不在合法范围内
解决办法
若报错日志为Invalid ramp_up_strategy: {constant} only support 'linear' and 'exponential',则表示模型的请求发送策略配置为一个不在['exponential', 'linear']中的值,需要在模型配置文件中将ramp_up_strategy参数配置为'exponential'或'linear'。
例如:
# vllm_stream_api_chat.py中
models = [
dict(
attr="service",
# ......
traffic_cfg=dict(
ramp_up_strategy="linear",
),
# ......
),
]
TINFER-PARAM-005
错误描述
工具运行推理时虚拟内存占用过高
解决办法
若具体报错日志为:
Virtual memory usage too high: 90% > 80% (Total memory: 50 GB "Used: 45 GB, Available: 5 GB, Dataset needed memory size: 3000 MB)
说明当前系统内存为50GB,已使用45GB,可用5GB,而数据集需要3000MB内存,因此会触发该错误。解决方法分两种情况:
若系统总内存不够,需要增加系统内存。
若系统总内存足够,但是数据集需要的内存大于可用内存,需要清理当前服务器上被占用的内存或者缓存。
TINFER-PARAM-006
错误描述
数据集配置中没有找到时间戳timestamp字段,但是模型配置文件中use_timestamp参数为True
解决办法
若报错日志为No timestamps found in datasets, but use_timestampis True! Make sure your dataset containstimestampfield or setuse_timestamp to False in model config.,则表示数据集配置中没有找到时间戳timestamp字段,但是模型配置文件中use_timestamp参数为True,需要将模型配置文件中use_timestamp参数配置为False。
例如:
# vllm_stream_api_chat.py中
models = [
dict(
attr="service",
# ......
use_timestamp=False,
# ......
),
]
TINFER-IMPL-001
错误描述
执行服务化推理任务时,推理任务内拉起多个进程时某个进程启动失败。
解决办法
若报错日志:
Failed to start worker x: XXXXXX, total workers to launch: 4
其中x为失败的进程编号,XXXXXX为具体失败的原因,4为总进程数。
解决方法:
若该报错日志的出现次数与总进程数一致,则说明所有进程都启动失败,需要检查具体失败的原因并做相应处理后重试。
若该报错日志的出现次数小于总进程数,则说明有进程启动失败,部分进程启动失败不影响评测任务的执行,但是会影响实际的的最大并发数
batch_size,请根据实际情况自行决定是否需要手动中断先定位具体失败的原因。
TINFER-RUNTIME-001
错误描述
测评推理服务化时,在预热阶段所有请求失败。
解决办法
若报错日志为Exit task because all warmup requests failed, failed reasons: XXXXXX,请根据具体的失败原因XXXXXX(来自服务的错误信息)定位问题并做相应处理后重试。
TEVAL-PARAM-001
错误描述
推理生成候选解个数n和从其中采集的样本数k的取值非法
解决办法
若报错日志为
k and n must be greater than 0 and k <= n, but got k: 16, n: 8
则表示k大于n,需要将k配置为一个小于等于n的整数。
例如:
在数据集配置文件中配置了
n和k两个参数,则在配置文件中将两个参数的取值设置为合法范围的值:
# 在aime2024_gen_0_shot_str.py中 k参数对应`k`
aime2024_datasets = [
dict(
abbr='aime2024',
type=Aime2024Dataset,
# ......
k=4,
n=8,
)
]
若数据集配置文件中未配置
n这个参数,模型配置文件中的num_return_sequences参数值将作为n的取值,需要将数据集配置文件中的k配置为一个小于等于模型配置文件中num_return_sequences的整数。
# 在vllm_stream_api_chat.py中 num_return_sequences参数对应`n`
models = [
dict(
attr="service",
# ......
generation_kwargs=dict(
num_return_sequences=8,
),
# ......
),
]
# 在aime2024_gen_0_shot_str.py中 k参数对应`k`
aime2024_datasets = [
dict(
abbr='aime2024',
type=Aime2024Dataset,
# ......
k=4,
)
]
ICLI-PARAM-001
错误描述
数据集配置文件中构造提示词工程的retriever参数的type参数不是BaseRetriever的子类或者不是BaseRetriever的子类的list
解决办法
如果想使用自定义的retriever类
CustomedRetriever,请确保CustomedRetriever是BaseRetriever的子类。如果想使用多个自定义的retriever类
CustomedRetriever1, CustomedRetriever2,则需要在数据集配置文件中配置retriever参数为[CustomedRetriever1, CustomedRetriever2],且list中的每个类都需要继承自BaseRetriever。
ICLI-PARAM-002
错误描述
多轮对话数据集配置文件中inferencer参数的infer_mode参数取值不在合法范围内
解决办法
以mtbench的配置文件为例,若mtbench_gen.py的配置如下:
mtbench_infer_cfg = dict(
# ......
inferencer=dict(type=MultiTurnGenInferencer, infer_mode="every1")
)
日志报错为:
Multiturn dialogue infer model only supports every、last or every_with_gt, but got every1
正确的配置应当将infer_mode参数配置为every、last或every_with_gt中的一个。
ICLI-PARAM-003
错误描述
命令行指定--mode perf --pressure进行性能压力测试时,模型配置文件中未指定batch_size参数
解决办法
以vllm_stream_api_chat.py配置文件为例:
# 在vllm_stream_api_chat.py中
models = [
dict(
attr="service",
# ......
batch_size=16,
# ......
),
]
ICLI-PARAM-004
错误描述
模型配置文件中的最大并发数batch_size不在合法范围内
解决办法
若报错日志为The range of batch_size is [1, 100000], but got -1. Please set it in datasets config,则表示模型的最大并发数配置为-1,需要在模型配置文件中将batch_size参数配置为一个大于0且小于等于100000的整数。
例如:
# vllm_stream_api_chat.py中
models = [
dict(
attr="service",
# ......
batch_size=100,
# ......
),
]
ICLI-PARAM-006
错误描述
PPL类的数据集不支持性能测试
解决办法
查看使用的数据集配置文件,例如:
# ARC_c_ppl_0_shot_str.py中
ARC_c_infer_cfg = dict(
# ......
inferencer=dict(type=PPLInferencer))
inferencer的type为PPLInferencer,这种数据集配置文件不支持性能测试,因此需要换成其他数据集配置文件或者指定--mode all执行精度测评
ICLI-PARAM-007
错误描述
PPL类的数据集不支持使用流式的模型配置进行推理
解决办法
查看使用的数据集配置文件,例如:
# ARC_c_ppl_0_shot_str.py中
ARC_c_infer_cfg = dict(
# ......
inferencer=dict(type=PPLInferencer))
inferencer的type为PPLInferencer,这种数据集配置文件不支持使用流式的模型配置进行推理,因此需要换成其他数据集配置文件,或者--models指定非流式的模型配置文件,例如--models vllm_api_general_chat
ICLI-IMPL-004
错误描述
BFCL数据集不支持性能测试
解决办法
若希望使用BFCL数据集任务进行精度测试,单命令行中误指定
--mode perf,则会进行性能测试,命令行中改为--mode all指定为精度测试。若希望使用BFCL数据集任务进行性能测试,则当前不支持。
ICLI-IMPL-006
错误描述
接口类型为流式接口的模型任务不支持使用BFCL数据集进行精度测评
解决办法
参考模型配置说明,选取接口类型为文本接口(例如vllm_api_general_chat)的模型任务进行推理。
ICLI-IMPL-008
错误描述
当前模型配置文件对应的模型后端没有实现PPL推理所需的方法
解决办法
参考文档(暂时还没有)查看哪些模型配置支持PPL推理,例如vllm_api_general_chat
ICLI-IMPL-010
错误描述
PPL推理场景下某次推理结果中没有任何tokenid导致无法计算loss
解决办法
确认被测推理对象(推理服务)是否支持PPL推理,能否正常返回PPL推理所需的合法的prompt_logprobs
ICLI-RUNTIME-001
错误描述
预热访问推理服务时获取推理结果失败了
解决办法
若日志为Get result from cache queue failed: XXXXXX其中XXXXXX为获取推理结果失败的具体原因,请依据具体原因做相应的处理(例如如果是超时相关的异常,请确认推理服务的超时时间是否设置合理或者检查当前配置能否正常访问推理服务)。
ICLI-FILE-001
错误描述
落盘推理结果文件失败。
解决办法
若日志为
Failed to write results to /path/to/outputs/default/20250628_151326/*/*/*.json: XXXXXX,则表示精度场景推理结果落盘失败,请依据XXXXXX表示的具体保存原因(例如权限问题、磁盘空间不足等)进行排查和解决。若日志为
Failed to write results to /path/to/outputs/default/20250628_151326/*/*/*.jsonl: XXXXXX,则表示性能场景推理结果落盘失败,请依据XXXXXX表示的具体保存原因(例如权限问题、磁盘空间不足等)进行排查和解决。
ICLI-FILE-002
错误描述
将numpy格式的数据(例如每条请求的ITL数据)保存到数据库中失败
解决办法
若日志为Failed to save numpy array to database: XXXXXX,则表示将numpy格式的数据保存到数据库中失败,请依据XXXXXX表示的具体保存原因(例如数据库连接问题、数据库表不存在等)进行排查和解决。
ICLE-DATA-002
错误描述
配置的推理生成候选解个数n与实际返回的候选解个数不一致。
解决办法
若命令行中指定
--mode all或者不指定--mode,则表示执行infer + evaluate,这种场景触发此异常说明工具本身存在bug,可以在issue中反馈。若命令行中指定
--mode eval则基于之前的推理结果进行evaluate,若异常报错为;Replication length mismatch, len of replications: 4 != n: 8,那么需要在数据集任务对应的配置文件中将参数n设置为replication的数量4:
# 在aime2024_gen_0_shot_str.py中 k参数对应`k`
aime2024_datasets = [
dict(
abbr='aime2024',
type=Aime2024Dataset,
# ......
n=4,
)
]
ICLR-TYPE-001
错误描述
数据集配置文件中,提示词模板的类型不正确,当前仅支持str或dict类型。
解决办法
确认数据集配置文件中,推理配置中的提示词模板的类型为str或dict,例如:
# 在aime2024_gen_0_shot_str.py中
aime2024_infer_cfg = dict(
prompt_template=dict(
type=PromptTemplate,
template='{question}\nPlease reason step by step, and put your final answer within \\boxed{}.' # str类型
),
# ......
)
# 在aime2024_gen_0_shot_chat_prompt.py中
aime2024_infer_cfg = dict(
prompt_template=dict(
type=PromptTemplate,
template=dict( # dict类型
round=[
dict(
role="HUMAN",
prompt="{question}\nPlease reason step by step, and put your final answer within \\boxed{}.",
),
],
),
),
# ......
)
如果template参数的取值的类型不对,请更正为str或dict类型。
ICLR-TYPE-002
错误描述
数据集配置文件中,提示词模板的类型为dict时,其中所有键值对value的取值类型错误,取值类型当前仅支持str,list和dict。
解决办法
确认数据集配置文件中,推理配置中的提示词模板中所有键值对value的取值类型为str,list或dict,例如:
# 在aime2024_gen_0_shot_chat_prompt.py中
aime2024_infer_cfg = dict(
prompt_template=dict(
type=PromptTemplate,
template=dict( # dict类型
round=[
dict(
role="HUMAN", # str 类型
prompt="{question}\nPlease reason step by step, and put your final answer within \\boxed{}.", # str类型
),
],
),
),
# ......
)
ICLR-PARAM-001
错误描述
数据集配置文件中,提示词模板配置了ice_token参数时,template参数的取值中未包含ice_token参数的取值
解决办法
当
template参数类型为str时,确认template取值的字符串中包含ice_token参数的取值。例如:
# 在ceval_gen_5_shot_str.py中
ceval_infer_cfg = dict(
ice_template=dict(
type=PromptTemplate,
template=f'以下是中国关于{_ch_name}考试的单项选择题,请选出其中的正确答案。\n</E>{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}\n答案: {{answer}}', # 字符串中包含ice_token的取值'</E>'
ice_token='</E>',
),
retriever=dict(type=FixKRetriever, fix_id_list=[0, 1, 2, 3, 4]),
inferencer=dict(type=GenInferencer),
)
当
template参数类型为dict时,确认template取值的字典中所有键值对value的取值中存在ice_token参数的取值。例如:
# 在aime2024_gen_0_shot_chat_prompt.py中
cmmlu_infer_cfg = dict(
# ......
prompt_template=dict(
type=PromptTemplate,
template=dict(
begin='</E>', # 与ice_token取值相同
round=[
dict(role='HUMAN', prompt=prompt_prefix+QUERY_TEMPLATE),
],
),
ice_token='</E>',
),
# ......
)
ICLR-PARAM-002
错误描述
数据集配置文件需要基于训练集构造few-shots时未指定ice_template参数。
解决办法
以cmmlu_gen_5_shot_cot_chat_prompt.py为例,该配置中指定retriever=dict(type=FixKRetriever, fix_id_list=[0, 1, 2, 3, 4]),来构造few-shots,因此必须指定ice_template参数,可以参考其内容做修改:
cmmlu_infer_cfg = dict(
ice_template=dict( # 必须配置ice_template
type=PromptTemplate,
template=dict(round=[
dict(
role='HUMAN',
prompt=prompt_prefix+QUERY_TEMPLATE,
),
dict(role='BOT', prompt="{answer}\n",)
]),
),
prompt_template=dict(
type=PromptTemplate,
template=dict(
begin='</E>',
round=[
dict(role='HUMAN', prompt=prompt_prefix+QUERY_TEMPLATE),
],
),
ice_token='</E>',
),
retriever=dict(type=FixKRetriever, fix_id_list=[0, 1, 2, 3, 4]), # 指定了5-shots
inferencer=dict(type=GenInferencer),
)
ICLR-PARAM-003
错误描述
多模态类的数据集配置文件中,提示词模板中的prompt_mm参数的key取值不是[“text”, “image”, “video”, “audio”]之一。
解决办法
以textvqa_gen_base64.py为例,该配置中提示词模板中的prompt_mm参数的key取值为"text",“image”,“video”,"audio"之一,可以参考其内容做修改:
textvqa_infer_cfg = dict(
prompt_template=dict(
type=MMPromptTemplate,
template=dict(
round=[
dict(role="HUMAN", prompt_mm={ # prompt_mm参数的key取值为"text","image","video","audio"之一
"text": {"type": "text", "text": "{question} Answer the question using a single word or phrase."},
"image": {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,{image}"}},
"video": {"type": "video_url", "video_url": {"url": "data:video/jpeg;base64,{video}"}},
"audio": {"type": "audio_url", "audio_url": {"url": "data:audio/wav;base64,{audio}"}},
})
]
)
),
retriever=dict(type=ZeroRetriever),
inferencer=dict(type=GenInferencer)
)
ICLR-PARAM-004
错误描述
数据集配置文件中构造few-shots的fix_id_list中的id取值超出了训练集可选取id的范围。
解决办法
若数据集配置文件中的构造few-shots的配置如下:
retriever=dict(type=FixKRetriever, fix_id_list=[1,2,5,8]),
详细报错日志为Fix-K retriever index 8 is out of range of [0, 8),说明fix_id_list中的id取值超出了训练集可选取id的范围[0, 8),需要修正在此范围内。
ICLR-IMPL-002
错误描述
在数据集配置文件中的提示词模板中,未配置ice_token参数。
解决办法
若同时存在
prompt_template参数和ice_template参数,日志报错为ice_token of prompt_template is not provided,则prompt_template参数中必须存在ice_token参数,例如
cmmlu_infer_cfg = dict(
ice_template=dict(
type=PromptTemplate,
template=dict(round=[
dict(
role='HUMAN',
prompt=prompt_prefix+QUERY_TEMPLATE,
),
dict(role='BOT', prompt="{answer}\n",)
]),
),
prompt_template=dict(
type=PromptTemplate,
template=dict(
begin='</E>',
round=[
dict(role='HUMAN', prompt=prompt_prefix+QUERY_TEMPLATE),
],
),
ice_token='</E>', # 必须设置
),
retriever=dict(type=FixKRetriever, fix_id_list=[0, 1, 2, 3, 4]), # 指定了5-shots
inferencer=dict(type=GenInferencer),
)
若仅存在
ice_template参数,日志报错为ice_token of ice_template is not provided,则ice_template参数中必须存在ice_token参数,例如
ceval_infer_cfg = dict(
ice_template=dict(
type=PromptTemplate,
template=f'以下是中国关于{_ch_name}考试的单项选择题,请选出其中的正确答案。\n</E>{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}\n答案: {{answer}}',
ice_token='</E>', # 必须存在
),
retriever=dict(type=FixKRetriever, fix_id_list=[0, 1, 2, 3, 4]),
inferencer=dict(type=GenInferencer),
)
ICLR-IMPL-003
错误描述
数据集配置文件中缺失必要的模板字段
解决办法
若报错日志为Leaving prompt as empty is not supported,说明数据集配置文件中至少需要存在prompt_template参数和ice_template参数的其中一个。
例如
cmmlu_infer_cfg = dict( # ice_template和prompt_template至少存在一个
ice_template=dict(
type=PromptTemplate,
template=dict(round=[
dict(
role='HUMAN',
prompt=prompt_prefix+QUERY_TEMPLATE,
),
dict(role='BOT', prompt="{answer}\n",)
]),
),
prompt_template=dict(
type=PromptTemplate,
template=dict(
begin='</E>',
round=[
dict(role='HUMAN', prompt=prompt_prefix+QUERY_TEMPLATE),
],
),
ice_token='</E>', # 必须设置
),
retriever=dict(type=FixKRetriever, fix_id_list=[0, 1, 2, 3, 4]), # 指定了5-shots
inferencer=dict(type=GenInferencer),
)
MODEL-IMPL-001
错误描述
当基于BaseAPIModel类实现一个新的类时,未实现parse_text_response方法,无法通过文本接口测试推理服务。
解决办法
(面向开发者)实现基于BaseAPIModel类的子类时,若希望通过文本接口测试推理服务,需要实现
parse_text_response方法,用于解析模型返回的文本响应,将其转换为模型推理服务的输出格式。
MODEL-IMPL-002
错误描述
当基于BaseAPIModel类实现一个新的类时,未实现parse_stream_response方法,无法通过流式接口测试推理服务。
解决办法
(面向开发者)实现基于BaseAPIModel类的子类时,若希望通过流式接口测试推理服务,需要实现
parse_stream_response方法,用于解析模型返回的流式响应,将其转换为模型推理服务的输出格式。
MODEL-PARAM-002
错误描述
数据集配置文件中,chat类型的prompt template中没有包含role或fallback_role字段
解决办法
参考以下配置文件内容:
cmmlu_infer_cfg = dict(
ice_template=dict(
type=PromptTemplate,
template=dict(round=[
dict(
role='HUMAN', # 包含'role字段'
prompt=prompt_prefix+QUERY_TEMPLATE,
),
dict(role='BOT', prompt="{answer}\n",)
]),
),
prompt_template=dict(
type=PromptTemplate,
template=dict(
begin='</E>',
round=[
dict(role='HUMAN', prompt=prompt_prefix+QUERY_TEMPLATE),
],
),
ice_token='</E>',
),
retriever=dict(type=FixKRetriever, fix_id_list=[0, 1, 2, 3, 4]), # 指定了5-shots
inferencer=dict(type=GenInferencer),
)
MODEL-PARAM-003
错误描述
数据集配置文件中提示词工程chat模板的role参数的取值不在合法范围。
解决办法
若数据集配置文件中chat模板相关的配置如下:
# 以aime2024_gen_0_shot_chat_prompt.py为例
aime2024_infer_cfg = dict(
prompt_template=dict(
type=PromptTemplate,
template=dict(
round=[
dict(
role="HUMAN1",
prompt="{question}\nPlease reason step by step, and put your final answer within \\boxed{}.",
),
],
),
),
# ......
)
报错日志为Unknown role HUMAN1 in chat template, legal role chosen from ['HUMAN', 'BOT', 'SYSTEM'].说明chat模板中role参数的值为HUMAN1,而合法的role值为HUMAN、BOT、SYSTEM,因此需要将role参数值修正为HUMAN、BOT、SYSTEM中的一个。
MODEL-PARAM-004
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
MODEL-PARAM-005
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
MODEL-TYPE-001
错误描述
数据集配置文件中,提示词工程模板中不支持一组字符串。
解决办法
若数据集配置文件中提示词模板相关的配置如下:
# 以aime2024_gen_0_shot_chat_prompt.py为例
aime2024_infer_cfg = dict(
prompt_template=dict(
type=PromptTemplate,
template=dict(
round=[ # list中包含多个字符串
"{question}\nPlease reason step by step, and put your final answer within \\boxed{}.",
"{question}\nPlease reason step by step, and put your final answer within \\boxed{}."
],
),
),
# ......
)
则会出现报错:Mixing str without explicit role is not allowed in API models!,请将round改为合法的chat模板,例如:
round=[
dict(
role="HUMAN1",
prompt="{question}\nPlease reason step by step, and put your final answer within \\boxed{}.",
),
],
MODEL-TYPE-002
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
MODEL-TYPE-003
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
MODEL-TYPE-004
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
MODEL-DATA-001
错误描述
模型任务向被测推理服务获取模型名称信息失败。
解决办法
若报错为Failed to get service model path from http://url-to-infer-service. Error: XXXXXX,说明访问http://url-to-infer-service/v1/models失败,需要检查被测推理服务是否正常运行,以及是否开启了/v1/models子服务,也可依据具体报错XXXXXX,定位访问http://url-to-infer-service/v1/models失败的原因。若urlhttp://url-to-infer-service/不支持v1/models子服务,可以在模型配置文件中在model参数中配置模型名称,例如:
# vllm_api_stream_chat.py中
models = [
dict(
# ......
model="name_of_model",
# ......
)
]
MODEL-DATA-002
错误描述
数据集配置文件中未包含必要参数。
解决办法
若报错为Invalid prompt content: without 'prompt' or 'prompt_mm' param!,说明数据集配置文件中未包含prompt或prompt_mm参数之一,需要在数据集配置文件中添加这两个参数之一,例如:
# 以aime2024_gen_0_shot_chat_prompt.py为例
aime2024_infer_cfg = dict(
prompt_template=dict(
type=PromptTemplate,
template=dict(
round=[
dict( # 必须包含prompt或prompt_mm字段之一
role="HUMAN",
prompt="{question}\nPlease reason step by step, and put your final answer within \\boxed{}.",
),
],
),
),
# ......
)
MODEL-DATA-003
错误描述
以JSON格式解析请求的返回结果时失败。
解决办法
若报错为Unexpected response format. Please check 'error_info' in {dataset_abbr}_failed.jsonl for more information.,那么需要在当前推理任务落盘路径(例如outputs/default/20250628_151326/performances/vllm-api-stream-chat/)下的{dataset_abbr}_failed.jsonl文件中查看具体的错误信息(error_info字段的内容),并进一步寻求解决方法。
MODEL-CFG-001
错误描述
本地模型配置文件中未配置max_seq_len参数。
解决办法
若报错为max_seq_len is not provided and cannot be inferred from the model config.说明需要在本地模型配置文件中添加max_seq_len参数,例如:
# hf_chat_model.py中
models = [
dict(
attr="local",
# ......
max_seq_len=2048,
# ......
)
]
MODEL-MOD-001
错误描述
模型执行需要的特殊依赖未安装。
解决办法
若报错为fastchat module not found. Please install with\npip install "fschat[model_worker,webui]",说明缺少fastchat这个依赖,可以执行pip install "fschat[model_worker,webui]"安装。
DSET-CFG-001
错误描述
数据集配置文件中缺少path字段指定数据集路径。
解决办法
若报错为The 'path' argument is required to load the dataset.,说明数据集配置文件中未包含path字段,需要在数据集配置文件中添加path字段,例如:
# aime2024_gen_0_shot_chat_prompt.py中
aime2024_datasets = [
dict(
abbr='aime2024',
type=Aime2024Dataset,
path='ais_bench/datasets/aime/aime.jsonl', # 必填字段,配置数据集路径
# ......
)
]
DSET-FILE-001
错误描述
数据集文件不存在。
解决办法
若报错为
Path is not a directory or Parquet file: /path/to/dataset.jsonl,说明/path/to/dataset.jsonl不是所需的.parquet格式的数据集,请确认数据集格式符合预期。若报错为
No Parquet file found in /path/to/dataset/.,说明在/path/to/dataset/路径下找不到.parquet格式的数据集,请确认数据集格式符合预期。若报错为
"Dataset file not found: /path/to/dataset/,说明数据集路径/path/to/dataset/本身不存在,请确认数据集路径是否与预期传入的一致。若报错为
Corpus file not found. Please ensure {DEFAULT_CORPUS_FILE} exists in one of: [...],说明在使用 mooncake_trace 数据集时,找不到必需的语料库文件。请将assets/shakespeare.txt放在ais_bench/third_party/aiperf/assets/shakespeare.txt(以 ais_bench 包根为基准),或错误信息中列出的路径之一。
DSET-DATA-002
错误描述
数据集内容结构不合法。
解决办法
请依据详细报错的信息检查数据集内容中存在的格式问题。
DSET-DATA-005
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
DSET-DATA-006
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
DSET-PARAM-002
错误描述
推理生成候选解个数n和从其中采集的样本数k的取值非法
解决办法
若报错日志为
Maximum value of `k` 4 must be less than or equal to `n` 8
则表示k大于n,需要将k配置为一个小于等于n的整数。
例如:
在数据集配置文件中配置了
n和k两个参数,则在配置文件中将两个参数的取值设置为合法范围的值:
# 在aime2024_gen_0_shot_str.py中 k参数对应`k`
aime2024_datasets = [
dict(
abbr='aime2024',
type=Aime2024Dataset,
# ......
k=4,
n=8,
)
]
DSET-PARAM-004
错误描述
数据集配置文件中参数非法。
解决办法
请依据详细报错的信息检查数据集配置文件中内容中存在的参数取值非法问题。以下为 mooncake_trace / 时间戳调度相关典型场景:
timestamp:trace 数据中的
timestamp字段类型必须为 float 或 int,且 >= 0;否则会报错并提示类型或取值范围。hash_ids 与 input_length 不兼容:报错信息包含
Input length: ..., Hash IDs: ..., Block size: 512 ... Final block size: ... must be > 0 and <= 512时,需保证(len(hash_ids)-1)*512+1 <= input_length <= len(hash_ids)*512。fixed_schedule 参数:当
fixed_schedule_end_offset >= 0时,fixed_schedule_start_offset必须 <=fixed_schedule_end_offset。
DSET-PARAM-005
错误描述
数据集加载或处理过程中缺少必需的参数。
解决办法
根据详细报错信息,检查并补齐缺失的必需参数。例如:
若报错为
mean must be provided,说明在使用 mooncake_trace 数据集时,需要提供mean参数(通过 trace 的input_length传入)用于生成提示词。若报错为
Either 'input_text' or 'input_length' must be provided,说明在 mooncake trace 的 JSONL 单条数据中,未提供input_text时必须提供input_length字段。
DSET-UNK-001
错误描述
数据集或依赖组件在未正确初始化时发生未知错误。
解决办法
若报错为 “RNG manager not initialized. Call init_rng() first.”,说明在使用 mooncake_trace 生成 prompt 时,在调用 derive_rng 之前未调用 init_rng。正常通过 MooncakeTraceDataset.load() 加载时会自动调用 init_rng(random_seed),该错误多为直接调用底层接口或测试代码时未按顺序初始化导致。请确保先调用 init_rng(seed) 再执行依赖 RNG 的生成逻辑。
DSET-DEPENDENCY-002
错误描述
缺少数据集任务evaluate所需的依赖。
解决办法
若报错为:
Please install human_eval use following steps:
git clone git@github.com:open-compass/human-eval.git
cd human-eval && pip install -e .
参加该报错日志内容依次执行git clone git@github.com:open-compass/human-eval.git和cd human-eval && pip install -e .安装human-eval库
DSET-MTRC-001
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
DSET-MTRC-003
错误描述
暂未有直接解决方法。
解决办法
如有解决此问题的诉求,请提issue,请在issue描述中附上此错误码。
SWEB-DEPENDENCY-001
错误描述
运行 SWEBench infer 时缺少 mini-swe-agent 依赖,任务初始化失败。
解决办法
执行以下命令安装依赖后重试:
pip install mini-swe-agent
若你使用虚拟环境,请确认 ais_bench 与 mini-swe-agent 安装在同一 Python 环境。
SWEB-DEPENDENCY-002
错误描述
运行 SWEBench eval 时缺少 SWE-bench harness 依赖。
解决办法
按照官方仓库安装 harness 后重试:
git clone https://github.com/SWE-bench/SWE-bench.git
cd SWE-bench
pip install -e .
SWEB-PARAM-001
错误描述
SWEBench infer 未检测到可用模型配置(model/url/api_key 等关键字段缺失或为空)。
解决办法
检查任务配置中的 models[0],至少补齐以下字段:
model:如hosted_vllm/qwen3url:如http://127.0.0.1:2998/v1api_key:本地测试可设为EMPTY
SWEB-PARAM-002
错误描述
SWEBench 数据集名称非法,不在支持的名称集合内。
解决办法
将数据集 name 修正为受支持值:full、verified、lite、multilingual。
SWEB-DATA-001
错误描述
评测输入的预测结果包含不存在于当前数据集的 instance_id。
解决办法
确保预测文件与评测数据集完全对应:
使用同一份数据集配置执行 infer 与 eval。
检查预测文件中的
instance_id是否被手工修改或混入其他实验结果。
SWEB-DATA-002
错误描述
从 Hugging Face 在线加载 SWEBench 数据集失败。
解决办法
优先检查网络连通性与 Hugging Face 可访问性;若环境受限,请先手工下载 parquet 数据并在配置中设置本地 path。
SWEB-DATA-003
错误描述
本地 SWEBench parquet 文件读取或解析失败。
解决办法
检查本地文件完整性与格式:
确认文件为有效 parquet。
确认
split与文件命名一致(例如test-*.parquet)。重新下载或重新导出损坏文件后重试。
SWEB-FILE-001
错误描述
执行 SWEBench eval 时找不到预测文件(*.json 或 preds.json)。
解决办法
先成功执行 infer,再执行 eval;并确认 work_dir/predictions 下存在目标模型对应的预测结果文件。
SWEB-FILE-002
错误描述
本地 SWEBench 数据集路径解析失败(路径不存在或不可访问)。
解决办法
检查配置中的 path 是否正确,并确认当前运行用户对该目录/文件有读取权限。
SWEB-FILE-003
错误描述
在本地数据集路径下未找到目标 split 的 parquet 文件。
解决办法
确认路径中存在以下任一形式的文件:
<root>/data/<split>-*.parquet<root>/<split>-*.parquet若使用单文件,也可直接将path指向该 parquet 文件。
SWEB-RUNTIME-001
错误描述
SWEBench 运行所需 Docker 镜像不存在,且拉取失败。
解决办法
检查 Docker 服务状态与网络后,手工执行 docker pull 拉取日志中提示的镜像;确认镜像可见后重新运行任务。
SWEB-RUNTIME-002
错误描述
SWEBench 执行阶段出现运行时异常(如 harness 执行失败或并发任务异常)。
解决办法
根据日志中的详细异常定位处理:
优先检查依赖安装、Docker 可用性、预测文件格式。
若问题持续,保留完整日志并携带错误码提交 issue:https://github.com/AISBench/benchmark/issues。