例行检查
* 我已确认目前没有类似 issue
* 我已确认我已升级到最新版本
* 我已完整查看过项目 README,尤其是常见问题部分
* 我理解并愿意跟进此 issue,协助测试和提供反馈
* 我理解并认可上述内容,并理解项目维护者精力有限,**不遵循规则的 issue 可能会被无视或直接关闭**
问题描述
使用本项目转发了 azure 服务的 openai 模型,当模型名为 `gpt-4` 和 `gpt-4-0613` 时,基于 `tool_call` 模式的函数调用会出现以下错误:
{
"error": true,
"message": "400 Invalid parameter: messages with role 'tool' must be a response to a preceeding message with 'tool_calls'. (request id: 2024021906343052982873tJOHHMck)"
}
当模型名为 `gpt-4-1106-preview` 时则函数调用正常。
API 版本为: `2024-02-15-preview`
目前看来只有当部署名为 `gpt-4` 和 `gpt-4-0613` 会出现该问题,与实际使用的模型版本无关。
复现步骤
在 azure 部署两个 gpt-4 模型,部署名分别为 `gpt-4` 和 `gpt-4-1106-preview` ,模型版本随意,通过 one-api 配置转发服务并设置 api 版本为 `2024-02-15-preview` 。
使用项目 [ChatGPT-Next-Web-LangChain](https://github.com/Hk-Gosuto/ChatGPT-Next-Web-LangChain) 分别对两个模型出发函数调用。
预期结果
正确的函数调用
相关截图
![](//img.saoniuhuo.com/images/202407/8121721845833885.jpg)
![](//img.saoniuhuo.com/images/202407/31371721845835249.jpg)
7条答案
按热度按时间von4xj4u1#
playload
最终发送到 azure 的请求会缺失
$.messages[3].tool_call_id
zpjtge222#
好的,周末处理。
mnowg1ta3#
我也遇到了这个问题,和 #784 应该是同一个问题。
pdsfdshx4#
我也遇到了同样的问题。
qyuhtwio5#
好的,周末处理。
@songquanpeng ping一下看看有没有啥进展。另外我看到azure用的是toolCallId而不是tool_call_id。不知道是不是跟这个有关系 vercel/ai#1369
o3imoua46#
我也遇到了同样的问题。
vjrehmav7#
这个问题现在有解决吗?