问题出现得很突然,日志倒是留得挺全。火山方舟控制台建了 doubao-pro-32k 的推理接入点,接入点 ID 形如 ep-20241120-abcde,脚本里 model 字段填的是 doubao-pro-32k,接口直接返回 404 not found,换官方 SDK 也一样,账单里看不到任何调用记录。
刚开始盯着「接入点被删掉后本地配置没更新,域名还指向旧的」,折腾了半个多小时,排掉了。
真正麻烦的地方在于,几个原因的现象几乎一样。model 字段必须填 ep- 开头的接入点 ID,填模型名查不到资源。还有一种是接入点刚建完还在部署中,状态没到 running 就发起调用。
不容易想到的是,区域端点填错,接入点只在创建时选的那个 region 可见。
先列当前账号下的接入点确认 ID
curl https://ark.cn-beijing.volces.com/api/v3/endpoints -H "Authorization: Bearer $ARK_KEY" | jq -r '.items[].id'
然后用接入点 ID 直接请求一次
curl https://ark.cn-beijing.volces.com/api/v3/chat/completions -H "Authorization: Bearer $ARK_KEY" -d '{"model":"ep-20241120-abcde","messages":[{"role":"user","content":"hi"}]}'
再往下把配置文件里的模型名替换成接入点 ID
python set_model.py --file cfg.json --value ep-20241120-abcde
剩下的就是跑一次冒烟脚本确认不再 404
python smoke.py --expect 200
怎么算真的好了,看的是同一批现象。请求返回 200,usage 里有 token 数,方舟的调用日志能看到这条记录,model 字段回显的是接入点 ID。
接入点 ID 和模型名长得像但走的是两套寻址,404 不会提示你字段填错,只能拿 endpoints 列表反查。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。
