先看现象。用 Together 的 OpenAI 兼容接口调 Llama-3.3-70B-Instruct-Turbo,返回 404 model not available,控制台模型列表里明明有这个条目,改用 llama3.3-70b 也不行。
排查方向其实有限,先把可能性排一排。接口要的是完整仓库路径,少了组织前缀就查不到。少数情况下是该模型只在 serverless 列表里,专用实例没部署。
少数情况下是账号区域与模型可用区不一致。
不容易想到的是,SDK 里 base_url 写成了旧域名。
先把账号可见的模型 id 全量列出来
curl -s https://api.together.xyz/v1/models -H "Authorization: Bearer $TOGETHER_KEY" | jq -r '.data[].id' | head -30
接着按 70B 过滤确认精确写法
curl -s https://api.together.xyz/v1/models -H "Authorization: Bearer $TOGETHER_KEY" | jq -r '.data[].id' | grep -i 70b
然后用列表里的原名发一次最小请求
curl -s https://api.together.xyz/v1/chat/completions -H "Authorization: Bearer $TOGETHER_KEY" -d '{"model":"meta-llama/Llama-3.3-70B-Instruct-Turbo","messages":[{"role":"user","content":"hi"}],"max_tokens":16}'
等前面都确认过,再把配置里的模型名统一成返回的那个 id
python -c "import yaml;c=yaml.safe_load(open('conf.yaml'));print(c['llm']['model'])"
同事提醒我看一下最近一次发布,时间点确实对得上。
改完先别撤,确认这几项。请求返回 200,choices 里有内容,模型列表与配置里的字符串逐字一致。
这里还有个坑。兼容接口的模型名不做模糊匹配,大小写和斜杠都要对上,别照抄控制台展示名。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。
