@volcengine/ark-cli-darwin-arm64 0.0.0-stage → 1.0.46-prerelease.2e2d76ea86c4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/bin/arkcli-darwin-arm64 +4 -0
- package/manifest.json +37 -0
- package/package.json +20 -4
- package/skills/arkcli-agent/SKILL.md +197 -0
- package/skills/arkcli-agent/references/activation.md +23 -0
- package/skills/arkcli-agent/references/agent.md +442 -0
- package/skills/arkcli-agent/references/byok.md +74 -0
- package/skills/arkcli-agent/references/context-management.md +61 -0
- package/skills/arkcli-agent/references/debug-export.md +27 -0
- package/skills/arkcli-agent/references/dream.md +91 -0
- package/skills/arkcli-agent/references/evals.md +215 -0
- package/skills/arkcli-agent/references/events-chat.md +192 -0
- package/skills/arkcli-agent/references/interfaces-gaps.md +55 -0
- package/skills/arkcli-agent/references/mcp-vault.md +111 -0
- package/skills/arkcli-agent/references/model-config.md +46 -0
- package/skills/arkcli-agent/references/self-hosted.md +47 -0
- package/skills/arkcli-agent/references/session-files.md +157 -0
- package/skills/arkcli-agent/references/session-upgrade.md +64 -0
- package/skills/arkcli-agent/references/skills.md +94 -0
- package/skills/arkcli-agent/references/todo-write.md +37 -0
- package/skills/arkcli-agent/references/vision-agent.md +92 -0
- package/skills/arkcli-api-explorer/SKILL.md +114 -0
- package/skills/arkcli-api-explorer/references/arkcli-api.md +185 -0
- package/skills/arkcli-api-explorer/references/evals.md +92 -0
- package/skills/arkcli-auth/SKILL.md +127 -0
- package/skills/arkcli-auth/references/api-key-query.md +74 -0
- package/skills/arkcli-auth/references/arkcli-auth-init-volc.md +58 -0
- package/skills/arkcli-auth/references/arkcli-auth-login.md +125 -0
- package/skills/arkcli-auth/references/arkcli-auth-status.md +41 -0
- package/skills/arkcli-auth/references/arkcli-auth-whoami.md +128 -0
- package/skills/arkcli-auth/references/auth-modes.md +101 -0
- package/skills/arkcli-auth/references/identity-resolution.md +74 -0
- package/skills/arkcli-auth/references/realname-gate.md +23 -0
- package/skills/arkcli-auth/scripts/key-metadata.jq +34 -0
- package/skills/arkcli-billing/SKILL.md +105 -0
- package/skills/arkcli-billing/references/arkcli-billing-list.md +247 -0
- package/skills/arkcli-billing/references/evals.md +50 -0
- package/skills/arkcli-chat/SKILL.md +229 -0
- package/skills/arkcli-chat/references/arkcli-chat.md +300 -0
- package/skills/arkcli-chat/references/caching-thinking.md +138 -0
- package/skills/arkcli-chat/references/chat-meta.md +77 -0
- package/skills/arkcli-chat/references/evals.md +60 -0
- package/skills/arkcli-chat/references/stream-events.md +163 -0
- package/skills/arkcli-chat/references/text-format.md +160 -0
- package/skills/arkcli-chat/references/tools.md +130 -0
- package/skills/arkcli-code-example/SKILL.md +73 -0
- package/skills/arkcli-code-example/assets/demo-code/examples.json +14 -0
- package/skills/arkcli-code-example/assets/demo-code/go/main.go +53 -0
- package/skills/arkcli-code-example/assets/demo-code/python.py +26 -0
- package/skills/arkcli-code-example/references/arkcli-code-example.md +146 -0
- package/skills/arkcli-code-example/references/evals.md +12 -0
- package/skills/arkcli-config/SKILL.md +129 -0
- package/skills/arkcli-config/references/arkcli-config-init.md +49 -0
- package/skills/arkcli-config/references/arkcli-config-profile.md +54 -0
- package/skills/arkcli-config/references/evals.md +87 -0
- package/skills/arkcli-connect/SKILL.md +62 -0
- package/skills/arkcli-connect/references/arkcli-connect.md +129 -0
- package/skills/arkcli-connect/references/evals.md +117 -0
- package/skills/arkcli-custommodel/SKILL.md +177 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-available-quantizations.md +28 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-delete.md +36 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-get.md +45 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-list.md +72 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-quantize.md +58 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-update.md +47 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-upload.md +60 -0
- package/skills/arkcli-custommodel/references/evals.md +58 -0
- package/skills/arkcli-datasets/SKILL.md +41 -0
- package/skills/arkcli-datasets/references/commands.md +91 -0
- package/skills/arkcli-datasets/references/evals.md +30 -0
- package/skills/arkcli-deploy/SKILL.md +128 -0
- package/skills/arkcli-deploy/references/arkcli-deploy.md +138 -0
- package/skills/arkcli-deploy/references/evals.md +117 -0
- package/skills/arkcli-docs/SKILL.md +232 -0
- package/skills/arkcli-docs/references/commands.md +225 -0
- package/skills/arkcli-docs/references/evals.md +200 -0
- package/skills/arkcli-docs/references/failure-modes.md +77 -0
- package/skills/arkcli-doctor/CONTRIBUTING.md +202 -0
- package/skills/arkcli-doctor/SKILL.md +302 -0
- package/skills/arkcli-doctor/references/error-codes.md +504 -0
- package/skills/arkcli-doctor/references/evals.md +70 -0
- package/skills/arkcli-doctor/references/scope-account.md +205 -0
- package/skills/arkcli-doctor/references/scope-cli.md +217 -0
- package/skills/arkcli-doctor/references/scope-infer-endpoint.md +214 -0
- package/skills/arkcli-doctor/references/scope-metrics.md +197 -0
- package/skills/arkcli-doctor/references/scope-model.md +241 -0
- package/skills/arkcli-doctor/references/scope-report.md +242 -0
- package/skills/arkcli-doctor/references/verify-origin.md +142 -0
- package/skills/arkcli-gen/SKILL.md +348 -0
- package/skills/arkcli-gen/references/arkcli-gen-audio.md +125 -0
- package/skills/arkcli-gen/references/arkcli-gen.md +297 -0
- package/skills/arkcli-gen/references/evals.md +93 -0
- package/skills/arkcli-gen/references/gen-meta.md +182 -0
- package/skills/arkcli-gen/references/image-stream.md +105 -0
- package/skills/arkcli-gen/references/intent-and-validation.md +177 -0
- package/skills/arkcli-helper/SKILL.md +233 -0
- package/skills/arkcli-helper/references/arkcli-helper.md +372 -0
- package/skills/arkcli-helper/references/evals.md +110 -0
- package/skills/arkcli-infer-endpoint/SKILL.md +141 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-create.md +142 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-delete.md +68 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-get.md +60 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-list.md +142 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-start.md +34 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-stop.md +34 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-update.md +76 -0
- package/skills/arkcli-infer-endpoint/references/evals.md +24 -0
- package/skills/arkcli-models/SKILL.md +314 -0
- package/skills/arkcli-models/references/arkcli-models-activate.md +110 -0
- package/skills/arkcli-models/references/arkcli-models-get.md +100 -0
- package/skills/arkcli-models/references/arkcli-models-list.md +73 -0
- package/skills/arkcli-models/references/arkcli-models-performance.md +32 -0
- package/skills/arkcli-models/references/arkcli-models-scenario-table.md +83 -0
- package/skills/arkcli-models/references/arkcli-models-search.md +208 -0
- package/skills/arkcli-models/references/evals.md +88 -0
- package/skills/arkcli-onboard/SKILL.md +81 -0
- package/skills/arkcli-onboard/references/evals.md +107 -0
- package/skills/arkcli-plans/SKILL.md +208 -0
- package/skills/arkcli-plans/references/arkcli-plans-agreement-signing.md +74 -0
- package/skills/arkcli-plans/references/arkcli-plans-buy.md +209 -0
- package/skills/arkcli-plans/references/arkcli-plans-get.md +96 -0
- package/skills/arkcli-plans/references/arkcli-plans-harness-status.md +149 -0
- package/skills/arkcli-plans/references/arkcli-plans-model-apply.md +56 -0
- package/skills/arkcli-plans/references/arkcli-plans-model-list.md +119 -0
- package/skills/arkcli-plans/references/arkcli-plans-personal-rotate-apikey.md +83 -0
- package/skills/arkcli-plans/references/arkcli-plans-renew.md +134 -0
- package/skills/arkcli-plans/references/arkcli-plans-team-rotate-apikey.md +108 -0
- package/skills/arkcli-plans/references/arkcli-plans-team-seat-assign.md +142 -0
- package/skills/arkcli-plans/references/arkcli-plans-team-seat-list.md +115 -0
- package/skills/arkcli-plans/references/evals.md +224 -0
- package/skills/arkcli-pricing/SKILL.md +125 -0
- package/skills/arkcli-pricing/references/arkcli-pricing-models.md +260 -0
- package/skills/arkcli-pricing/references/arkcli-pricing-plans.md +147 -0
- package/skills/arkcli-profile/SKILL.md +188 -0
- package/skills/arkcli-profile/references/arkcli-profile-create.md +101 -0
- package/skills/arkcli-profile/references/arkcli-profile-keys.md +100 -0
- package/skills/arkcli-profile/references/arkcli-profile-set-default.md +81 -0
- package/skills/arkcli-profile/references/evals.md +5 -0
- package/skills/arkcli-resources/SKILL.md +122 -0
- package/skills/arkcli-resources/references/arkcli-resources-list.md +140 -0
- package/skills/arkcli-shared/SKILL.md +236 -0
- package/skills/arkcli-shared/references/execution-context.md +108 -0
- package/skills/arkcli-shared/references/global-flags.md +45 -0
- package/skills/arkcli-shared/references/profile-defaults.md +57 -0
- package/skills/arkcli-shared/references/troubleshooting.md +36 -0
- package/skills/arkcli-shared/references/update.md +72 -0
- package/skills/arkcli-train-finetune/SKILL.md +123 -0
- package/skills/arkcli-train-finetune/references/ark-finetune-sdk.md +133 -0
- package/skills/arkcli-train-finetune/references/create.md +262 -0
- package/skills/arkcli-train-finetune/references/download.md +44 -0
- package/skills/arkcli-train-finetune/references/evals.md +14 -0
- package/skills/arkcli-train-finetune/references/export-deploy.md +177 -0
- package/skills/arkcli-train-finetune/references/job-configuration.md +122 -0
- package/skills/arkcli-train-finetune/references/list.md +78 -0
- package/skills/arkcli-train-finetune/references/manage.md +128 -0
- package/skills/arkcli-train-finetune/references/rl-plugins.md +77 -0
- package/skills/arkcli-train-finetune/references/testing-debug-monitoring.md +137 -0
- package/skills/arkcli-understand/SKILL.md +131 -0
- package/skills/arkcli-understand/references/arkcli-understand-asr.md +53 -0
- package/skills/arkcli-understand/references/arkcli-understand.md +268 -0
- package/skills/arkcli-understand/references/evals.md +119 -0
- package/skills/arkcli-understand/references/sub-skills.md +141 -0
- package/skills/arkcli-usage/SKILL.md +166 -0
- package/skills/arkcli-usage/references/arkcli-usage-balance.md +217 -0
- package/skills/arkcli-usage/references/arkcli-usage-plan-details.md +136 -0
- package/skills/arkcli-usage/references/arkcli-usage-plan.md +166 -0
- package/skills/arkcli-usage/references/arkcli-usage-seats.md +194 -0
- package/skills/arkcli-usage/references/arkcli-usage-stats.md +195 -0
- package/skills/arkcli-usage/references/evals.md +30 -0
- package/README.md +0 -3
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# 查询精调任务列表
|
|
2
|
+
|
|
3
|
+
本 reference 只处理多任务列表和筛选。用户指定了一个 job id 时改读 [`manage.md`](manage.md)。
|
|
4
|
+
|
|
5
|
+
## 命令与常用过滤
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
arkcli train finetune list [flags]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
| 参数 | 说明 |
|
|
12
|
+
|---|---|
|
|
13
|
+
| `--name` | 按任务名模糊过滤 |
|
|
14
|
+
| `--phase` | 按阶段过滤,可重复 |
|
|
15
|
+
| `--customization-type` | 按后端训练类型过滤,可重复;不确定枚举时查 `--help` |
|
|
16
|
+
| `--create-time-after`、`--create-time-before` | 按创建时间过滤,使用 RFC3339 |
|
|
17
|
+
| `--mine` | 只查当前 SSO 子用户创建的任务;服务端按 `TagFilters=[{Key:"sys:ark:createdBy", Values:["IAMUser/<uid>/<name>"]}]` 过滤 |
|
|
18
|
+
| `--page-size`、`--page-number` | 手动分页;页码默认 1 且必须 `>=1`,每页默认 100 且必须在 `1-100` |
|
|
19
|
+
| `--page-all`、`--page-limit` | 自动分页;必须设置合理上限 |
|
|
20
|
+
| `--sort-by`、`--sort-order` | 排序 |
|
|
21
|
+
| `--transform` | 提取单字段;复杂投影用 JSON 工具处理 |
|
|
22
|
+
|
|
23
|
+
## 流程
|
|
24
|
+
|
|
25
|
+
1. 查看当前版本参数:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
arkcli train finetune list --help
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
2. 根据用户条件组合过滤:
|
|
32
|
+
|
|
33
|
+
- 名称
|
|
34
|
+
- 任务阶段
|
|
35
|
+
- 训练方法
|
|
36
|
+
- 创建时间范围
|
|
37
|
+
- 创建人:用户说“我的 / 我创建的 / 本人提交的”时必须加 `--mine`;不要先拉全账号再本地猜创建人
|
|
38
|
+
- 分页和排序
|
|
39
|
+
|
|
40
|
+
3. 用户要求“全部”时使用当前 CLI 支持的自动分页参数,并设置合理页数上限。不要无界抓取。
|
|
41
|
+
|
|
42
|
+
手动分页请求第 2 页及以后时,CLI 会先获取符合当前过滤条件的 `total_count`;请求页的起始位置超过总数会直接返回参数校验错误,最后一个不满整页的页码仍然合法。
|
|
43
|
+
|
|
44
|
+
4. 输出精简表格或摘要,优先包含:
|
|
45
|
+
|
|
46
|
+
- job id
|
|
47
|
+
- 名称
|
|
48
|
+
- 训练方法
|
|
49
|
+
- 当前阶段
|
|
50
|
+
- 创建时间或更新时间
|
|
51
|
+
|
|
52
|
+
不要为列表中的每个任务自动调用 `get`。只有用户要求详情,或列表字段不足以回答问题时,才查询对应 job。
|
|
53
|
+
|
|
54
|
+
## 命令骨架
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
arkcli train finetune list
|
|
58
|
+
arkcli train finetune list --name <keyword>
|
|
59
|
+
arkcli train finetune list --phase <phase>
|
|
60
|
+
arkcli train finetune list --mine --page-all --page-size 100
|
|
61
|
+
arkcli train finetune list \
|
|
62
|
+
--create-time-after <RFC3339> \
|
|
63
|
+
--create-time-before <RFC3339>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
阶段和训练方法枚举必须从当前 `--help` 获取,不要使用静态清单。
|
|
67
|
+
|
|
68
|
+
`--mine` 依赖 SSO 子用户身份和 `sys:ark:createdBy` 资源标签。
|
|
69
|
+
不要伪造空 tag 或退化成全账号结果冒充“我创建的”。
|
|
70
|
+
|
|
71
|
+
## 时间处理
|
|
72
|
+
|
|
73
|
+
- 用户使用“今天、昨天、最近一周”等相对时间时,按当前 profile/用户时区换算为明确的 RFC3339 边界。
|
|
74
|
+
- 在结果中写出实际使用的绝对时间范围,避免时区歧义。
|
|
75
|
+
|
|
76
|
+
## 空结果
|
|
77
|
+
|
|
78
|
+
空结果时说明实际过滤条件,并建议放宽最可能过严的一项。不要把空列表解释为没有权限,除非 CLI 明确返回鉴权或权限错误。
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# 查询和管理指定精调任务
|
|
2
|
+
|
|
3
|
+
本 reference 处理已知 job id 的详情、观察和生命周期操作。需要根据指标选择产物、导出 custom model 或继续部署时,改读 [`export-deploy.md`](export-deploy.md)。
|
|
4
|
+
|
|
5
|
+
## 命令速查
|
|
6
|
+
|
|
7
|
+
| 命令 | 何时用 | 常用参数 |
|
|
8
|
+
| ------------------------------------------------ | ----------------------- | --------------------------------------------------- |
|
|
9
|
+
| `arkcli train finetune get <job-id>` | 查完整详情,PRD-canonical 读入口 | `--transform` |
|
|
10
|
+
| `arkcli train finetune status <job-id>` | 查状态;语义上等同详情查询 | `--transform` |
|
|
11
|
+
| `arkcli train finetune watch <job-id>` | 持续监测进度及指标变化 | `--interval`、`--timeout`、`--quiet`、`--rich` |
|
|
12
|
+
| `arkcli train finetune metrics <job-id>` | 查指标曲线 | `--metric`、`--from-step`、`--to-step`、`--output` |
|
|
13
|
+
| `arkcli train finetune logs <job-id>` | 查训练日志 | `--tail`、`--since`、`--search`、`--follow`、`--output` |
|
|
14
|
+
| `arkcli train finetune trajectory list/get` | 查 RL 轨迹 | 仅在任务和 TLS 配置支持时使用 |
|
|
15
|
+
| `arkcli train finetune update <job-id>` | 改名称或描述 | `--name`、`--description` |
|
|
16
|
+
| `arkcli train finetune pause/resume/stop/delete` | 生命周期操作 | 写/删/终止前必须确认;需要时才加 `--yes` |
|
|
17
|
+
|
|
18
|
+
## 先查询当前状态
|
|
19
|
+
|
|
20
|
+
任何写操作前先执行:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
arkcli train finetune get <job-id>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
确认 job id、当前阶段和目标操作是否匹配。具体阶段限制以当前命令 `--help` 和后端错误为准,不维护静态阶段矩阵。
|
|
27
|
+
|
|
28
|
+
用户询问指定任务“为什么查不到”时也直接执行同一条 `get`,并原样保留权威 API 错误。不要从 `mcj-*` 的日期片段或后缀猜测合法性;不要先执行 `list` 搜索相似任务,也不要切换 profile/project/region。用户明确限制范围时,失败即停止并解释该错误。
|
|
29
|
+
|
|
30
|
+
## 详情与过程观察
|
|
31
|
+
|
|
32
|
+
按用户目标选择最小命令:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
arkcli train finetune get <job-id>
|
|
36
|
+
arkcli train finetune watch <job-id>
|
|
37
|
+
arkcli train finetune metrics <job-id>
|
|
38
|
+
arkcli train finetune logs <job-id>
|
|
39
|
+
arkcli train finetune trajectory list <job-id>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
执行前查看对应 `--help`。
|
|
43
|
+
|
|
44
|
+
- 一次性状态用 `get`,持续等待终态用 `watch`。
|
|
45
|
+
- 指标先查询可用 metric 名称,再按真实名称过滤。
|
|
46
|
+
- `metrics` 同时使用 `--from-step` 和 `--to-step` 时,`to-step` 必须严格大于 `from-step`。
|
|
47
|
+
- 日志、轨迹和指标可能很大;优先使用过滤、tail 或 `--output`,不要把完整内容灌入上下文。
|
|
48
|
+
- trajectory 仅在任务和当前 ArkCLI 能力支持时使用。
|
|
49
|
+
- 任务失败时返回阶段、错误原因和 CLI 提供的 hint,不要盲目重复提交。
|
|
50
|
+
|
|
51
|
+
### 保存指定任务日志
|
|
52
|
+
|
|
53
|
+
用户同时给出 MCJ ID 和输出路径时直接执行:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
arkcli train finetune logs <mcj-id> --output <path>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
这是单任务只读查询。不要先跑 `logs --help` 后停住,也不要执行 `train finetune list --page-all`、用 Python 遍历任务或建议切换 profile/project。命令失败时保留原错误并停止;只有语法不兼容时才查看当前 `logs --help` 后重试同一个目标命令。
|
|
60
|
+
|
|
61
|
+
`--follow` 会在活跃任务上持续轮询。任务执行前已经处于 `Completed` / `Failed` / `Terminated` 时,CLI 输出当前日志快照后自动退出;活跃任务后续进入终态且没有新日志时也自动退出。终态任务允许 `--follow --format json` 返回一个有界 JSON 快照;活跃任务的无界 follow 不支持单文档结构化输出。
|
|
62
|
+
|
|
63
|
+
### 查询指定任务的完整 trajectory
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
arkcli train finetune trajectory list <mcj-id> --full
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
命令层级必须包含 `train finetune trajectory list`;不要尝试 `arkcli train trajectory` 或在 help 树里漫游。`--full` 返回完整 rollout 内容,结果较大时仅在用户给出路径或同意后增加 `--output <path>`。若命令返回任务未开启 trajectory logging、无轨迹、认证或 TLS 权限错误,保留原错误并停止,不查询其他任务、profile 或 MCP 配置。
|
|
70
|
+
|
|
71
|
+
## TLS 配置
|
|
72
|
+
|
|
73
|
+
查询或管理精调 TLS 配置时,必须使用完整的 `tls config` 层级:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
arkcli train finetune tls config get
|
|
77
|
+
arkcli train finetune tls config enable
|
|
78
|
+
arkcli train finetune tls config disable
|
|
79
|
+
arkcli train finetune tls config delete
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
不存在 `tls update`。不要省略 `config` 写成 `arkcli train finetune tls get`。
|
|
83
|
+
|
|
84
|
+
- `get` 只读,无需确认。
|
|
85
|
+
- `enable` 会创建可能产生费用的 TLS 资源,先说明费用影响并取得确认。
|
|
86
|
+
- `disable` 停止写入新数据但保留已有数据,执行前需确认。
|
|
87
|
+
- `delete` 会永久删除已有 trajectory、custom log、trace 和 explainability 数据,需单独确认;非交互执行只有在确认后才添加 `--yes`。
|
|
88
|
+
|
|
89
|
+
## 任务元数据
|
|
90
|
+
|
|
91
|
+
更新名称或描述前,打印 job id、当前值和目标值并取得用户确认:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
arkcli train finetune update <job-id> --help
|
|
95
|
+
arkcli train finetune update <job-id> --name <name>
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
只发送用户要求修改的字段。
|
|
99
|
+
|
|
100
|
+
## 暂停、恢复、停止和删除
|
|
101
|
+
|
|
102
|
+
先分别查看当前接口:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
arkcli train finetune pause --help
|
|
106
|
+
arkcli train finetune resume --help
|
|
107
|
+
arkcli train finetune stop --help
|
|
108
|
+
arkcli train finetune delete --help
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
规则:
|
|
112
|
+
|
|
113
|
+
- `pause` 用于希望后续继续的任务。
|
|
114
|
+
- `resume` 的主要用途是恢复 `Paused` 任务,与 `pause` 形成可逆关系;后端允许时也可重试 `Failed` / `Terminated`。执行前仍以当前任务 phase 和后端结果为准。
|
|
115
|
+
- `stop` 是不可逆终止,必须明确说明影响并获得确认。
|
|
116
|
+
- `delete` 删除任务记录,必须展示目标 job id、名称和当前阶段,并获得单独确认。**Phase 强校验**:仅终态(`Completed` / `Failed` / `Terminated`)可删,非终态在客户端直接拒绝并提示先执行 `train finetune stop`,避免用户输 y 后被 backend `phase_mismatch` 拒。
|
|
117
|
+
- Agent 环境要求 `--yes` 时,只能在用户确认后添加。
|
|
118
|
+
- 阶段不允许时,根据 CLI/backend hint 给出下一步,不通过反复重试绕过限制。
|
|
119
|
+
|
|
120
|
+
## 训练产物
|
|
121
|
+
|
|
122
|
+
用户只想查看产物时,可以执行:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
arkcli train finetune artifacts list <job-id>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
用户要选择最佳产物、导出或部署时,不在本文件继续,读取 [`export-deploy.md`](export-deploy.md)。
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# SDK RL 插件
|
|
2
|
+
|
|
3
|
+
实现或审查 rollout、grader、自定义 pipeline、tracing,以及把推理 Agent 改造成训练 Agent 时读取本文件。
|
|
4
|
+
|
|
5
|
+
## 核心概念
|
|
6
|
+
|
|
7
|
+
- Rollout plugin:执行模型、工具或 Agent 交互,并产出轨迹。
|
|
8
|
+
- Grader plugin:对一条或多条轨迹评分,返回 reward 和可选指标。
|
|
9
|
+
- Pipeline wrapper:把 rollout 和 grader 接入 `custom_rl_pipeline`,并可配置环境变量和权重。
|
|
10
|
+
|
|
11
|
+
选择装饰器前,检查当前 `ark_sdk.resources.pipeline_plugin`。较新的 SDK 可能暴露 `rollout`、`single_rollout`、`group_rollout`、`single_grader`、`group_grader` 和多个 pipeline class,但具体用法以生成模板为准。
|
|
12
|
+
|
|
13
|
+
## Rollout 职责
|
|
14
|
+
|
|
15
|
+
Rollout 应该:
|
|
16
|
+
|
|
17
|
+
- 按需读取 `sample.messages`、`sample.tools` 和 `sample.extra`
|
|
18
|
+
- 构造有边界的模型、工具或 Agent 交互
|
|
19
|
+
- 调用外部 API 或工具时设置超时和重试策略
|
|
20
|
+
- 发生 tool call 时把工具结果回填到 messages
|
|
21
|
+
- 设置最大步数并确保循环可退出
|
|
22
|
+
- 在样本需要重试、丢弃、失败或向 grader 传递额外信息时,返回 SDK 约定的状态或结果
|
|
23
|
+
|
|
24
|
+
训练感知客户端很关键。生成模板通常会包装客户端,让 SDK 能跟踪 completion 状态和轨迹:
|
|
25
|
+
|
|
26
|
+
```python
|
|
27
|
+
client = Ark(base_url=proxy.url, api_key=proxy.jwt_token)
|
|
28
|
+
wrap_inplace_trace(client)
|
|
29
|
+
wrap_client_inplace(client, proxy=proxy)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
异步代码应使用异步 client 和模板里的异步包装函数。除非模板明确这么做,否则不要在 `async def` rollout 里调用阻塞式同步 client。
|
|
33
|
+
|
|
34
|
+
## Grader 职责
|
|
35
|
+
|
|
36
|
+
Grader 应该:
|
|
37
|
+
|
|
38
|
+
- 校验评分逻辑需要的 sample 字段
|
|
39
|
+
- 对收到的每条 trajectory 给出分数
|
|
40
|
+
- 返回形状符合 SDK 预期的 reward 列表
|
|
41
|
+
- 在 `metrics` 中补充有排障价值的自定义指标
|
|
42
|
+
- 对畸形轨迹做确定性处理
|
|
43
|
+
- 避免过于宽松的纯字符串打分,除非任务确实适合这样评估
|
|
44
|
+
|
|
45
|
+
Reward 设计建议:
|
|
46
|
+
|
|
47
|
+
- 尽量使用稠密、可解释的 reward,而不是过于稀疏的全对/全错判断。
|
|
48
|
+
- 对工具参数格式错误、缺失最终答案、循环不退出、隐藏 fallback 等失败模式明确扣分。
|
|
49
|
+
- 防止 reward hacking:不要因为回答提到期望文本就直接给高分,必须判断是否真实满足任务。
|
|
50
|
+
- 过程 reward 只有在与最终质量一致时才使用。
|
|
51
|
+
|
|
52
|
+
## 推理 Agent 到训练 Agent 的改造
|
|
53
|
+
|
|
54
|
+
改造推理 Agent 时:
|
|
55
|
+
|
|
56
|
+
- 把静默 fallback 改成明确扣分或明确状态
|
|
57
|
+
- 让错误工具参数对 grader 可见
|
|
58
|
+
- 限制最大步数和重试次数
|
|
59
|
+
- 记录足够状态以复现失败
|
|
60
|
+
- 在并发下测试下游 API 的延迟、限流和失败行为
|
|
61
|
+
|
|
62
|
+
## Runtime 与并发
|
|
63
|
+
|
|
64
|
+
装饰器可能支持实例规格、超时、并发、replica 或 request concurrency 等 runtime 设置。这些字段会随 SDK 变化,因此应复制当前模板的写法。
|
|
65
|
+
|
|
66
|
+
正式训练前,用接近计划 batch size 的并发做批量测试。插件过慢时,即使模型配置正确,也会浪费训练资源。
|
|
67
|
+
|
|
68
|
+
## 可观测性 Hook
|
|
69
|
+
|
|
70
|
+
可用时使用当前模板的 tracing 工具:
|
|
71
|
+
|
|
72
|
+
- 在 rollout/grader 函数上使用 `@trace_monitor`
|
|
73
|
+
- 对模型 client 使用 `wrap_inplace_trace(...)` 或异步等价函数
|
|
74
|
+
- 对工具/API 辅助函数使用 `@observe()`
|
|
75
|
+
- 用 logger 记录高层决策、工具调用、校验失败和 reward 汇总
|
|
76
|
+
|
|
77
|
+
不要记录密钥、原始鉴权 header、API key 或完整敏感 payload。
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# SDK 测试、调试与监控
|
|
2
|
+
|
|
3
|
+
提交任务前,或任务失败需要排查时读取本文件。
|
|
4
|
+
|
|
5
|
+
## RL 必要顺序
|
|
6
|
+
|
|
7
|
+
自定义 RL 任务按以下顺序推进:
|
|
8
|
+
|
|
9
|
+
1. 本地单样本 rollout 测试。
|
|
10
|
+
2. 本地 rollout 加 grader 联调。
|
|
11
|
+
3. 使用代表性数据做本地小批量测试。
|
|
12
|
+
4. 使用接近计划 batch size 的并发做压测。
|
|
13
|
+
5. 生成项目支持时,执行在线插件或类 FaaS 测试。
|
|
14
|
+
6. 使用 `debug=True` 或 `--debug` 提交 RL debug 任务。
|
|
15
|
+
7. 提交正式训练任务。
|
|
16
|
+
|
|
17
|
+
只有用户明确接受风险时,才跳过 debug 任务。
|
|
18
|
+
|
|
19
|
+
## 非 RL 任务
|
|
20
|
+
|
|
21
|
+
不要为 SFT、DPO、CPT 或其他非 RL 任务编造 RL debug 流程。按当前 SDK 文档或模板使用其正常校验和提交路径。
|
|
22
|
+
|
|
23
|
+
## 本地测试
|
|
24
|
+
|
|
25
|
+
优先使用生成模板中的测试工具。建议覆盖:
|
|
26
|
+
|
|
27
|
+
- 一条预期通过样本
|
|
28
|
+
- 一条预期失败样本
|
|
29
|
+
- 畸形工具参数
|
|
30
|
+
- 下游 API 超时或报错
|
|
31
|
+
- 小规模代表性数据集
|
|
32
|
+
- 接近目标 batch size 的并发
|
|
33
|
+
|
|
34
|
+
API key 使用环境变量:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
export ARK_API_KEY=...
|
|
38
|
+
PYTHONPATH=. python plugins/<rollout_or_test>.py
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
如果项目使用 `uv`,遵循生成 README 或模板命令。
|
|
42
|
+
|
|
43
|
+
## 依赖冻结
|
|
44
|
+
|
|
45
|
+
本地测试通过后,在线插件测试前冻结依赖:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
python -m pip freeze > requirements.txt
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
或在 `uv` 项目中:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
uv pip freeze > requirements.txt
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
如果模板期望轻量远端环境,清理无关依赖。
|
|
58
|
+
|
|
59
|
+
## 在线插件测试
|
|
60
|
+
|
|
61
|
+
使用生成的 `test_faas.py`,或查看当前命令:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
ark test pipeline_plugin --help
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
常见请求形态包含 `context`、`proxy` 和 `sample`,但准确结构以当前模板为准。
|
|
68
|
+
|
|
69
|
+
## RL Debug 提交
|
|
70
|
+
|
|
71
|
+
Python 模式:
|
|
72
|
+
|
|
73
|
+
```python
|
|
74
|
+
mcj.submit(debug=True)
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
YAML/命令模式:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
ark create mcj --file job.yaml --debug
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Debug 任务需要 endpoint/API-key 配置,让 rollout 能调用推理 endpoint。密钥放在环境变量或本地 secret 处理中。
|
|
84
|
+
|
|
85
|
+
## 正式提交前检查
|
|
86
|
+
|
|
87
|
+
正式提交前总结:
|
|
88
|
+
|
|
89
|
+
- SDK 版本和已检查的模板
|
|
90
|
+
- 模型引用或自定义模型 id
|
|
91
|
+
- 训练方式
|
|
92
|
+
- 数据路径和验证策略
|
|
93
|
+
- 超参来源
|
|
94
|
+
- rollout 和 grader 标识
|
|
95
|
+
- 可观测性设置
|
|
96
|
+
- 本地、批量、在线、debug 测试结果
|
|
97
|
+
- 已知费用或资源影响
|
|
98
|
+
|
|
99
|
+
## 监控
|
|
100
|
+
|
|
101
|
+
提交后检查:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
ark list mcj
|
|
105
|
+
ark get mcj <mcj-id>
|
|
106
|
+
ark pull mcj <mcj-id> --include-plugin
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
关注任务阶段、失败原因、插件日志、轨迹分析、reward 指标、自定义指标、时间线和产物输出。
|
|
110
|
+
|
|
111
|
+
RL 任务中,在可用时同时观察训练 reward 和验证 reward。不要只看聚合 reward;要检查高 reward 与低 reward 轨迹,确认没有 reward hacking 或 grader 盲区。
|
|
112
|
+
|
|
113
|
+
## 排障模式
|
|
114
|
+
|
|
115
|
+
形成“明确问题分类 + 下一步建议”的有效 Debug 结论后,复用当前
|
|
116
|
+
`ARKCLI_SKILL_FLOW_ID`(没有则生成 `ftf_<ULID>`),按 shared 单命令前缀执行
|
|
117
|
+
`arkcli train finetune _report-activity --action debug_success`。仅完成查询但尚无结论时不报。
|
|
118
|
+
|
|
119
|
+
1. 读取任务状态和失败原因。
|
|
120
|
+
2. 检查 rollout/grader 日志和轨迹。
|
|
121
|
+
3. 用最小失败样本本地复现。
|
|
122
|
+
4. 增加有针对性的日志或指标。
|
|
123
|
+
5. 修复插件、配置或数据。
|
|
124
|
+
6. 重新跑本地、批量、在线和 debug 检查,再开始正式重训。
|
|
125
|
+
|
|
126
|
+
常见失败点:
|
|
127
|
+
|
|
128
|
+
- 所选模型版本不支持某个超参
|
|
129
|
+
- 数据形态错误或 JSONL 非法
|
|
130
|
+
- 缺少环境变量
|
|
131
|
+
- 插件依赖不匹配
|
|
132
|
+
- 下游工具/API 超时或过慢
|
|
133
|
+
- rollout 循环不退出
|
|
134
|
+
- 工具参数 JSON 错误
|
|
135
|
+
- grader reward 形状不符合预期
|
|
136
|
+
- rollout 吞掉了本应扣分的错误
|
|
137
|
+
- grader 过于宽松导致 reward hacking
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: arkcli-understand
|
|
3
|
+
version: 1.1.0
|
|
4
|
+
description: "arkcli +understand:对用户提供的图片、音频、视频或文档完成转写、抽取、字幕、定位等 12 类专项产出,包含 Agent Plan 个人版/企业版原生 WebSocket ASR 和字幕打轴。仅解释参数或排查已有多模态请求报错时转 arkcli-chat;实际理解任务支持临时凭证与本地 dry-run,开放对话走 +chat,生成走 +gen。"
|
|
5
|
+
metadata:
|
|
6
|
+
requires:
|
|
7
|
+
bins: ["arkcli"]
|
|
8
|
+
cliHelp: "arkcli +understand --help"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# arkcli +understand
|
|
12
|
+
|
|
13
|
+
**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../arkcli-shared/SKILL.md`](../arkcli-shared/SKILL.md),其中包含认证闸门、API Key 错误恢复、配置排查与命令选择顺序。**
|
|
14
|
+
**CRITICAL — 执行 `+understand` 之前,MUST 先用 Read 工具读取 [`references/arkcli-understand.md`](references/arkcli-understand.md)(命令/flag/返回值/错误)与 [`references/sub-skills.md`](references/sub-skills.md)(12 个 sub-skill 的用途与期望输出形态)。禁止凭印象拼命令。**
|
|
15
|
+
|
|
16
|
+
## 原生语音识别分支
|
|
17
|
+
|
|
18
|
+
Agent Plan 个人版/企业版的 Seed ASR 2.0 使用 `+understand asr` 或 `asr-align`,
|
|
19
|
+
显式指定 `--audio-protocol ws-bidirectional`(流式结果)或 `ws-unidirectional`
|
|
20
|
+
(完整音频发送后返回结果)。也可通过 `--model doubao-seed-asr-2.0` 选择原生
|
|
21
|
+
双向 WS。执行前读取 [`references/arkcli-understand-asr.md`](references/arkcli-understand-asr.md)。
|
|
22
|
+
该路径使用专属/席位 Key、原生 ASR 参数和真实时间戳,不使用 Responses 配方、
|
|
23
|
+
Endpoint 或临时 Key/Base URL。仅本地 preview 时直接 `--dry-run`,不先查 auth。
|
|
24
|
+
下文的 Responses 引擎、返回值、25MB 内联限制和 recipe fallback 模型描述适用于
|
|
25
|
+
`--audio-protocol responses`(默认),不会覆盖显式原生 ASR 选择。
|
|
26
|
+
|
|
27
|
+
## 先区分理解任务与调用问题
|
|
28
|
+
|
|
29
|
+
| 本轮要交付什么 | 执行边界 |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| 对具体素材转写、抽取、翻译或定位 | 使用本 Skill 的配方;缺少素材时补齐输入,不能凭空生成素材或理解结果 |
|
|
32
|
+
| 解释音频/多模态参数、比较接口,或排查已有请求的字段报错 | 读取 [`../arkcli-chat/SKILL.md`](../arkcli-chat/SKILL.md) 的请求证据与条件修复;本轮交付诊断说明,到此结束,不进入后文业务准备 |
|
|
33
|
+
| 同时要求解释错误并实际处理素材 | 分开记录两项交付;只在已提供素材、调用目标和实际执行授权的范围内处理,不用新请求的结果替代原错误证据 |
|
|
34
|
+
|
|
35
|
+
`+understand` 的默认配方实现走 Responses API,只能说明这个 CLI 命令的行为,不能说明用户原来的音频 SDK、Chat 请求或网关也走 Responses。单凭 `unknown field` 不能判定实际接口;原 URL、模型版本或请求体缺失时保留未知,按 Chat Skill 给出条件分支。仅有“音频理解”“转写参数”等字样不会启动配方执行。
|
|
36
|
+
|
|
37
|
+
参数诊断无需先准备认证、解析默认资源或选择下表的 fallback 模型。用户未提供原模型时,不自行选另一个模型查询上限并据此解释原请求;已知模型的只读能力查询也须在本次允许的工具范围内。只有本轮确实要求实际处理素材或授权复现,才进入后文执行顺序。
|
|
38
|
+
|
|
39
|
+
## 核心概念
|
|
40
|
+
|
|
41
|
+
- 默认理解配方复用一个引擎:底层引擎就是 `+chat` 用的数据面 Responses API;每个 sub-skill 只是一条**配方** `{模态, fallback 模型, 内置 system prompt}`。Platform Profile 省略 `--model` 时必须使用当前 Profile 的 `Resources.Text.Default` Endpoint;只有 Plan 类 Profile 才使用 recipe fallback 模型。
|
|
42
|
+
- 命令形态:`arkcli +understand <sub-skill> --input @file [prompt]`。
|
|
43
|
+
- `args[0]` **命中注册表**(12 个之一)→ 当作显式 sub-skill,其余位置参数当 prompt 叠加在内置 prompt 之上。
|
|
44
|
+
- `args[0]` **不命中** → 整段位置参数都当 prompt,服务端按**首个 `--input` 的文件模态自动路由**到该模态的默认 sub-skill。
|
|
45
|
+
- **必须有 `--input`**:sub-skill 是「对某个文件做理解」,没有 `--input` 会直接 `missing_input` 报错。纯 prompt 无法推导配方。
|
|
46
|
+
- 返回值与 `+chat` 完全一致:arkcli **扁平** schema `{id, model, content, reasoning_content, usage}`,**不是** Responses 原生 `output[].content[].text` 嵌套。详见 [`references/arkcli-understand.md`](references/arkcli-understand.md) 的「返回值」段。
|
|
47
|
+
- 多模态上传:image/video/doc 由 SDK `file://` preprocessor 自动走 Files API;**audio 是特例**——内联为 base64 data URL,**上限 25MB**。详见 reference。
|
|
48
|
+
- 用户临时提供 `--api-key` / `--base-url` / Endpoint 时,MUST 读取 [`../arkcli-shared/references/execution-context.md`](../arkcli-shared/references/execution-context.md)。不要根据 Key 文本或 Endpoint 名称猜数据面/工作流。
|
|
49
|
+
- `--dry-run` 只在本地解析配方、当前 Profile 已持久化的默认 Endpoint、显式模型和输入引用,输出统一 `preview.v1`;不读取在线 Endpoint/模型元数据、不上传文件、不调用 Responses API、不产生模型用量、不创建 response id 或持久化响应。在线才能补齐的值必须标为 `unresolved`,不能把预览当服务端 validation。
|
|
50
|
+
|
|
51
|
+
## 快速决策(understand vs chat vs gen)
|
|
52
|
+
|
|
53
|
+
| 用户意图 | 走哪个 |
|
|
54
|
+
|---|---|
|
|
55
|
+
| 有**明确产出形态**的多模态理解任务(转写 / 翻译 / 字幕 / 框选定位 / GUI 操作 / 字段抽取 / 分章节总结 / 多说话人 / 会议纪要) | **`+understand`**(命中某个 sub-skill) |
|
|
56
|
+
| 开放式带图/视频对话、追问、推理、需要多轮接续(`--store`/`--previous-response-id`)、需要 tools(web_search/function)或 `--text-format json_schema` 严格 JSON | [`../arkcli-chat/SKILL.md`](../arkcli-chat/SKILL.md) |
|
|
57
|
+
| **生成**图片 / 视频(不是理解已有素材) | [`../arkcli-gen/SKILL.md`](../arkcli-gen/SKILL.md) |
|
|
58
|
+
|
|
59
|
+
一句话判据:**要求实际处理素材且产出对应某个 sub-skill → 用 `+understand`;仅询问参数或报错 → Chat 诊断;开放对话用 `+chat`,生成用 `+gen`。**
|
|
60
|
+
|
|
61
|
+
## Agent 快速执行顺序
|
|
62
|
+
|
|
63
|
+
1. 判断用户的理解任务命中哪个 sub-skill(见下表)。命中就显式带上 sub-skill 名,不要让它走自动路由去猜。
|
|
64
|
+
2. 用户只给 `ep-...` → `arkcli resources resolve <ep-id> --format json`;只有用户任务属于明确理解产出,且 `supported_workflows` 包含 `understand`,才走本 skill。
|
|
65
|
+
3. 用户给了临时 Key/Base URL/Endpoint → 按共享 execution-context 组合规则决定参数,不先切 profile。
|
|
66
|
+
4. 没有完整 stateless 上下文时过认证闸门:不确定登录态先 `arkcli auth status`;鉴权失败按 [`../arkcli-auth/references/auth-modes.md`](../arkcli-auth/references/auth-modes.md) 的「API Key 模式的错误恢复」处理,**不要原地重试**。
|
|
67
|
+
5. 备好输入:`--input @<file>`(可多次)。本地文件用 `@` 前缀;远程用 `https://` / `tos://` URL。
|
|
68
|
+
6. **默认不传 `--model`**:Platform Profile 会使用 `Resources.Text.Default` 中已部署的 `ep-xxx`,与 `+chat` 保持一致;Plan 类 Profile 才使用 sub-skill 的 recipe fallback 模型。只有用户明确指定其他资源时才传完整版本化 ID 或 `ep-xxx`。
|
|
69
|
+
7. 需要逐段输出加 `--stream`;想微调任务指令用 `--system-prompt-append "..."`,或 `--system-prompt-override "..."`。
|
|
70
|
+
8. 跑完回到用户原始目标,不要停在中间产物上。
|
|
71
|
+
|
|
72
|
+
## sub-skill 速查表(12 个 / 4 模态)
|
|
73
|
+
|
|
74
|
+
> 下表是 Plan 类 Profile 使用的 recipe fallback 模型。Platform Profile 不使用这些裸模型名,而是使用当前 Profile 的 `Resources.Text.Default` Endpoint。确需覆盖时见上文执行顺序。
|
|
75
|
+
|
|
76
|
+
| sub-skill | 模态 | Plan recipe fallback 模型 | 一句话用途 |
|
|
77
|
+
|---|---|---|---|
|
|
78
|
+
| `image-caption` | image | `doubao-seed-1-6` | 单图/多图描述、OCR(保留原文,不意译) |
|
|
79
|
+
| `image-grounding` | image | `doubao-seed-1-6` | 视觉定位:输出目标 bbox `(x1,y1,x2,y2)` + confidence |
|
|
80
|
+
| `image-gui` | image | `doubao-seed-1-6` | GUI 截图 → 可执行操作序列(12 类操作 JSON 数组) |
|
|
81
|
+
| `doc-extract` | file | `doubao-seed-1-6` | PDF/文档按 schema 抽取结构化 JSON(缺失填 null,保留 page) |
|
|
82
|
+
| `video-summary` | video | `doubao-seed-1-6` | 视频总结:overall / segment / chapter + 关键时间点 |
|
|
83
|
+
| `video-qa` | video | `doubao-seed-1-6` | 视频问答:结合画面+音频+时间轴精准回答 |
|
|
84
|
+
| `vau` | video | `doubao-seed-2-0-lite` | 音视频联合理解:分析视频内声音元素,出音频分析报告 |
|
|
85
|
+
| `asr` | audio | `doubao-seed-2-0-lite` | 语音转写:仅输出纯文本,无任何前后缀/格式 |
|
|
86
|
+
| `asr-align` | audio | `doubao-seed-2-0-lite` | 字幕打轴:默认 SRT 格式(序号+起止时间+文本) |
|
|
87
|
+
| `asr-speakers` | audio | `doubao-seed-2-0-lite` | 多说话人转写:标 `[spk0]` / `[spk1]` ... |
|
|
88
|
+
| `ast` | audio | `doubao-seed-2-0-lite` | 语音翻译:把音频里的话译成文本 |
|
|
89
|
+
| `meeting-minutes` | audio | `doubao-seed-2-0-lite` | 会议纪要:结构化 markdown(主题/参会人/要点/决议/待跟进) |
|
|
90
|
+
|
|
91
|
+
逐条的期望输出形态与示例命令见 [`references/sub-skills.md`](references/sub-skills.md)。
|
|
92
|
+
|
|
93
|
+
## 省略 sub-skill 时的自动路由
|
|
94
|
+
|
|
95
|
+
`args[0]` 不命中注册表时,按**首个 `--input` 的文件扩展名**推断模态并兜底到该模态的默认 sub-skill:
|
|
96
|
+
|
|
97
|
+
| 推断模态 | 兜底 sub-skill |
|
|
98
|
+
|---|---|
|
|
99
|
+
| image(`.jpg/.png/.webp/...`) | `image-caption` |
|
|
100
|
+
| video(`.mp4/.mov/...`) | `video-qa` |
|
|
101
|
+
| audio(`.mp3/.wav/.m4a/...`) | `asr` |
|
|
102
|
+
| file(其他扩展名) | `doc-extract` |
|
|
103
|
+
|
|
104
|
+
- **没有 `--input` 时无法自动路由**(纯 prompt 推不出配方)→ 报 `missing_sub_skill`。
|
|
105
|
+
- 目前**只按文件模态兜底,不做 prompt 关键词级路由**(例如说「框出」不会自动选 `image-grounding`)。Agent 想要非默认 sub-skill(如 grounding / gui / summary / 字幕 / 翻译)就**显式写出 sub-skill 名**,别依赖自动路由。
|
|
106
|
+
|
|
107
|
+
## 命令一览
|
|
108
|
+
|
|
109
|
+
| 命令 | 说明 |
|
|
110
|
+
|------|------|
|
|
111
|
+
| `arkcli +understand image-caption --input @photo.jpg "描述这张图"` | 图片描述 |
|
|
112
|
+
| `arkcli +understand image-caption --input @doc.png "OCR,原样保留文字"` | OCR |
|
|
113
|
+
| `arkcli +understand image-grounding --input @scene.jpg "框出所有红色car"` | 视觉定位 bbox |
|
|
114
|
+
| `arkcli +understand doc-extract --input @invoice.pdf "抽取 发票号/金额/日期"` | 文档字段抽取 |
|
|
115
|
+
| `arkcli +understand video-summary --input @clip.mp4 "按 chapter 总结"` | 视频分章节总结 |
|
|
116
|
+
| `arkcli +understand video-qa --input @clip.mp4 "视频里出现了几辆车?"` | 视频问答 |
|
|
117
|
+
| `arkcli +understand asr --input @speech.mp3` | 语音转写(无需 prompt) |
|
|
118
|
+
| `arkcli +understand asr-align --input @speech.mp3` | 生成 SRT 字幕 |
|
|
119
|
+
| `arkcli +understand asr-speakers --input @meeting.wav` | 多说话人转写 |
|
|
120
|
+
| `arkcli +understand ast --input @speech.m4a "译成英文"` | 语音翻译 |
|
|
121
|
+
| `arkcli +understand meeting-minutes --input @meeting.m4a` | 会议纪要 |
|
|
122
|
+
| `arkcli +understand "<prompt>" --input @photo.jpg` | 省略 sub-skill → 按模态自动路由(此处 → image-caption) |
|
|
123
|
+
| `arkcli +understand asr --input @speech.mp3 --stream` | 流式逐段输出 |
|
|
124
|
+
| `arkcli +understand image-caption --input @x.jpg --system-prompt-append "用英文回答"` | 在内置 prompt 后追加指令 |
|
|
125
|
+
| `arkcli +understand image-caption --input @x.jpg "描述图片" --dry-run --format json` | 返回 recipe / 模型 / 请求摘要的 `preview.v1`;零网络、不上传、不推理 |
|
|
126
|
+
|
|
127
|
+
## 详细文档
|
|
128
|
+
|
|
129
|
+
- 全部 flag、`@file`/audio 上传机制、返回值扁平 schema、错误码、raw API 兜底、与 `+chat` 的关系 → [`references/arkcli-understand.md`](references/arkcli-understand.md)
|
|
130
|
+
- 12 个 sub-skill 的逐条用途、**期望输出形态**、示例命令 → [`references/sub-skills.md`](references/sub-skills.md)
|
|
131
|
+
- 最小评估/回归用例 → [`references/evals.md`](references/evals.md)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# 原生 WebSocket ASR
|
|
2
|
+
|
|
3
|
+
火山 Agent Plan **个人版/企业版**支持 Seed ASR 2.0 原生转写和字幕,使用当前
|
|
4
|
+
`agent-plan` 专属 Key 或 `agent-plan-team` 席位 Key。先读 `../SKILL.md`
|
|
5
|
+
及 `../../arkcli-shared/SKILL.md`;调用归因 `ARKCLI_SKILL_NAME=arkcli-understand`。
|
|
6
|
+
用户已授权的素材和真实调用直接沿用;不创建 Endpoint,不换普通 Key。
|
|
7
|
+
|
|
8
|
+
## 执行
|
|
9
|
+
|
|
10
|
+
1. 只预览:`+understand asr --input @speech.wav --audio-protocol ws-bidirectional --dry-run`。
|
|
11
|
+
不读音频、不加载 profile/认证、不请求网络、不写文件;真实音频分包和资格标为 unresolved。
|
|
12
|
+
2. 真实处理:核对 `auth status`、已有套餐 profile 和素材;个人版先执行使用协议检查,
|
|
13
|
+
企业版走席位 Key;鉴权后再读取文件。保存失败不自动重复识别。
|
|
14
|
+
3. 使用明确的 `asr`(纯转写)或 `asr-align`(真实时间戳字幕),必须且只能一个 input。
|
|
15
|
+
`asr-speakers`、翻译和会议纪要继续使用 Responses 配方。
|
|
16
|
+
4. 输出成功必须收到服务器最终包;中断和错误不写部分文件。`content` 为完整
|
|
17
|
+
转写或 SRT/VTT;`utterances` 保留服务器的句子、词级时间戳及 additions。
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
arkcli +understand asr --input @speech.wav \
|
|
21
|
+
--audio-protocol ws-bidirectional --stream
|
|
22
|
+
|
|
23
|
+
arkcli +understand asr-align --input @speech.mp3 \
|
|
24
|
+
--audio-protocol ws-unidirectional --subtitle-format vtt --save-to ./subtitles
|
|
25
|
+
|
|
26
|
+
arkcli +understand asr --input @speech.pcm --model doubao-seed-asr-2.0 \
|
|
27
|
+
--asr-options '{"enable_itn":true,"enable_punc":true}' --dry-run
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
| Flag | 契约 |
|
|
31
|
+
| --- | --- |
|
|
32
|
+
| `--audio-protocol` | `responses` 默认;原生选择 `ws-bidirectional` / `ws-unidirectional` |
|
|
33
|
+
| `--model` | 原生仅 doubao-seed-asr-2.0 或 volc.seedasr.sauc.duration;不指定协议时默认双向 WS |
|
|
34
|
+
| `--input` | 单个本地 @file、file:// 或 HTTP(S) URL;客户端最大 64 MiB,不自动转码 |
|
|
35
|
+
| `--audio-format` | wav、pcm、mp3、ogg(Opus);省略按扩展名推断 |
|
|
36
|
+
| `--audio-channels` | PCM 声道 1(默认)或 2;WAV 以 header 为准 |
|
|
37
|
+
| `--asr-language` | 仅单向 WS 按官方支持的语言值传递 |
|
|
38
|
+
| `--asr-options` | request JSON;可配置 ITN、标点、顺滑、热词等官方支持项;model_name 固定 bigmodel,result_type 固定 full;字幕必须 show_utterances=true |
|
|
39
|
+
| `--subtitle-format` | 仅 asr-align;srt(默认)/vtt;句级时间戳从服务端毫秒转换 |
|
|
40
|
+
| `--save-to` | 可选目录;成功后创建唯一 asr-*.txt/srt/vtt,不覆盖已有文件 |
|
|
41
|
+
| `--stream` | NDJSON `asr.delta`(完整的当前文本,可能修订;不是追加文本)与 `asr.completed`(最终结果) |
|
|
42
|
+
| `--timeout` | 含读取、分包和识别的截止时间,默认 120s |
|
|
43
|
+
|
|
44
|
+
PCM/WAV 要求 PCM s16le、16000 Hz、1/2 声道;WAV 同时验证格式与数据 chunk。
|
|
45
|
+
MP3、Ogg Opus 由服务端解码。不支持 m4a。原生 ASR 不接受配方 prompt、
|
|
46
|
+
system-prompt、thinking、temperature、store 等 Responses 参数,也不接受
|
|
47
|
+
临时 `--api-key` / `--base-url`。纯转写可没有话语内容;字幕没有真实时间戳时
|
|
48
|
+
会报错,不伪造打轴。`audio_info` 和 `usage` 只保留当前服务器返回的字段,
|
|
49
|
+
不承诺历史语音用量查询。错误保留服务端 Code 与 LogID,不自动重试请求。
|
|
50
|
+
|
|
51
|
+
接口分别为 `/api/v3/plan/sauc/bigmodel_async` 与
|
|
52
|
+
`/api/v3/plan/sauc/bigmodel_nostream`,Resource ID `volc.seedasr.sauc.duration`。
|
|
53
|
+
[官方 Agent Plan 语音文档](https://ark.volcengine.com/region:cn-beijing/docs/agent-plan-personal-voice-model)。
|