From e2dd99c9059baaddce3f14469ae7bc88b4c97293 Mon Sep 17 00:00:00 2001
From: 18586361686 <1207669650@qq.com>
Date: 星期五, 23 五月 2025 15:04:46 +0800
Subject: [PATCH] fix: 检索测试时,相似度不准确 close #IC9FQM
---
aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/service/impl/AiKnowledgeServiceImpl.java | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/service/impl/AiKnowledgeServiceImpl.java b/aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/service/impl/AiKnowledgeServiceImpl.java
index 727ffc7..dfa4ea0 100644
--- a/aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/service/impl/AiKnowledgeServiceImpl.java
+++ b/aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/service/impl/AiKnowledgeServiceImpl.java
@@ -74,16 +74,15 @@
for (Document result : results) {
Object resultId = result.getId();
Double similarityScore = result.getScore();
- // 浣跨敤 BigDecimal 淇濈暀灏忔暟鐐瑰悗鍥涗綅
- BigDecimal formatScore = new BigDecimal(similarityScore);
- formatScore = formatScore.setScale(4, RoundingMode.HALF_UP); // 鍥涜垗浜斿叆淇濈暀鍥涗綅灏忔暟
- similarityScore = formatScore.doubleValue();
+ // 璁$畻鐩镐技搴﹀苟淇濈暀 4 浣嶅皬鏁�
+ BigDecimal similarity = BigDecimal.valueOf(1 - similarityScore)
+ .setScale(4, RoundingMode.HALF_UP); // 鍥涜垗浜斿叆
AiDocumentChunk documentChunk = chunkService.getMapper().selectOneWithRelationsByMap(
Maps.of("id", resultId));
if (documentChunk == null){
continue;
}
- documentChunk.setSimilarityScore(similarityScore);
+ documentChunk.setSimilarityScore(similarity.doubleValue());
chunks.add(documentChunk);
}
--
Gitblit v1.8.0