换模型最常见的两种失败:配置写了但没生效(还走默认模型)、生效了但模型ID不存在(报错长得像网络问题)。两者都能用同一条最小任务区分开。
这一页写的是验证方法,不是「某网关的完整配置样例」。配置项随版本变,把片段抄进正文最容易过期;方法不会。
第一步:看默认模型
dsh --dump-config | grep -i -A3 model
确认当前合成出来的模型配置指向哪里。--dump-config 打印的是**合成后**的结果,所以它显示的就是实际生效值,不是你希望生效的值。
第二步:发一个必须调用工具的任务
读取当前目录下的 package.json,只告诉我 name 字段的值,不要猜。
为什么强调工具调用:如果模型没配好,宿主可能退回某个默认模型,纯聊天任务照样能答,你会以为配置成功了。而读文件必须走工具,走不通就会暴露。
第三步:区分三种失败
| 现象 | 含义 | 下一步 |
|---|---|---|
| 报模型不存在 / model not found | ID拼错,或该网关不支持这个ID | 核对网关方的模型列表,注意大小写与版本后缀 |
| 401 / 403 | key无效或没有该模型的权限 | 换一个已知可用的key或模型,确认是key的问题 |
| 能答但答的不是文件内容 | 工具调用没通,或它没按指令读文件 | 换一条更直白的指令,看是否仍然不读 |
第四步:留证据
把 --dump-config 里模型那一段、以及第三步的实际报错原文都存下来。下次别人问「你用的什么模型」,你贴的是配置与原文,不是印象。