现象
用户使用私有部署v4.8.13版本的FastGPT,将OneAPI更新至0.6.10并接入大模型API后,出现以下情况:UI对话可正常响应;API测试时,stream参数设为false时无输出,stream参数设为true时可正常返回结果。OneAPI日志显示报错信息:relay error (channel id 41, user id: 1): parameter.enable_thinking must be set to false for non-streaming calls。
可能原因
根据报错信息,问题源于非流式调用时,请求中携带了enablethinking参数且未将其设为false。OneAPI 0.6.10版本对该参数的校验规则更新,要求非流式调用必须关闭enablethinking。
排查步骤
- 查看FastGPT调用该渠道的API请求配置,确认是否传入了enable_thinking参数。
- 检查OneAPI的渠道配置,确认是否存在参数强制覆盖或默认启用enable_thinking的情况。
- 查看OneAPI的运行日志,定位对应渠道的报错信息,确认报错文本与issue中描述一致。
- 对比stream为true和false时的请求参数差异,确认enable_thinking参数的状态变化。
解决与验证
解决方法分为两种:一是在FastGPT发起的API请求中,为非流式调用显式设置enablethinking参数为false;二是在OneAPI的渠道配置中,添加参数覆盖规则,将非流式调用的enablethinking强制设为false。 验证步骤:1. 修改配置后,重新发起stream为false的API测试,确认返回结果正常。2. 查看OneAPI日志,确认不再出现指定报错信息。3. 再次进行UI对话测试,确认功能不受影响。