From 63ef71fab3f952d89bdfc7d0fd992f5a4492ea65 Mon Sep 17 00:00:00 2001 From: Liuyang <2746366019@qq.com> Date: Fri, 14 Mar 2025 15:23:57 +0800 Subject: [PATCH] =?UTF-8?q?refactor(llm):=20=E4=BC=98=E5=8C=96=E7=9F=A5?= =?UTF-8?q?=E8=AF=86=E5=BA=93=E6=9C=8D=E5=8A=A1=E5=92=8C=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E6=98=A0=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 KnowledgeBaseServiceImpl 中的文档更新逻辑 - 更新 KnowledgeDocumentsMapper 中的 SQL 查询 - 调整 KnowledgeEmbeddingReqVO 中的字段名称 --- .../knowledgebase/vo/KnowledgeEmbeddingReqVO.java | 2 +- .../KnowledgeDocumentsMapper.java | 2 +- .../knowledgebase/KnowledgeBaseServiceImpl.java | 13 ++++++++++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/knowledgebase/vo/KnowledgeEmbeddingReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/knowledgebase/vo/KnowledgeEmbeddingReqVO.java index 76353461e..8ed36d5fd 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/knowledgebase/vo/KnowledgeEmbeddingReqVO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/knowledgebase/vo/KnowledgeEmbeddingReqVO.java @@ -26,5 +26,5 @@ public class KnowledgeEmbeddingReqVO { private Integer chunkOverlap; @Schema(description = "关联的知识文档列表") - private List documents; + private List knowledgeDocuments; } diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/knowledgedocuments/KnowledgeDocumentsMapper.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/knowledgedocuments/KnowledgeDocumentsMapper.java index 906f9269e..8ddde8160 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/knowledgedocuments/KnowledgeDocumentsMapper.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/knowledgedocuments/KnowledgeDocumentsMapper.java @@ -28,6 +28,6 @@ public interface KnowledgeDocumentsMapper extends BaseMapperX selectDeleteIds(Long id); } diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/knowledgebase/KnowledgeBaseServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/knowledgebase/KnowledgeBaseServiceImpl.java index 0a5ec2a24..916b5cd3c 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/knowledgebase/KnowledgeBaseServiceImpl.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/knowledgebase/KnowledgeBaseServiceImpl.java @@ -114,7 +114,7 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService { deleteAllDocuments(updateObj.getId()); // 2: 重新上传文档 - List newDocuments = updateOrInsertDocuments(request.getDocuments(), request.getId()); + List newDocuments = updateOrInsertDocuments(request.getKnowledgeDocuments(), request.getId()); Map knowledgeParameters = new HashMap<>(); knowledgeParameters.put("chunkSize", request.getChunkSize()); @@ -166,9 +166,10 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService { documents.forEach(doc -> { KnowledgeDocumentsDO docDO = BeanUtils.toBean(doc, KnowledgeDocumentsDO.class); docDO.setKnowledgeBaseId(knowledgeBaseId); - if (doc.getId() == null) { +// if (doc.getId() == null) { newDocuments.add(docDO); - } +// } + docDO.setId(null); knowledgeDocumentsMapper.insertOrUpdate(docDO); }); return newDocuments; @@ -297,9 +298,15 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService { Integer topK = 4; if (baseDO.getTopK() == null || baseDO.getTopK() <= 0) { testReqVO.setTopK(topK); + if (testReqVO.getTopK() == null){ + testReqVO.setTopK(baseDO.getTopK()); + } } else { topK = testReqVO.getTopK(); testReqVO.setTopK(topK); + if (testReqVO.getScore() == null){ + testReqVO.setScore(baseDO.getScore()); + } } Double score = 0.2;