现象
用户部署FastGPT后,处理用户查询时出现功能异常,通过查看部署生成的.next/server/chunks/50571.js文件,可发现其中存在未对分词结果做长度限制的jiebaSplit调用代码。
可能原因
该异常的核心原因是FastGPT部署生成的.next/server/chunks/50571.js文件中,jiebaSplit({ text: query })的调用逻辑未添加分词结果截断处理,导致分词后的文本长度超出预期,进而引发后续流程异常。
排查步骤
- 进入FastGPT的部署根目录,定位到.next/server/chunks/50571.js文件。
- 打开该文件,搜索jiebaSplit({ text: query })代码段,确认该调用未附带.split(" ").slice(0,20).join(" ")的截断逻辑。
- 查看FastGPT运行时的相关日志,确认异常与分词结果过长相关,日志细节需按实际环境确认。
解决与验证
执行以下sed命令修改目标文件,为jiebaSplit调用添加分词结果截断逻辑,限制仅保留前20个空格分隔的分词结果:
sed -i 's/jiebaSplit({ text: query })/jiebaSplit({ text: query }).split(" ").slice(0,20).join(" ")/g' .next/server/chunks/50571.js修改完成后,重新启动FastGPT服务,使配置生效。发起测试查询,验证系统功能恢复正常。再次查看.next/server/chunks/50571.js文件,确认替换后的代码已正确生效,分词结果被限制为最多20个空格分隔的词。