更新时间:2026-03-12 GMT+08:00
分享

文本类数据集格式要求

ModelArts支持创建文本类数据集,创建时可导入多种形式的数据,具体格式要求详见表1

约束限制

  • 仅西南-贵阳一区域的新版控制台支持。
  • 从OBS导入:单个文件/压缩包大小不超过20GB;多个文件场景,文件数量不限制,总文件大小不超过20GB。
  • 本地导入:单个文件大小不超过1GB,文件数量最多20个。
  • jsonl文件格式仅支持UTF-8编码。

表1 文本类数据集格式要求

文件内容

文件格式

格式说明

文档

docx

原始文档内容。

预训练文本

jsonl

text表示预训练所使用的文本数据,具体格式示例如下:
{
    "text": "《活着》,是中国著名作家余华所写的一部长篇小说。《活着》讲述了一个普通农民徐福贵的人生历程。他的人生充满了苦难和挫折,但他在面对这些困难时,始终保持着坚强和乐观的态度。"
}

单轮问答

jsonl

数据为jsonl格式时,支持Alpaca/ShareGPT/标准格式,以下为不同格式数据集示例。

  • Alpaca格式
    非思维链数据:数据由问答对构成,instruction、output分别表示问题、答案,具体格式示例如下:
    {
        "instruction": "请推荐一本书。",
        "input": "",
        "output": "当然可以,我推荐你阅读《自动驾驶的未来》。"
    }
    思维链数据:数据由问答对构成,instruction、output分别表示问题、答案,并且output必须包含think标签对表示思考过程,具体格式示例如下:
    {
        "instruction": "能给我推荐点书吗?",
        "input": "",
        "output": "<think>用户请求图书推荐但未提供具体偏好,适合选择一本覆盖面广且具有前瞻性的科技书籍。</think>推荐《自动驾驶的未来》。"
    }
  • ShareGPT格式
    非思维链数据:数据由问答对构成,对话中来自human、gpt角色的值分别表示问题、答案,具体格式示例如下:
    {
        "conversations": [
            {
                "from": "human",
                "value": "能给我推荐点书吗?"
            },
            {
                "from": "gpt",
                "value": "作为书籍推荐专家,我推荐你阅读《自动驾驶的未来》。"
            }
        ]
    }
    思维链数据:数据由问答对构成,对话中来自human、gpt角色的值分别表示问题、答案,并且gpt角色的值必须包含think标签对表示思考过程,具体格式示例如下:
    {
        "conversations": [
            {
                "from": "human",
                "value": "能给我推荐点书吗?"
            },
            {
                "from": "gpt",
                "value": "<think>作为书籍推荐专家,应基于当前科技趋势和大众阅读接受度进行推荐。</think>我推荐你阅读《自动驾驶的未来》。"
            }
        ]
    }
  • 标准格式
    非思维链数据:数据由问答对构成,context、target分别表示问题、答案,具体格式示例如下:
    {
        "context": "你好,请介绍自己",
        "target": "我是盘古大模型"
    }
    思维链数据:数据由问答对构成,context、target分别表示问题、答案,并且target必须包含think标签对表示思考过程,具体格式示例如下:
    {
        "context": "你好,请介绍自己",
        "target": "<think> 好的,用户让我介绍一下自己。首先,我需要明确用户的身份和使用场景……</think>我是盘古大模型"
    }

csv

  • 非思维链数据:csv文件的第一列对应context,第二列对应target,具体格式示例如下:
    "你好,请介绍自己","我是盘古大模型"
  • 思维链数据:csv文件的第一列对应context,第二列对应target,并且target必须包含think标签对,具体格式示例如下:
    "你好,请介绍自己","<think>用户让我介绍一下自己。首先,我需要明确用户的身份和使用场景......</think>我是盘古大模型"

单轮问答(带人设)

jsonl

