arkcli-custommodel 是 arkcli 中专门管理自定义模型(CustomModel,ID 形如 cm-xxxxx)的技能,与管理官方基础模型的 arkcli-models 属于两套独立资源。任何涉及自定义模型 ID 的管理、部署准备,或要求用 cm-* 直接对话/推理/试效果的边界判断,都应加载本技能。
用途与适用场景 自定义模型相关需求优先使用 arkcli models custommodel ... 命令,主要场景包括:把训练好或微调好的权重从 veTOS 导入到 ARK 自定义模型;查询账号下已有的自定义模型及其状态;查看自定义模型详情、产物形态与活跃 endpoint 引用;修改展示名或描述;删除不再使用的模型;以及把已 ready 的模型量化,准备作为部署目标。基础模型目录查询应转 arkcli-models,模型微调任务应转 arkcli-train-finetune。
核心概念 自定义模型来源有两类:import(用户从 TOS 上传权重导入,走本技能的 upload 命令与 UploadModel API)和 customization(通过模型微调任务产出,走 train finetune artifacts export,底层是 CreateCustomModel,与 upload 不互通)。生命周期状态机为 preparation → processing → ready(成功)或 failed,导出场景另有 exporting / exportfailed。量化是单独流程:先用 available-quantizations 查可用模式,并通过 supported_inference_types_by_quantization 预判每种量化方式支持的部署/付费形态,再 quantize 提交任务,结果是一个独立的新 cm-xxxxx。源模型、量化结果模型与最终部署出的 endpoint 是三类不同资源,不能混用 ID。cm-xxxxx 不是 <name>-<primary_version> 形式,不能直接作为 chat / gen 的 --model,必须先通过 deploy 获得 endpoint(ep-xxx);若已有 Running Endpoint,deploy 会直接复用。
使用方式与执行顺序 开始前必须先用 Read 工具读取 ../arkcli-shared/SKILL.md,其中包含认证闸门、配置排查与共享安全规则;执行具体命令前需先读取对应 reference 文档,禁止盲目调用。写操作(upload / update / delete / quantize)必须先确认用户意图,删除前需确认是否还有 endpoint 引用。快速决策路径包括:查询“我的自定义模型”用 list --mine;按名称/ID 模糊查找用 list --search;查看状态与详情用 get;从 TOS 导入读 upload 参考;改名改描述用 update;删除先查 active_endpoints;量化先读 available-quantizations 再读 quantize。Agent 快速执行顺序建议先 arkcli auth status 确认认证;上传前必填 --name、--base-model 与 --tos 三项;upload 与 quantize 是异步任务,返回后用 get 轮询 status,轮询间隔建议 ≥ 10s 以免限流;quantize --dry-run 仅输出本地 preview,不调用后端。list 的 --sort-order 只接受小写 asc / desc。
典型业务链路 从 TOS 上传新自定义模型:auth status → custommodel upload → custommodel get 轮询至 ready → get --transform 'artifact_types' 查看产物形态。量化已就绪模型:get 确认 ready → available-quantizations 查看支持的 mode → quantize --dry-run → 用户确认 → quantize → get 新 ID 再次轮询。准备给 deploy 当目标:list --mine --statuses ready --page-all --format json,按 0 / 1 / N 澄清唯一 cm-xxxxx 后转 arkcli-deploy。清理不再使用的模型:get --transform 'active_endpoints' 确认无引用 → delete --dry-run → delete(交互二确)或 --yes。
限制与反模式 不要用 models search / list 找自定义模型;不要在 upload 后立即 quantize;不要传 available-quantizations 未列出的量化模式;不要把 cm-xxxxx 直接传给 chat / gen;不要在多个 ready 模型中自行挑一个部署,应先让用户从本轮实时结果中选择;不要主动补 --yes,只有用户已确认删除目标与影响范围后才可带;不要在“我的”语义下走 shared 的 Tags 客户端过滤,custommodel list --mine 是服务端原生过滤。认证失败、profile/region 异常、需要部署、产品命令未覆盖(如直接触发 customization job)等场景,应分别转 arkcli-auth、arkcli-config、arkcli-deploy 或 arkcli-api-explorer。