例行检查
* 我已确认目前没有类似 issue
* 我已确认我已升级到最新版本
* 我已完整查看过项目 README,尤其是常见问题部分
* 我理解并愿意跟进此 issue,协助测试和提供反馈
* 我理解并认可上述内容,并理解项目维护者精力有限,**不遵循规则的 issue 可能会被无视或直接关闭**
问题描述
使用claude3时,如果切换成其他模型,产生回答,然后再切换回来,会报错:
{
"error": {
"message": "messages: roles must alternate between "user" and "assistant", but found multiple "assistant" roles in a row (request id: 2024031723534437452008774496313)",
"type": "invalid_request_error",
"param": "",
"code": null
},
"endpoint": " [https://newapi.op****20.top/v1](https://newapi.op****20.top/v1) ",
"provider": "openai"
}
复现步骤
预期结果
相关截图
如果没有的话,请删除此节。
1条答案
按热度按时间kulphzqa1#
这是关于API调用的问题。Claude对上下文的role要求非常严格,system只能出现在第一条且最多出现一次,user和assistant必须交替出现。其他模型就没有那么严格了。因此,如果一些UI的上下文消息管理逻辑写得不严格,就会出现不满足的情况。你可以按F12键抓取一下进行查看。