数据为jsonl格式时,支持Alpaca/ShareGPT/标准格式,以下为不同格式数据集示例。

  • Alpaca格式
    非思维链数据:system表示人设,instruction、output分别表示问题、答案。具体格式示例如下:
    {
        "system": "你是一名书籍推荐专家",
        "instruction": "请根据用户需求推荐书籍",
        "input": "",
        "output": "作为书籍推荐专家,我推荐你阅读《自动驾驶的未来》。"
    }
    思维链数据:system表示人设,instruction、output分别表示问题、答案, 并且output必须包含think标签对表示思考过程,具体格式示例如下:
    {
        "system": "你是一名书籍推荐专家",
        "instruction": "请根据用户需求推荐书籍。",
        "input": "",
        "output": "<think>作为书籍推荐专家,应结合科技发展趋势与大众阅读接受度进行判断。</think>我推荐你阅读《自动驾驶的未来》。"
    }
  • ShareGPT格式
    非思维链数据:数据由问答对构成,system_prompt表示人设,对话中来自human、gpt角色对应的值分别表示问题、答案,具体格式示例如下:
    {
        "system_prompt": "角色名称: 书籍推荐专家。",
        "conversations": [
            {
                "from": "human",
                "value": "能给我推荐点书吗?"
            },
            {
                "from": "gpt",
                "value": "作为书籍推荐专家,我推荐你阅读《自动驾驶的未来》。"
            }
        ]
    }
    思维链数据:数据由问答对构成,system_prompt表示人设,对话中来自human、gpt角色对应的值分别表示问题、答案,并且gpt角色的值必须包含think标签对表示思考过程,具体格式示例如下:
    {
        "system_prompt": "角色名称: 书籍推荐专家。",
        "conversations": [
            {
                "from": "human",
                "value": "能给我推荐点书吗?"
            },
            {
                "from": "gpt",
                "value": "<think>作为书籍推荐专家,应基于当前科技趋势和大众阅读接受度进行推荐。</think>我推荐你阅读《自动驾驶的未来》。"
            }
        ]
    }
  • 标准格式
    非思维链数据:数据由问答对构成,system表示人设,context、target分别表示问题、答案,具体格式示例如下:
    {
        "system": "机智幽默",
        "context": "你好,请介绍自己",
        "target": "哈哈,你好呀,我是你的聪明助手。"
    }
    思维链数据:数据由问答对构成,system表示人设,context、target分别表示问题、答案,并且target必须包含think标签对表示思考过程,具体格式示例如下:
    {
        "system": "机智幽默",
        "context": "你好,请介绍自己",
        "target": "<think> 好的,用户让我介绍一下自己。首先,我需要明确用户的身份和使用场景……</think>我是盘古大模型"
    }

csv

  • csv非思维链数据:csv文件的第一列对应system,第二三列分别对应context、target。具体格式示例如下:
    "你是一个机智幽默问答助手","你好,请介绍自己","哈哈,你好呀,我是你的聪明助手。"
  • csv思维链数据:csv文件的第一列对应system,第二三列分别对应context、target, 并且target必须包含think标签对表示思考过程,具体格式示例如下:
    "你是一个机智幽默问答助手","你好,请介绍自己","<think>用户让我介绍一下自己。首先,我需要明确用户的身份和使用场景</think>哈哈,你好呀,我是你的聪明助手。"

多轮问答

jsonl

数据为jsonl格式时,支持Alpaca/ShareGPT/标准格式,以下为不同格式数据集示例。

  • Alpaca格式
    非思维链数据:数组格式,由一轮或多轮问答对构成。instruction、output分别表示问题、答案,history表示历史对话。具体格式示例如下:
    {
        "instruction": "我想找自动驾驶相关的书籍。",
        "input": "",
        "output": "我推荐你阅读《自动驾驶的未来》。",
        "history": [
            [
                "我想找一本能了解未来科技趋势的书。",
                "未来科技涵盖面很广,你更关注哪些方向?"
            ]
        ]
    }
    思维链数据:数组格式,由一轮或多轮问答对构成,其中instruction、output分别表示问题、答案,history表示历史对话。并且至问答output包含think标签对表示思考过程,具体格式示例如下:
    {
        "instruction": "我想找自动驾驶相关的书籍。",
        "input": "",
        "output": "<think>用户已明确具体领域,应推荐一本结构完整、兼顾技术与产业视角的代表性书籍。</think>我推荐你阅读《自动驾驶的未来》。",
        "history": [
            [
                "我想找一本能了解未来科技趋势的书。",
                "<think>作为书籍推荐专家,第一步应确认用户关注的具体技术领域,而非直接给出书名。</think>未来科技涵盖面很广,你更关注哪些方向?"
            ]
        ]
    }
  • ShareGPT格式
    非思维链数据:数组格式,由一轮或多轮问答对构成。对话中来自human、gpt角色对应的值分别表示问题、答案,具体格式示例如下:
    {
        "conversations": [
            {
                "from": "human",
                "value": "你好"
            },
            {
                "from": "gpt",
                "value": "嗨!你好,需要点什么帮助吗?"
            },
            {
                "from": "human",
                "value": "能给我推荐点书吗?"
            },
            {
                "from": "gpt",
                "value": "当然可以,基于你的兴趣,我推荐你阅读《自动驾驶的未来》。"
            }
        ]
    }
    思维链数据:数组格式,由一轮或多轮问答对构成,其中对话中来自human、gpt对应的值分别表示问题、答案,并且gpt角色的值包含think标签对表示思考过程,具体格式示例如下:
    {
        "conversations": [
            {
                "from": "human",
                "value": "我想了解未来科技趋势的书。"
            },
            {
                "from": "gpt",
                "value": "<think>先确认具体领域。</think>未来科技很广,你关注哪些?"
            },
            {
                "from": "human",
                "value": "自动驾驶。"
            },
            {
                "from": "gpt",
                "value": "<think>推荐代表性书籍。</think>我推荐《自动驾驶的未来》。"
            }
        ]
    }
  • 标准格式
    非思维链数据:数组格式,由一轮或多轮问答对构成。context、target分别表示问题、答案,具体格式示例如下:
    [
        {
            "context": "你好",
            "target": "你好,请问有什么可以帮助你的?"
        },
        {
            "context": "请介绍一下华为云的产品。",
            "target": "华为云提供包括但不限于计算、存储、网络等产品服务。"
        }
    ]
    思维链数据:数组格式,由一轮或多轮问答对构成,其中context、target分别表示问题、答案,并且至少有一轮问答的target包含think标签对表示思考过程,具体格式示例如下:
    [
        {
            "context": "你好",
            "target": "你好,请问有什么可以帮助你的?"
        },
        {
            "context": "请介绍一下华为云的产品。",
            "target": "<think> 好的,用户让我介绍一下华为云产品。首先,我需要回忆一下……</think>华为云提供包括但不限于计算、存储、网络等产品服务。"
        }
    ]

