在Nova AI平台上导入外部数据,看似简单的操作,实际执行时稍有不慎就会遇到“文件校验失败”的提示——系统不会明确告知具体哪个字段存在问题,只会直接拒绝解析。因此,在开始操作前,先掌握相关规则,能够大大减少反复调试的精力消耗。
目前,Nova AI仅支持从同一区域(Region)的OBS(对象存储服务)桶内拉取结构化数据文件,不支持本地上传、FTP直连或数据库直连。所有待导入数据必须提前上传至已授权OBS桶的指定路径,且该桶必须与Nova AI实例位于同一区域。操作流程为:进入Nova AI控制台,在左侧导航栏点击【数据管理】→【外部数据集】,随后点击右上角的【+新建数据集】,选择【OBS路径导入】,在弹出框中填写完整的OBS URL。格式为 obs://bucket-name/path/to/data/,注意末尾必须以斜杠结尾,否则系统无法识别为有效目录。
确认数据源类型与接入路径
Nova AI当前仅支持从OBS(对象存储服务)桶中拉取结构化数据文件,不支持本地上传、FTP直连或数据库直连。所有待导入数据必须提前上传至已授权的OBS桶内指定路径,且该桶需与Nova AI实例处于同一区域(Region)。
进入Nova AI控制台→左侧导航栏点击【数据管理】→【外部数据集】→点击右上角【+新建数据集】→选择【OBS路径导入】→在弹出框中输入OBS完整URL(格式为obs://bucket-name/path/to/data/),【URL末尾必须以斜杠/结尾,否则系统无法识别为有效目录】。
基础文件格式与命名规范
仅支持两种格式:CSV(UTF-8编码)和JSONL(每行包含一个合法的JSON对象)。其他格式如Excel、Parquet、XML、TSV均不被接受,即便强行将后缀改为.csv,在校验阶段也会报错。
CSV文件的首行必须为字段名,不能包含空行、合并单元格或BOM头;JSONL文件的每一行必须独立成为一个JSON对象,不允许换行嵌套,也不能使用逗号分隔多个对象。文件名只能包含英文字母、数字、下划线和短横线,中文、空格、括号、星号等特殊字符一律禁止使用。
如果你使用Python生成JSONL,务必采用 json.dumps(line, ensure_ascii=False) 逐行写入,切勿贪图方便使用 str(dict) 方式拼接,否则引号转义可能出错,导致导入后字段值全部变为空——这个坑不少人已经踩过。
字段内容与类型约束
先看最简单的场景:单文本分类任务。CSV或JSONL中必须包含且仅包含两个字段:text(字符串,原始输入文本)和 label(字符串或整数,类别标识)。label值不能为空、不能是浮点数、不能包含前后空格。例如 {"text":"这手机充电很快","label":"正面"} 是合法的,但 {"text":"屏幕有点暗","label":" 负面 "} 会导致该条数据被丢弃。
如果是多标签或序列标注任务,可以增加扩展字段:labels(JSON数组字符串,如 ["实体A","关系B"])、entities(JSON数组,每个元素包含start/end/label键)、intent(字符串)等。这些扩展字段的值必须是合法的JSON可解析内容。像 "['A','B']" 或 "{label: 'X'}" 这种非JSON字符串,系统会直接跳过,既不报错也不生效。
【text字段长度上限为8192字符,超长会被截断,不会给任何警告;label字段长度上限为128字符,超出部分会被静默截断】。
验证与触发导入
第一步:填写OBS路径后,点击【预览样本】按钮,系统会随机读取前5行并展示解析结果。此时应仔细检查字段是否对齐、label值是否可见、是否存在乱码。
第二步:确认无误后,点击【提交】,系统会自动生成数据集ID并进入后台校验队列。
第三步:大约等待30到90秒,状态会从“校验中”变为“就绪”。此时数据集右侧操作栏会出现【启用】按钮,点击即完成导入,后续创建训练作业时即可直接调用。
