故障排查GitHub issue2 分钟阅读排错/错误码

修复FastGPT中jiebaSplit分词结果过长的配置问题

用户部署FastGPT后,处理用户查询时出现功能异常,通过查看部署生成的.next/server/chunks/50571.js文件,可发现其中存在未对分词结果做长度限制的jiebaSplit调用代码。

现象

用户部署FastGPT后,处理用户查询时出现功能异常,通过查看部署生成的.next/server/chunks/50571.js文件,可发现其中存在未对分词结果做长度限制的jiebaSplit调用代码。

可能原因

该异常的核心原因是FastGPT部署生成的.next/server/chunks/50571.js文件中,jiebaSplit({ text: query })的调用逻辑未添加分词结果截断处理,导致分词后的文本长度超出预期,进而引发后续流程异常。

排查步骤

  1. 进入FastGPT的部署根目录,定位到.next/server/chunks/50571.js文件。
  2. 打开该文件,搜索jiebaSplit({ text: query })代码段,确认该调用未附带.split(" ").slice(0,20).join(" ")的截断逻辑。
  3. 查看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个空格分隔的词。

来源:FastGPT GitHub issue