PAI CLI 是 PAI 平台的命令行工具,支持 DSW 实例管理、DLC 分布式训练、资源配额管理等命令。本文介绍命令体系及全局参数、override 请求体编辑和退出码等通用机制。
命令体系
命令 | 说明 | 详细文档 |
| 交互式建模(DSW)实例管理 | |
| 分布式训练任务管理 | |
| 资源配额管理 | |
| 数据集管理 | |
| 镜像管理 | |
| 工作空间管理 | |
| 通用 OpenAPI 调用 | |
| Shell 自动补全 | |
| 配置管理 |
全局参数
以下参数对所有命令生效,可放在任意位置。
参数 | 类型 | 默认值 | 说明 |
| string | profile 配置 | 覆盖地域,如 cn-hangzhou、cn-shanghai、cn-wulanchabu |
| string | default | 指定配置 Profile,用于多账号切换 |
| string | table | 输出格式 |
| bool | false | 输出 HTTP 请求/响应调试信息 |
当需要脚本化处理时,建议使用 -o json 并通过 jq 解析输出。例如:pai dsw instance list -o json | jq '.[].instance_id'。仅需要 ID 时用 -o quiet 更直接:pai dsw instance list -o quiet 每行输出一个实例 ID。
--override 请求体编辑
对接受配置文件/请求体的写命令,可用 --override 家族在提交前修改其中的字段,无需为每次运行复制一份配置文件。效果等同于提交前手工编辑了文件,不改变任何参数优先级规则。
参数 | 说明 |
| 修改请求体中的一个值,可重复指定。类型由被替换的原值决定;整个列表/对象可用同形 JSON 替换(也是新增元素的方式)。带下标的路径需加引号: |
| 同 --override,但始终写入字符串类型 |
| 从请求体中删除一个值,可重复指定 |
支持的命令:dlc job submit、dsw instance create / update / apply / render、resource quota 写命令及 pai api。
# 同一份配置,改规格后应用(应用的修改会在 stderr 输出审计行)
pai dsw instance apply -f team-env.yaml --override EcsSpec=ecs.gn7i-c16g1.4xlarge
# 修改嵌套字段 + 删除字段
pai dlc job submit --body-json @job.json \
--override DisplayName=bert-lr001 --override-unset Priority每条生效的修改都会在 stderr 输出一行 [info] applied to the body: PATH old -> new 审计信息,不污染 stdout。
退出码
退出码 | 含义 | 典型场景 |
0 | 成功 | 命令正常执行并返回结果(含 --dry-run 预览) |
1 | 资源未找到 | 指定的实例、作业、服务或配额不存在 |
2 | 参数错误 | 缺少必填参数、参数格式不合法、未知子命令或未知 --output 值 |
3 | 认证/权限错误 | 凭证无效、RAM 权限不足、服务未授权(优先于 404 判定) |
4 | 服务端/运行时错误 | API 返回 5xx、网络连接失败、目标服务不可达、执行超时 |
5 | 需要确认 | 高危写操作未传 |
退出码是稳定契约,适合脚本与 Agent 判断分支;错误详情在 -o json 下以 {"error","message","hint"} JSON 信封输出到 stderr,stdout 保持干净。