, after user message, next must be assistant or tool message”,“data”:null} ⭐️ 请截...
🚨 错误信息
下面是报错信息:
HTTP POST https://api.siliconflow.cn/v1/chat/completions failed with status code 400:
{“code”:20015,“message”:“Value error, after user message, next must be assistant or tool message”,“data”:null}
⭐️ 请截图寻求帮助,注意保持礼貌~
url https://api.siliconflow.cn/v1/chat/completions
secretKey sk-…dtoe
model deepseek-ai/DeepSeek-R1
temperature 1
maxTokens 16384
🤖 AI解决方案
HTTP POST https://api.siliconflow.cn/v1/chat/completions failed with status code 400:
{"code":20015,"message":"Value error, after user message, next must be assistant or tool message","data":null}
错误翻译
值错误,在用户消息之后,下一个必须是助手或工具消息
原因分析
API调用时,messages参数的顺序不符合对话上下文的规则。在发送用户消息 (role: "user") 之后,下一个消息的角色必须是助手 (role: "assistant") 或工具 (role: "tool"),而不是另一个用户消息。
解决方案
请检查您发送到 /v1/chat/completions API 的 messages 数组。确保消息的角色序列是正确的。例如,一个有效的序列可以是:
[
{"role": "user", "content": "你好"},
{"role": "assistant", "content": "你好,有什么可以帮助你的吗?"},
{"role": "user", "content": "请给我讲个笑话。"}
]或者
[
{"role": "user", "content": "请搜索北京的天气。"},
{"role": "tool", "content": "weather_api_response_placeholder"}
]
预防措施
- 在构建
messages数组时,严格遵循“用户-助手-用户”或“用户-工具”的交替模式。 - 在客户端进行API请求前,增加对
messages数组内容和顺序的校验逻辑。