现象
在FastGPT v4.8.13和v4.8.14私有部署版本中,猜你想问功能的返回结果变为英文。调用/api/core/ai/agent/createQuestionGuide接口时,提交给大模型的最后一条user角色消息的content为英文预设Prompt,即使对话历史中用户最后一条提问为中文,最终生成的猜你想问问题也为英文。
可能原因
调用/api/core/ai/agent/createQuestionGuide接口时,传入的最后一条user角色的content为英文的预设引导Prompt,未适配对话历史的实际语言。大模型按照该英文Prompt的规则生成问题,最终返回英文结果,而非匹配用户对话的语言。
排查步骤
- 确认当前FastGPT版本为v4.8.13或v4.8.14私有部署版。
- 使用抓包工具获取调用
/api/core/ai/agent/createQuestionGuide接口的完整请求参数。 - 查看请求参数中
messages数组的最后一条user角色的content内容,确认是否为英文预设Prompt。 - 核对对话历史中用户最后一条提问的语言类型。
解决与验证
解决该问题需要调整/api/core/ai/agent/createQuestionGuide接口的预设Prompt,使其匹配对话历史中用户最后一条提问的语言。验证步骤如下:
- 完成接口Prompt的调整配置,重新启动服务。
- 发起包含中文(或其他非英文语言)的对话,触发猜你想问功能。
- 查看返回的猜你想问结果,确认是否为与用户对话同语言的内容。
- 再次抓取接口请求参数,确认最后一条
user角色的content已适配对话语言。