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

解决FastGPT中m3e模型知识库搜索相似度异常与排序问题

使用m3e模型进行FastGPT知识库搜索测试时,返回结果的相似度数值高达500多,正常参考范围应为1以下;且相似的查询匹配结果未按照相似性排序,相同问题的匹配答案排列位置靠后。 当前m3e模型生成的向量未经过归一化处理,导致相似度计算结果超出正常范围,进而引发相似性排序混乱的问题。

现象

使用m3e模型进行FastGPT知识库搜索测试时,返回结果的相似度数值高达500多,正常参考范围应为1以下;且相似的查询匹配结果未按照相似性排序,相同问题的匹配答案排列位置靠后。

可能原因

当前m3e模型生成的向量未经过归一化处理,导致相似度计算结果超出正常范围,进而引发相似性排序混乱的问题。

排查步骤

  1. 查看m3e模型生成向量时的配置项,确认是否启用归一化功能。
  2. 提取知识库搜索返回的所有相似度数值,统计异常数值的范围。
  3. 核对当前相似度排序逻辑是否与模型输出的相似度规则匹配。

解决与验证

归一化处理可修正相似度计算结果,解决排序混乱问题。具体操作与验证流程如下:

  1. 配置m3e模型向量生成的归一化选项,确保向量在生成后完成归一化。
  2. 重新执行知识库搜索测试,获取新的返回结果。
  3. 检查返回的相似度数值是否降至1以下,且结果按照相似性从高到低正确排序。

来源: FastGPT GitHub issue #560