多轮问答(带人设)

jsonl

数据为jsonl格式时,支持Alpaca/ShareGPT/标准格式,以下为不同格式数据集示例。

  • Alpaca格式
    非思维链数据:数组格式,由一轮或多轮问答对构成。system表示人设,instruction、output分别表示问题、答案,history表示历史对话。具体格式示例如下:
    {
        "system": "你是一名书籍推荐专家",
        "instruction": "我想找自动驾驶相关的书籍。",
        "input": "",
        "output": "我推荐你阅读《自动驾驶的未来》。",
        "history": [
            [
                "我想找一本能了解未来科技趋势的书。",
                "未来科技涵盖面很广,你更关注哪些方向?"
            ]
        ]
    }
    
            
    思维链数据:数组格式,由一轮或多轮问答对构成,其中system表示人设,instruction、output分别表示问题、答案,history表示历史对话。并且问答output包含think标签对表示思考过程,具体格式示例如下:
    {
        "system": "你是一名书籍推荐专家",
        "instruction": "我想找自动驾驶相关的书籍。",
        "input": "",
        "output": "<think>用户已明确具体领域,应推荐一本结构完整、兼顾技术与产业视角的代表性书籍。</think>我推荐你阅读《自动驾驶的未来》。",
        "history": [
            [
                "我想找一本能了解未来科技趋势的书。",
                "<think>作为书籍推荐专家,第一步应确认用户关注的具体技术领域,而非直接给出书名。</think>未来科技涵盖面很广,你更关注哪些方向?"
            ]
        ]
    }
  • ShareGPT格式
    非思维链数据:数组格式,由一轮或多轮问答对构成。system_prompt表示人设,对话中来自human、gpt角色对应的值分别表示问题、答案,具体格式示例如下:
    {
        "system_prompt": "书籍推荐专家",
        "conversations": [
            {
                "from": "human",
                "value": "你好"
            },
            {
                "from": "gpt",
                "value": "你好,需要什么帮助?"
            },
            {
                "from": "human",
                "value": "推荐点书?"
            },
            {
                "from": "gpt",
                "value": "我推荐《自动驾驶的未来》。"
            }
        ]
    }
    思维链数据:数组格式,由一轮或多轮问答对构成,其中system_prompt表示人设,对话中来自human、gpt角色对应的值分别表示问题、答案,并且gpt角色的值包含think标签对表示思考过程,具体格式示例如下:
    {
        "system_prompt": "书籍推荐专家",
        "conversations": [
            {
                "from": "human",
                "value": "我想了解未来科技趋势的书。"
            },
            {
                "from": "gpt",
                "value": "<think>先确认具体领域。</think>未来科技很广,你关注哪些方向?"
            },
            {
                "from": "human",
                "value": "自动驾驶。"
            },
            {
                "from": "gpt",
                "value": "<think>推荐代表性书籍。</think>我推荐《自动驾驶的未来》。"
            }
        ]
    }
  • 标准格式
    非思维链数据:数组格式,由一轮或多轮问答对构成。system表示人设,context、target分别表示问题、答案,具体格式示例如下:
    [
        {
            "system": "机智幽默"
        },
        {
            "context": "你好,请介绍自己",
            "target": "哈哈,你好呀,我是你的聪明助手。"
        }
    ]
    思维链数据:数组格式,由一轮或多轮问答对构成,其中system表示人设,context、target分别表示问题、答案,并且至少有一轮问答的target包含think标签对表示思考过程,具体格式示例如下:
    [
        {
            "system": "机智幽默"
        },
        {
            "context": "你好,请介绍自己",
            "target": "<think> 好的,用户让我介绍一下自己。首先,我需要明确用户的身份和使用场景……</think>哈哈,你好呀,我是你的聪明助手。"
        }
    ]

