You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建包含Google Cloud Bucket文件列表的Vertex AI批量预测用JSONL文件

JSONL格式报错原因

常见触发cannot be parsed as JSONL错误的问题如下:

  • 文件中存在空行,JSONL要求每一行必须是独立且完整的JSON对象,不允许出现空行
  • 行末存在多余空格、特殊控制字符,或是换行符为Windows格式的CRLF,Vertex AI仅支持Unix格式的LF换行符
  • JSON对象的引号使用了中文双引号、字段缺少闭合引号,或是键值对之间缺少逗号
  • 文件路径中存在特殊字符(如空格、双引号)没有做JSON转义
现有JSONL文件修正方案

你可以用jq工具快速校验无效行,执行以下命令即可定位所有不符合JSON规范的行:

cat list.jsonl | while read line; do 
  echo $line | jq . > /dev/null || echo "无效行: $line"
done

定位到问题行后,对应删除空行、修正引号、替换换行符即可。

直接从GCS存储桶生成合规JSONL的方法

不需要先导出txt再手动转换,直接用命令即可生成符合Vertex AI要求的JSONL文件:

场景1:所有文件为JPG格式,mimeType固定为image/jpeg

gsutil ls gs://<你的桶路径>/*.jpg | awk '{printf "{\"content\": \"%s\", \"mimeType\": \"image/jpeg\"}\n", $0}' > list.jsonl

场景2:需要根据文件后缀自动匹配mimeType

gsutil ls gs://<你的桶路径>/* | awk -F '.' '{
ext = tolower($NF);
mime = "application/octet-stream";
if (ext == "jpg" || ext == "jpeg") mime = "image/jpeg";
else if (ext == "png") mime = "image/png";
else if (ext == "gif") mime = "image/gif";
else if (ext == "json") mime = "application/json";
printf "{\"content\": \"%s\", \"mimeType\": \"%s\"}\n", $0, mime
}' > list.jsonl

生成后验证

执行以下命令验证前5行是否符合JSON规范,无报错即可正常使用:

head -5 list.jsonl | jq .

内容的提问来源于stack exchange,提问作者GG Sheet Quản Lý

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 15:39:03