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

FastGPT私有部署模型提供商页面map报错的排查与解决

用户在macOS环境下部署FastGPT main分支(提交号fe688cdf2)的私有版本时,访问模型提供商页面出现报错。

现象

用户在macOS环境下部署FastGPT main分支(提交号fe688cdf2)的私有版本时,访问模型提供商页面出现报错。系统日志显示错误信息:Api response error: /api/core/ai/model/list, Cannot read properties of undefined (reading 'map'),报错栈指向src/pages/api/core/ai/model/list.ts文件的第17行第35列位置。

可能原因

该报错为未定义值调用数组方法的类型错误,具体是在/api/core/ai/model/list接口的处理逻辑中,尝试对一个未定义的变量调用map方法。结合接口功能,该变量应为获取到的模型列表数据,大概率是上游数据获取环节出现异常,导致返回值为undefined,且代码未对该变量做非空校验,直接调用map方法触发报错。

排查步骤

  1. 查看系统日志,确认报错接口为/api/core/ai/model/list,报错位置为src/pages/api/core/ai/model/list.ts的第17行。
  2. 定位该文件第17行的代码,找到调用map方法的目标变量。
  3. 检查该变量在调用map方法前是否存在非空校验逻辑,确认是否因上游数据未正常返回导致变量为undefined。
  4. 核对当前FastGPT的部署版本为main分支提交号fe688cdf2,确认是否存在代码逻辑漏洞。
  5. 确认模型提供商的配置项已正确加载,且用户密钥等信息可用(用户已验证密钥正常,可核对配置是否正确加载)。

解决与验证

直接解决该报错的方式是在调用map方法前,为目标变量添加非空校验,例如将原代码中的变量.map(...)修改为(变量 || []).map(...),避免因undefined值调用map方法。修改完成后重启FastGPT服务,重新访问模型提供商页面,确认页面可以正常加载,且日志中不再出现该接口的报错信息。同时需排查上游数据获取环节的异常,确保模型列表数据可以正常返回,验证模型提供商页面功能恢复正常。

来源:FastGPT GitHub issue