问答排序

jsonl

context表示问题,targets答案1、2、3表示答案的优劣顺序,最好的答案排在最前面
{
    "context": "context内容",
    "targets": [
        "a",
        "b",
        "c"
    ]
}

csv

  • csv格式:csv文件的第一列对应context,其余列为答案。
    "对于“沉舟侧畔千帆过”有怎样的理解","这句诗的本意是描述沉舟侧畔,新的船只仍然会像千帆一样驶过,这句话蕴含着深刻的哲理,表达了新事物必将取代旧事物的自然规律。","这句话可以用来形容自然景观,表达大自然的恢宏和生命的活力。"

偏好优化DPO

jsonl

  • 非思维链数据:context表示问题,target表示期望的正确答案,bad_target表示不符合预期的错误答案。具体格式示例如下:
    单轮DPO
    {
        "context": [
            "你好,请介绍自己"
        ],
        "target": "我是盘古大模型",
        "bad_target": "我不会回答"
    }

    多轮DPO

    {
        "context": [
            "你好,请介绍自己",
            "我是盘古大模型",
            "请介绍一下华为云的产品。"
        ],
        "target": "华为云提供包括但不限于计算、存储、网络等产品服务。",
        "bad_target": "我不会回答"
    }
  • 思维链数据:context表示问题,target表示期望的正确答案,bad_target表示不符合预期的错误答案,答案中至少有一个包含think标签对表示思考过程,具体格式示例如下:
    单轮DPO
    {
        "context": [
            "你好,请介绍自己"
        ],
        "target": "<think> 好的,用户让我介绍一下自己。首先,我需要明确用户的身份和使用场景……</think>我是盘古大模型",
        "bad_target": "<think> 好的,用户让我介绍一下自己。……</think>我不会回答"
    }

    多轮DPO

    {
        "context": [
            "你好,请介绍自己",
            "我是盘古大模型",
            "请介绍一下华为云的产品。"
        ],
        "target": "<think> 好的,用户让我介绍一下华为云产品。首先,我需要回忆一下……</think>华为云提供包括但不限于计算、存储、网络等产品服务。",
        "bad_target": "<think> 好的,用户让我介绍一下华为云产品。……</think>我不会回答"
    }

偏好优化DPO(人设)

jsonl

  • 非思维链数据:system表示人设,context表示问题,target表示期望的正确答案,bad_target表示不符合预期的错误答案。具体格式示例如下:

    单轮DPO带人设

    {
        "system": "你是一位机智幽默的问答助手",
        "context": [
            "你好,请介绍自己"
        ],
        "target": "哈哈,你好呀,我是你的聪明助手,怎么帮到你?",
        "bad_target": "我不会回答"
    }
    多轮DPO带人设
    {
        "system": "你是一位机智幽默的问答助手",
        "context": [
            "你好,请介绍自己",
            "哈哈,你好呀,我是你的聪明助手,怎么帮到你?",
            "请介绍一下有哪些产品。"
        ],
        "target": "我们产品种类繁多,不仅涵盖计算、存储和网络,还有更多选择哦 !",
        "bad_target": "我不会回答"
    }
  • 思维链数据:system表示人设,context表示问题,target表示期望的正确答案,bad_target表示不符合预期的错误答案,正确答案中至少有一个包含think标签对表示思考过程,具体格式示例如下:
    单轮DPO带人设
    {
        "system": "你是一位机智幽默的问答助手",
        "context": [
            "你好,请介绍自己"
        ],
        "target": "<think>用户让我介绍一下自己。首先,我需要明确用户的身份和使用场景</think>哈哈,你好呀,我是你的聪明助手,怎么帮到你?",
        "bad_target": "我不会回答"
    }

    多轮DPO带人设

    {
        "system": "你是一位机智幽默的问答助手",
        "context": [
            "你好,请介绍自己",
            "哈哈,你好呀,我是你的聪明助手,怎么帮到你?",
            "请介绍一下有哪些产品。"
        ],
        "target": "<think>客户想要了解产品</think>我们产品种类繁多,不仅涵盖计算、存储和网络,还有更多选择哦 !",
        "bad_target": "我不会回答"
    }

相关文档