lobe-chat
lobe-chat copied to clipboard
[Bug] v0.95.0 ,小助手使用gpt-4-32k调用插件,出现无限循环
💻 系统环境 | Operating System
Windows
🌐 浏览器 | Browser
Chrome
🐛 问题描述 | Bug Description
gpt-4-32k下,出现无限循环调用function call,直到ai token打满报错,有90%的几率出现此问题
同样的提问,gpt-3.5-turbo 下正常返回
🚦 期望结果 | Expected Behavior
No response
📷 复现步骤 | Recurrence Steps
No response
📝 补充信息 | Additional Information
我的环境: 1.lobechat版本: v0.95.0
2.OpenAI接口,使用了azure
export OPENAI_PROXY_URL=***
export USE_AZURE_OPENAI=1
export AZURE_API_VERSION=2023-07-01-preview
export AZURE_API_KEY=***
3.插件的gateway和manifest,main入口按照lobe plugin规范,使用python 的 flask 实现
补充下:使用官方的插件(比如实时天气预报),在gpt-4-32k下,没试出这个无限循环
求指点下,如何在lobechat代码里增加一些调试信息,看看哪里出了问题?
这个大概率不是 LobeChat 的问题,而是 gpt-4 自己的判断问题。你可以试试把 message 脱离 LobeChat 直接发一次请求接口,应该也是这个情况。建议你优化下 function 中 api 的描述,可能能解决。
嗯,我在 gpt-4 的网关加一些输出log来debug一下。另外有没可能在lobechat里加一个强制限制调用function的配置,比如我设置为1的话,那么lobechat只调1次funcition call,无论gpt4后续返回的数据是否还包含function信息,都不要管他(目前来看很大概率是gpt4每次都返回了functioncall信息导致的循环)
另外有没可能在lobechat里加一个强制限制调用function的配置,比如我设置为1的话,那么lobechat只调1次funcition call
这个可以,我构思下
@kdszh 顺带问下,有没有兴趣来贡献一个Python 语言的Lobe插件模板~
另外有没可能在lobechat里加一个强制限制调用function的配置,比如我设置为1的话,那么lobechat只调1次funcition call
https://github.com/lobehub/lobe-chat/discussions/345#discussioncomment-7324526
@kdszh 顺带问下,有没有兴趣来贡献一个Python 语言的Lobe插件模板~
可以的,我们先把这个python插件跑通
@kdszh 我参考了 ChatGPT 在 #681 中给 manifest
新增了一个 systemRole
字段,这个字段会将工具的说明注入到 system role 里,这样之后就不会出现循环重复调用的问题了。
参考: https://github.com/lobehub/lobe-chat/blob/main/src/tools/dalle/index.ts#L67
✅ @kdszh
This issue is closed, If you have any questions, you can comment and reply.
此问题已经关闭。如果您有任何问题,可以留言并回复。