模型评测支持自动评测和人工评测。目前自动评测支持“推理及评测”和“仅评测”两种模式。
“推理及评测”模式:上传评测集(只包含问题和参考答案),在自动评测功能模块进行推理、裁判模型打分。
“仅评测”模式:上传带模型推理结果的评测集(问题、参考答案、推理结果),在自动评测功能模块使用裁判模型进行打分。
以下内容分别介绍“推理及评测”、“仅评测”的评测集格式要求。
推理及评测
输入参数说明
参数名称 | 是否必填 | 参数解释 |
messages | 必填 | 评测对话主体内容,包含 system(系统设定)、role(assistant 或 user),content(内容) |
ref_answer | 选填 | 模型参考答案 |
其他字段 | 选填 | 用户自定义字段 |
文件格式
仅支持 JSONL 格式,每条数据为一个合格的 JSON 格式,示例如下:
1. 多轮对话(不包含 gt):
{"messages": [{"role": "system","content": "智能助理是一款由xxx自研的大语言模型。xxx是一家中国科技公司,一直致力于进行大模型相关的研究。"},{"role": "user","content": "你好"},{"role": "assistant","content": "你好,有什么可以帮助你"},{"role": "user","content": "1+1等于几"}],"ref_answer": "答案等于2","max_tokens": 4096,"extra_content": "用户自定义,可在裁判模型中引用"}
2. 多轮对话(messages 中最后一句 role 为 assistant,此 content 会被自动解析为 gt):
{"messages": [{"role": "system","content": "ht是一款由xxx自研的大语言模型。xxx是一家中国科技公司,一直致力于进行大模型相关的研究。"},{"role": "user","content": "你好"},{"role": "assistant","content": "你好,有什么可以帮助你"},{"role": "user","content": "1+1等于几"},{"role": "assistant","content": "2"}],"ref_answer": "答案等于2","extra_content": "用户自定义,可在裁判模型中引用"}
3. 单轮对话
{"messages": [{"role": "user","content": "1+1等于几"}],"ref_answer": "答案等于2","extra_content": "用户自定义,可在裁判模型中引用"}
另外,平台兼容人工评测原有格式,支持格式:JSONL、CSV,评测集格式如下:
对于 JSONL 格式评测集:每条(行)数据格式如下:
{"system": "You are helpful.", "conversation": [{"prompt": "712+165+223+711=","response": "1811"}]}
其中 “system” 、 “prompt” 和 “response” 字段分别对应 system 输入、提示词和预期响应。
如某条(行)数据无 system 输入,可使用如下格式:
{"conversation": [{"prompt": "712+165+223+711=","response": "1811"}]}
对于 CSV 格式评测集:评测集共3列,列名分别为 “system” 、 “prompt” 和 “response” 。 system 字段非必填,如某条(行)数据无 system 输入,对应位置留空即可。
您可下载评测集示例请参见 人工评测 JSONL 格式评测集示例、人工评测 CSV 格式评测集示例。
仅评测
输入参数说明
参数名称 | 是否必填 | 参数解释 |
messages | 必填 | 评测对话主体内容,包含 system(系统设定)、role(assistant 或 user),content(内容) |
model_outputs | 必填 | 模型的推理结果 |
ref_answer | 选填 | 模型参考答案 |
其他字段 | 选填 | 用户自定义字段 |
文件格式
仅支持 JSONL 格式,每条数据为一个合格的 JSON 格式,示例如下:
{"messages":[{"role": "user","content": "你好"},{"role": "assistant","content": "你好,有什么可以帮助你"},{"role": "user","content": "16+16等于几"}],"ref_answer": "答案等于32","id": "141234314","max_tokens": 1024,"temperature": 0.7,"top_p": 0.9,"top_k": 50,"model_outputs": // 上方是原有数据集的字段// 本字段用于记录各模型的输出,类型为列表,列表每个对象都包含// model_name: 模型名// responses: 该模型的输出[{"model_name": "llama3","responses":[{"content": "The answer is 32."},{"content": "32 is the answer."},]},{"model_name": "qwen3","responses":[{"content": "The answer is 32.","reasoning_content": "Wait..."},{"content": "The answer is 32.","reasoning_content": "Thinking..."}]}]}
model_outputs 字段详解
该字段为一个列表,用于存放不同模型的推理结果,列表中的每一个元素都是一个对象,代表一个模型的所有输出,该对象包含:
model_name(字符串): 为待测模型指定的名称
responses(列表):包含该模型一次或多次推理结果的列表
列表中的每个元素代表一次完整的推理输出,包含:
content(字符串):模型的最终回答
reasoning_content(字符串,可选):模型生成回答前的思考过程
模型推理结果对象model_outputs的内部结构:
键名(Key) | 类型(Type) | 是否必须 | 描述 |
model_name | String | 是 | 待测模型的唯一标识符,例如 "llama3-8b"。注意: 在整个数据集中,请对同一模型使用完全相同的名称,以便报告能正确汇总该模型的所有表现。 |
responses | Array | 是 | 一个数组,包含该模型的一次或多次推理结果。支持 n > 1 的场景,即对同一个输入提示运行多次推理。 |
推理结果对象 (responses) 的内部结构:
键名(Key) | 类型(Type) | 是否必须 | 描述 |
content | String | 是 | 待测模型生成的最终结果,并在裁判模型进行打分引用。 |
reasoning_content | String | 否 | 用于存放待测模型在生成最终 content 之前的“思考过程”、“思维链”(Chain of Thought)或任何中间草稿。提供此内容有助于进行更深入的分析。如果模型没有该部分输出,则可以省略此键。 |
完整示例
// 第一行: 包含两个模型的推理结果,其中 qwen2 有 reasoning_content{"messages": [{"role": "user", "content": "16+16等于几"}], "ref_answer": "答案等于32", "id": "141234314", "model_outputs": [{"model_name": "llama3", "responses": [{"content": "The answer is 32."}]}, {"model_name": "qwen2", "responses": [{"content": "The answer is 32.", "reasoning_content": "The user is asking a simple math question. 16 + 16 equals 32."}]}]}// 第二行: 包含一个模型的两次不同推理结果 (n=2){"messages": [{"role": "user", "content": "写一句赞美程序员的诗"}], "ref_answer": "代码如诗,逻辑之美,指尖之下,创造世界。", "id": "141234315", "model_outputs": [{"model_name": "llama3", "responses": [{"content": "十行代码,改变世界。"}, {"content": "指尖飞舞,代码如歌。"}]}]}