arkcli infer endpoint
CRITICAL — 显式脚本化 / CI / 无护栏 / 原始 raw CRUD 创建是本 skill 的正向触发,不得因为出现“创建 Endpoint”就转到 arkcli-deploy。
CRITICAL — 模型候选查询本轮最多执行一次。无论成功、空结果还是失败,都禁止重试、改跑 models list/get/* --help、修改配置或把凭证写进命令行;失败时原样说明并停止。
CRITICAL — 开始前 MUST 先读取 ../arkcli-shared/SKILL.md。
使用原则
- 推理接入点相关需求优先使用
arkcli infer endpoint ... - 这些命令虽然是标准 CLI 类型,但实现入口仍然来自
shortcuts/inferendpoint/ - 只有产品命令无法覆盖时,才回退到
../arkcli-api-explorer/SKILL.md infer endpoint create成功后会返回 EndpointId- 这个
Id应作为后续get / start / stop的输入,也可以传给../arkcli-code-example/SKILL.md生成带真实endpoint-id的调用示例 - 如果已经通过
infer endpoint create拿到Id,不要再调用+deploy试图"二次部署";+deploy本身就是创建 Endpoint 的工作流 infer endpoint create --billing-method当前只支持token;它是可选项,显式传token时会先校验模型是否支持 token 推理方式,创建请求本身保持默认行为- 语音模型不是 Endpoint create 目标:TTS / ASR / 配音 / 播客 / 音色 / 实时语音交互,或模型名命中
doubao-seed-tts-*、doubao-seed-asr-*、seedasr-*时,不要用infer endpoint create或 Raw CRUD 绕过;只转arkcli-models说明"广场可搜,但当前 arkcli 不支持 Endpoint 创建"。
「我的接入点」语义
用户说**"我的推理接入点 / 我创建的 / 我有多少个 / 列出我的"** → 必须加 --mine --page-all:
arkcli infer endpoint list --mine --page-all --page-size 100 --format json
服务端按 sys:ark:createdBy tag 过滤,只返回当前 SSO sub-user 创建的 endpoint。
需要 SSO 子账号登录;root 账号 / AK-SK 直接报错(引导重登)。
详细行为见 references/arkcli-infer-endpoint-list.md。
Endpoint NotFound 的只读排障
用户已经观察到 InvalidEndpointOrModel.NotFound,或 get 查不到某个 Endpoint 时,不要直接宣称「已删除」,也不要猜测尾部字符。按两个独立事实源收敛:
禁止仅按 ID 长度、形状、当前列表里的其他 ID 或常见格式,声称用户输入「缺少后缀 / 缺少随机字符 / 不是完整 ID」。 只有当前列表返回了以用户输入为前缀的唯一真实 ID,才能把该完整 ID 作为证据复述;否则只能报告未找到。
查当前身份与 project 可见的完整列表,同时核对精确 ID 和用户所给前缀。列表可能很大,必须在 shell 内只保留匹配项,避免把无关 Endpoint 全量灌入 Agent 上下文:
arkcli infer endpoint list --page-all --page-size 100 --format json \ | jq --arg id '<endpoint-id>' '[.Items[]? | select(.Id == $id or (.Id | startswith($id)))]'<endpoint-id>必须替换为用户提供的原值;不得省略--page-all后只拿第一页下结论。读取
../arkcli-usage/references/arkcli-usage-stats.md,再用arkcli usage stats --start <YYYY-MM-DD> --end <YYYY-MM-DD> --endpoint <endpoint-id> --format json核对历史用量。用户给了时间范围就照用;没给时默认查最近 30 天,必须把占位符换成实际日期。
结论必须与证据强度对齐:
- 当前列表找到唯一的完整 ID:复述真实 ID,说明原输入是否少尾部;不要凭格式自己补齐。
- 当前列表无记录、但历史用量有记录:只能说「曾经有调用,当前不可见」,不能单凭这两步区分已删除、换身份或换 project。
- 两处都没有证据:报告「未找到」,建议核对原始 ID、profile 和 region;禁止为了让任务继续而创建 Endpoint、切 profile 或走 Raw API。
infer endpoint create 与 +deploy 的边界
infer endpoint create 是原始 CRUD,适合脚本化 / CI / 需要无护栏可预测行为的场景。注意它的 flag 集其实是 +deploy 的子集(+deploy 才是参数超集),差别在"有没有工作流护栏",不是"谁参数更多"。它不包含 +deploy 的以下护栏:
| 护栏 | +deploy |
infer endpoint create |
|---|---|---|
| 实名前置校验(realname-gate.md) | ✅ | ✅(foundation model 路径同样触发 EnsureModelAvailable,含实名拦截) |
| 自定义模型复用检查(避免重复计费) | ✅ | ❌ |
部署后 profile 默认资源同步(--set-default) |
✅ | ❌ |
路由判定:只要用户意图是"创建 / 新建 / create 一个 endpoint / 接入点"或"把模型部署 / 上线"(无论用词是 create 还是 deploy),一律路由到 +deploy(arkcli-deploy);只有用户明确需要绕过工作流护栏、脚本化 / CI、或要无护栏的可预测 raw CRUD 行为时,才使用 infer endpoint create。
例外:如果目标是语音模型(TTS / ASR / 播客 / 音色 / 实时语音交互),不要因为用户说了"create endpoint"就进入本 skill;语音模型在 arkcli 当前只支持 models search 发现,不支持 Endpoint 创建。
raw CRUD 创建前的模型澄清
本节只在用户已经明确选择脚本化 / CI / 无护栏 raw CRUD 路径、但 --model 仍缺失或只有品牌、系列、家族名时生效。普通创建意图仍按上一节路由到 arkcli-deploy,不能因为模型未定就改走 raw create。
候选生成必须复用 arkcli-deploy 的「创建意图中的模型澄清」契约:只执行一次有界的实时 arkcli models search [<keyword>] --size 10 --format json,只从本轮结构化结果读取 name、primary_version、lifecycle_status 和模态等已有字段,过滤、完整模型 ID 组合及 0/1/N 候选处理均与 +deploy 一致。禁止改成全量 models list、逐候选循环 models get,也禁止凭记忆补版本。
- 0 个候选:如实说明本轮没有查到,请用户补充用途、模态或关键词。
- 1 个候选:复述本轮返回的完整模型 ID,请用户确认。
- 多个候选:优先使用当前宿主提供的结构化选择能力,把本轮实时返回的精简候选直接列成选项;通用 Skill 不写死宿主工具名,如果宿主会自动补自由输入项,不要再添加“其他 / 手动指定”重复兜底。宿主没有结构化选择能力时,才退化为精简列表并要求用户明确回复一个完整 ID。
选定唯一模型后,仍保持在 arkcli-infer-endpoint 的 raw CRUD 路径:先生成 arkcli infer endpoint create ... --dry-run 的本地 preview.v1;用户只要求预览时到此停止,要求真实创建时继续遵守共享写操作守卫。模型未唯一确定前,禁止执行 --dry-run、真实 infer endpoint create、+deploy 或 Raw API 创建。
命令一览
| 命令 | 说明 |
|---|---|
arkcli infer endpoint create |
创建推理接入点(原始 CRUD,无部署工作流护栏);新建接入点的默认意图请用 +deploy,此命令仅限脚本化 / 无护栏 raw CRUD 场景 |
arkcli infer endpoint get <endpoint-id> |
获取推理接入点详情 |
arkcli infer endpoint list [--mine] |
列出推理接入点;用户说**"我的 / 我自己的 / 我创建的 / 我有多少"**时必须加 --mine(SSO sub-user 过滤) |
arkcli infer endpoint start <endpoint-id> |
启动推理接入点 |
arkcli infer endpoint stop <endpoint-id> |
停止推理接入点 |
arkcli infer endpoint delete <endpoint-id> |
删除推理接入点(不可逆,需二次确认;非交互环境需 ARKCLI_ALLOW_HEADLESS_DELETE=1,--yes 不授权) |
arkcli infer endpoint update <endpoint-id> |
更新推理接入点(名称 / 描述 / 限流) |
参考
references/arkcli-infer-endpoint-create.mdreferences/arkcli-infer-endpoint-get.mdreferences/arkcli-infer-endpoint-list.mdreferences/arkcli-infer-endpoint-start.mdreferences/arkcli-infer-endpoint-stop.mdreferences/arkcli-infer-endpoint-delete.mdreferences/arkcli-infer-endpoint-update.md../arkcli-code-example/SKILL.md