文本生成SFT
以问答对为核心的标注文本数据集,包含明确的指令与标准应答内容。该类型深度适配大模型的有监督指令微调,能够满足对话生成、指令对齐以及特定行业场景定制的模型训练需求。
约束限制
- 从OBS导入:单个文件/压缩包大小不超过20GB;多个文件场景,文件数量不限制,总文件大小不超过20GB。
- 本地导入:单个文件大小不超过1GB,文件数量最多20个。
- 文件编码:所有jsonl格式文件必须采用UTF-8编码。
格式说明
文件格式:jsonl
格式说明:jsonl是一种结构化的轻量级文本文件格式。其核心规则为文件中的每一行都必须是一个独立、合法且完整的JSON对象。
数据集逻辑规范:为了适配不同开源社区的习惯,该数据类型支持三种主流的逻辑规范:标准格式、Alpaca格式与ShareGPT格式。
标准格式
该规范遵循业界通用的标准,采用消息序列的方式记录对话,具备极高的通用性与兼容性。
数据格式示例
为便于展示字段层级关系,已将单行JSONL数据展开。
{
"meta": {
"conversation_id": "conversation_123",
"user_id": "user_456",
"timestamp": "2026-05-29T10:00:00Z",
"domain": "math_tutoring"
},
"messages": [
{
"role": "user",
"content": "请帮我解方程 2x + 5 = 13"
},
{
"role": "assistant",
"content": "<think>这是一个简单的一元一次方程,我需要将常数项移到右边,然后除以系数。</think>\n好的,我们来解这个方程:2x + 5 = 13,两边减去5得2x = 8,所以x = 4。"
},
{
"role": "user",
"content": "那如果是 3(x - 2) = 9 呢?"
},
{
"role": "assistant",
"content": "<think>这次方程含有括号,先要去括号或两边同时除以3。</think>\n可以这样解:两边同时除以3得 x - 2 = 3,所以 x = 5。"
},
{
"role": "user",
"content": "谢谢,我明白了"
},
{
"role": "assistant",
"content": "不客气,有问题随时问我!"
}
]
} 字段规范说明
对JSONL文件中的每一条(每行)数据:
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| messages | List | 是 | 对话历史列表,按时间顺序包含多轮角色交互对象。 |
| messages.role | String | 是 | 发送消息的角色身份。仅支持:system(人设/系统提示词)、user(用户输入)、assistant(模型回复)中的一个。 |
| messages.content | String | 是 | 具体的对话文本内容。如果包含模型思考过程,可以使用<think>...</think>标签对进行包裹。 |
| meta | - | 否 | 拓展元数据字段。 |
Alpaca格式
该规范起源于Stanford Alpaca社区项目,将单次交互或包含历史的多轮对话拆分为明确的指令(instruction)、补充上下文(input)和标准输出(output),结构扁平,便于阅读与快速微调。
数据格式示例
为便于展示字段层级关系,已将单行JSONL数据展开。
{
"system": "你是一名精通初等数学的AI助教",
"instruction": "请帮我解方程 2x + 5 = 13",
"input": "",
"output": "<think>这是一个简单的一元一次方程,我需要将常数项移到右边,然后除以系数。</think>\n好的,我们来解这个方程:2x + 5 = 13,两边减去5得2x = 8,所以x = 4。",
"history": [
[
"你好,你能帮我辅导数学吗?",
"当然可以,请随时提出你的数学问题。"
]
]
} 字段规范说明
对于JSONL文件中的每一条(每行)数据:
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| system | String | 否 | 系统提示词,用于显式定义模型在此次对话中扮演的角色人设。 |
| instruction | String | 是 | 用户发出的具体任务指令或核心问题。 |
| input | String | 是 | 任务所需的补充背景信息或输入上下文(若无可传入空字符串 "")。 |
| output | String | 是 | 大模型针对该指令的标准期望回答。允许包含由 <think>...</think> 标签包裹的思维链推理过程。 |
| history | List | 否 | 历史对话记录,采用二维列表结构 [[q1, a1], [q2, a2], ...]。每个元素为长度固定为2的列表,分别代表历史轮次中的用户提问与模型回复。 |
ShareGPT格式
该规范广泛应用于多种开源框架,通过一个集中的对话列表(conversations)来线性复现人类与AI之间的多轮交替演进过程,结构紧凑且极易拓展。
数据格式示例
为便于展示字段层级关系,已将单行JSONL数据展开。
{
"system_prompt": "角色名称:数学辅导专家",
"conversations": [
{
"from": "human",
"value": "请帮我解方程 2x + 5 = 13"
},
{
"from": "gpt",
"value": "<think>移项、化简、求解。</think>\n解方程得2x = 8,解得x = 4。"
}
]
} 字段规范说明
对于JSONL文件中的每一条(每行) 数据:
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| conversations | List | 是 | 多轮对话内容有序列表。 |
| conversations.from | String | 是 | 标识当前话语的发言方。 |
| conversations.value | String | 是 | 当前轮次的文本对话内容。 |