现象
本地部署FastGPT后,在知识库内执行搜索测试时,返回的单条结果相似度数值达到276.6083。在线使用版本的搜索结果相似度均控制在1以内。
可能原因
用于生成向量的embedding模型未执行归一化处理,导致相似度计算结果超出合理范围。
排查步骤
- 确认当前使用的embedding模型在编码句子时是否配置了归一化相关参数。
- 检查知识库向量生成流程中,是否对embedding模型的输出结果执行了归一化处理。
- 对比本地部署与在线版本的embedding模型配置差异。
解决与验证
在调用embeddingsmodel.encode方法时,添加normalizeembeddings=True参数,该参数用于对embedding结果执行归一化处理,确保相似度计算结果处于合理范围。具体调用格式为:embeddings_model.encode(sentences=text, normalize_embeddings=True)。完成参数配置后,重新生成知识库向量,再次执行搜索测试,确认相似度数值恢复至1以内的合理范围。