返回文档中心

填写指南

产品数据填写指南

产品数据(product)由数据方提供,是一份待评估的数据集。

一、你需要准备什么

一个目录,里面放:

my_product/
├── dataset_infos.json   ← 本文件(按本文档填写)
├── data.csv             ← 数据文件(或 data.jsonl / data.xlsx)
└── datas/               ← 图像、视频等文件放在子目录里
    ├── img_001.jpg
    └── clip_001.avi

在 CSV 中用相对路径引用即可(如 datas/img_001.jpg)。如果文件很多,可以打成 zip 包。

二、dataset_infos.json 怎么写

2.1 完整模板

json
{
  "columns": [ ... ],
  "data_config": {
    "data_type": ["…"],
    "format": "csv",
    "encoding": "UTF-8",
    "delimiter": ",",
    "has_header": true,
    "data_files": {
      "prod": { "index_file": "data.csv" }
    }
  }
}

产品数据 key 固定为 "prod",只有一份数据文件。

2.2 columns 填写

columns 是一个数组,你的数据有多少列就写多少条。每条描述一列:

要填的写什么示例
field_name_enCSV 列名(JSONL 则写 JSON 键名)"review"
type这列存的数据类型"string" / "int" / "float" / "date"
field_name_cn中文名"影评文本"
description这列是什么、值的含义"negative=负面, positive=正面"
example_value一个样例值"positive"
patterntype=date 时写日期格式,其他写 """yyyy-MM-dd"
is_primary_key是否唯一标识一行true / false
nullable是否允许为空true / false
role这列的数据角色(见下表)"text" / "label" ...
label_values仅标注列且为枚举值时填写["negative", "positive"]

role 说明:

如果你的列是……写 role
样本唯一 IDid
文本内容(影评、问题等)text
图像文件路径image
音频文件路径audio
视频文件路径video
标注/真值label(必填)
普通数据字段(表格类,年龄、性别……)不写

label_values 怎么填:

标注类型写不写示例
枚举标签写,顺序 = 输出顺序[0, 1] 或 ["negative", "positive"]
连续值(房价、分数……)不写
自由文本(参考回答、摘要……)不写

label_values 填写的值和顺序应与模型方约定一致。

2.3 data_config 填写

字段写什么
data_type数组。单模态:["text"] / ["image"] / ["video"] / ["audio"] / ["structured"]。多模态:["text", "image"]
format"csv" / "excel" / "jsonl"
encoding文件编码,通常 "UTF-8"
delimitercsv 的分隔符(jsonl/excel 不写)
has_headercsv/excel 是否有表头(jsonl 不写)
data_files声明数据文件,key 固定为 "prod"

data_files.prod 的可选字段:

字段说明
index_file数据文件名
archive(可选)图像/视频等文件打包成的 zip
jsonc
// 普通情况
"data_files": {
  "prod": { "index_file": "data.csv" }
}

// 带 zip 压缩包
"data_files": {
  "prod": { "index_file": "labels.csv", "archive": "datas.zip" }
}

有 archive 时文件路径列的值写 zip 内部路径。没有 archive 时路径相对于 dataset 根目录。

data_type 和 role 要对应:data_type 里列了什么类型,columns 里就要有对应的 role 列。

三、常见例子

文本分类(IMDB 影评 — product)

my_product/
├── dataset_infos.json
└── data.csv            ← 列:review_col, sentiment_col
json
{
  "columns": [
    { "field_name_en": "review_col", "type": "string", "field_name_cn": "影评文本",
      "description": "IMDB 影评原文", "example_value": "This movie was great...",
      "pattern": "", "is_primary_key": false, "nullable": false,
      "role": "text" },
    { "field_name_en": "sentiment_col", "type": "string", "field_name_cn": "情感标签",
      "description": "negative=负面, positive=正面",
      "example_value": "positive", "pattern": "", "is_primary_key": false, "nullable": false,
      "role": "label", "label_values": ["negative", "positive"] }
  ],
  "data_config": {
    "data_type": ["text"], "format": "csv", "encoding": "UTF-8",
    "delimiter": ",", "has_header": true,
    "data_files": {
      "prod": { "index_file": "data.csv" }
    }
  }
}

列名叫什么就在 field_name_en 里声明什么。

图像分类(X 光肺炎 — product)

my_product/
├── dataset_infos.json
├── data.csv            ← 列:Image_Path, Pneumonia_Target
└── images/             ← 图像文件
json
{
  "columns": [
    { "field_name_en": "Image_Path", "type": "string", "field_name_cn": "图像路径",
      "description": "X 光图像文件路径", "example_value": "images/person1.jpeg",
      "pattern": "", "is_primary_key": false, "nullable": false,
      "role": "image" },
    { "field_name_en": "Pneumonia_Target", "type": "int", "field_name_cn": "肺炎标签",
      "description": "1=患病, 0=正常", "example_value": "1",
      "pattern": "", "is_primary_key": false, "nullable": false,
      "role": "label", "label_values": [0, 1] }
  ],
  "data_config": {
    "data_type": ["image"], "format": "csv", "encoding": "UTF-8",
    "delimiter": ",", "has_header": true,
    "data_files": {
      "prod": { "index_file": "data.csv" }
    }
  }
}

图像 + zip 打包(product)

my_product/
├── dataset_infos.json
├── labels.csv           ← Image_Path 列写 zip 内部路径
└── datas.zip            ← 所有图片
json
{
  "columns": [
    { "field_name_en": "Image_Path", "type": "string", "field_name_cn": "图像路径",
      "description": "zip 内部路径", "example_value": "img_001.jpg",
      "pattern": "", "is_primary_key": false, "nullable": false,
      "role": "image" },
    { "field_name_en": "label", "type": "int", "field_name_cn": "类别",
      "description": "图像类别标签", "example_value": "1",
      "pattern": "", "is_primary_key": false, "nullable": false,
      "role": "label", "label_values": [0, 1] }
  ],
  "data_config": {
    "data_type": ["image"], "format": "csv", "encoding": "UTF-8",
    "delimiter": ",", "has_header": true,
    "data_files": {
      "prod": { "index_file": "labels.csv", "archive": "datas.zip" }
    }
  }
}

表格分类(客户转化 — product)

my_product/
├── dataset_infos.json
└── data.csv            ← 列:id, age, gender, ..., is_convert
json
{
  "columns": [
    { "field_name_en": "id", "type": "int", "field_name_cn": "客户ID",
      "description": "唯一标识", "example_value": "5001",
      "pattern": "", "is_primary_key": true, "nullable": false,
      "role": "id" },
    { "field_name_en": "age", "type": "int", "field_name_cn": "年龄",
      "description": "客户年龄", "example_value": "42",
      "pattern": "", "is_primary_key": false, "nullable": true },
    { "field_name_en": "is_convert", "type": "int", "field_name_cn": "是否转化",
      "description": "1=转化, 0=未转化", "example_value": "0",
      "pattern": "", "is_primary_key": false, "nullable": false,
      "role": "label", "label_values": [0, 1] }
  ],
  "data_config": {
    "data_type": ["structured"], "format": "csv", "encoding": "UTF-8",
    "delimiter": ",", "has_header": true,
    "data_files": {
      "prod": { "index_file": "data.csv" }
    }
  }
}

LLM 对话(JSONL — product)

my_product/
├── dataset_infos.json
└── data.jsonl          ← 每行 {"instruction": "...", "output": "..."}
json
{
  "columns": [
    { "field_name_en": "instruction", "type": "string", "field_name_cn": "用户问题",
      "description": "用户输入的问诊问题", "example_value": "我最近总是头痛...",
      "pattern": "", "is_primary_key": false, "nullable": false,
      "role": "text" },
    { "field_name_en": "output", "type": "string", "field_name_cn": "参考回答",
      "description": "医生的参考回答", "example_value": "根据您的描述...",
      "pattern": "", "is_primary_key": false, "nullable": false,
      "role": "label" }
  ],
  "data_config": {
    "data_type": ["text"], "format": "jsonl", "encoding": "UTF-8",
    "data_files": {
      "prod": { "index_file": "data.jsonl" }
    }
  }
}

四、常见问题

Q1:data_files 里 key 永远用 "prod" 吗?

对,产品数据固定用 "prod"。

Q2:data_type 和 role 什么关系?

data_type 声明数据集包含哪些类型(数组),role 标记每列的角色。两者要对应。

Q3:哪些列必须写 role?

标注列必写 "label"。文本/图像/视频/音频类数据的入参列("text" / "image" / "video" / "audio")也要写。表格类普通字段不写。

Q4:列名可以和模型方的不一样吗?

你的 CSV 列名叫什么就在 field_name_en 写什么。平台通过 role 自动对应。

Q5:我的数据是 Excel 格式怎么写?

format 写 "excel",不填 delimiter,其余一样。

Q6:JSONL 要注意什么?

format 写 "jsonl",不填 delimiter 和 has_header。每行一个 JSON 对象,键名对应 field_name_en。