故障排查GitHub issue2 分钟阅读故障排查

解决FastGPT知识库搜索向量相似性得分超1的问题

在FastGPT私有部署版本V4.81的知识库搜索测试环节,向量相似性得分数值达到数百,超过1,无法使用最低相关度参数过滤搜索结果。本次场景中使用的嵌入模型为M3E与nomic-embed-text-v1.5。 该问题的可能原因为向量未完成归一化处理。

现象

在FastGPT私有部署版本V4.81的知识库搜索测试环节,向量相似性得分数值达到数百,超过1,无法使用最低相关度参数过滤搜索结果。本次场景中使用的嵌入模型为M3E与nomic-embed-text-v1.5。

可能原因

该问题的可能原因为向量未完成归一化处理。向量归一化是将向量的长度调整为1的标准操作,未经过归一化的向量在计算相似性时,得分会受到向量本身原始长度的影响,从而出现超出1的结果。

排查步骤

  1. 确认当前使用的向量嵌入模型具体类型。
  2. 检查向量生成、入库的全流程配置,确认是否遗漏了向量归一化的处理步骤。
  3. 查看知识库搜索返回的相似性得分数据,确认数值是否超出1的范围。

解决与验证

解决方法为在向量生成后添加归一化处理步骤,将每个向量的长度调整为1。验证流程为重新调用嵌入模型生成向量并完成归一化,将新向量存储至知识库,再次执行知识库搜索测试,确认相似性得分范围处于0到1之间,可正常通过最低相关度参数过滤搜索结果。

来源: FastGPT 官方来源

适用性与版本范围

本页适用于官方来源记录的 故障排查 场景。执行变更前,需核对 FastGPT、依赖、API 与部署版本。

安全护栏

凭证与私密数据使用 [REDACTED_CREDENTIAL] 占位符。执行操作前需核对文档的环境与版本。

回滚指引

恢复变更前的技术内容权威快照、已保存配置与数据快照,再执行最小验证场景。