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

解决FastGPT知识库编号类关键词检索失败问题

用户导入包含编号/型号数据的知识库后,通过Q&A训练和文档上传操作,确保编号关键词被知识库内容多次覆盖。使用语义检索、全文检索功能时,均无法检索到对应编号的知识段落,相关检索结果截图显示未返回目标编号的知识内容,最终导致机器人回答与实际知识库内容不符,出现答非所问的情况。

现象

用户导入包含编号/型号数据的知识库后,通过Q&A训练和文档上传操作,确保编号关键词被知识库内容多次覆盖。使用语义检索、全文检索功能时,均无法检索到对应编号的知识段落,相关检索结果截图显示未返回目标编号的知识内容,最终导致机器人回答与实际知识库内容不符,出现答非所问的情况。

可能原因

现有检索逻辑未针对编号、型号这类结构化关键词优化匹配规则,无法精准匹配到知识库中包含编号的内容。无论是语义检索基于内容相似度的匹配,还是全文检索基于关键词词频的匹配,都未能有效召回包含目标编号的知识片段。

排查步骤

  1. 确认知识库中已导入包含目标编号/型号的文档,且文档内容已被系统正确解析入库。
  2. 检查是否通过Q&A训练或文档上传操作,让目标编号关键词被知识库内容多次覆盖,确保关键词已被纳入检索索引。
  3. 分别调用语义检索、全文检索功能,验证是否无法检索到包含对应编号的知识片段。
  4. 对比普通非结构化关键词的检索结果,确认仅编号类关键词存在检索失败问题,排除整体检索引擎故障的可能。

解决与验证

可参考该issue用户的建议,为编号类型关键词添加专属判断功能和检索模式。具体配置需按实际部署环境调整。验证流程如下:

  1. 配置针对编号类关键词的精确匹配检索规则,区分普通文本关键词与编号类关键词的检索逻辑。
  2. 重新上传包含编号的知识库文档,或重新训练Q&A相关内容,确保编号关键词被重新纳入检索索引。
  3. 再次使用语义检索或全文检索功能,确认可检索到对应编号的知识片段。
  4. 发起关联目标编号的提问,验证机器人可正确返回对应知识库内容,避免答非所问的情况出现。

来源:FastGPT GitHub issue