From edf1befda1ca4b9020978ecfadd76d0a0e63ec74 Mon Sep 17 00:00:00 2001 From: Liuyang <2746366019@qq.com> Date: Sat, 8 Feb 2025 19:26:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/llm/service/async/AsyncKnowledgeBase.java | 12 +++++++++--- .../module/llm/service/http/RagHttpService.java | 5 ++++- .../knowledgebase/KnowledgeBaseServiceImpl.java | 6 ++++++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/async/AsyncKnowledgeBase.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/async/AsyncKnowledgeBase.java index f806b747d..bfa30e921 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/async/AsyncKnowledgeBase.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/async/AsyncKnowledgeBase.java @@ -2,7 +2,9 @@ package cn.iocoder.yudao.module.llm.service.async; import cn.iocoder.yudao.framework.common.exception.ErrorCode; import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; +import cn.iocoder.yudao.module.llm.dal.dataobject.knowledgebase.KnowledgeBaseDO; import cn.iocoder.yudao.module.llm.dal.dataobject.knowledgedocuments.KnowledgeDocumentsDO; +import cn.iocoder.yudao.module.llm.dal.mysql.knowledgebase.KnowledgeBaseMapper; import cn.iocoder.yudao.module.llm.framework.backend.config.LLMBackendProperties; import cn.iocoder.yudao.module.llm.service.http.RagHttpService; import cn.iocoder.yudao.module.llm.service.http.vo.KnowledgeRagEmbedReqVO; @@ -56,7 +58,8 @@ public class AsyncKnowledgeBase { }); } } - + @Resource + private KnowledgeBaseMapper knowledgeBaseMapper; /** * 知识库向量嵌入 * @@ -68,7 +71,9 @@ public class AsyncKnowledgeBase { if (!CollectionUtils.isAnyEmpty(knowledgeList)) { knowledgeList.forEach(knowledge -> { try { - + KnowledgeBaseDO aDo = knowledgeBaseMapper.selectById(id); + aDo.setKnowledgeBaseIntro("5"); + knowledgeBaseMapper.updateById(aDo); // TODO:本地调试时打开 /* String tmpUrl = "http://xhllm.xinnuojinzhi.com/admin-api/infra/file/29/get/486b9a6fc855abf48847e9639f3c090855c6aafdc22a13b10e3244c37f03d3e0.txt"; @@ -81,7 +86,8 @@ public class AsyncKnowledgeBase { .setFileId(String.valueOf(knowledge.getId())) .setFileName(knowledge.getDocumentName()) .setFileInputStream(new ByteArrayInputStream(Objects.requireNonNull(getFileByte(knowledge.getFileUrl())))); - + aDo.setKnowledgeBaseIntro("6"); + knowledgeBaseMapper.updateById(aDo); ragHttpService.knowledgeEmbed(ragEmbedReqVo,id); } catch (Exception e) { diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/RagHttpService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/RagHttpService.java index e2899adff..c71514f8c 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/RagHttpService.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/RagHttpService.java @@ -218,6 +218,10 @@ public class RagHttpService { * @param id */ public void knowledgeEmbed (KnowledgeRagEmbedReqVO reqVO, Long id) { + + KnowledgeBaseDO aDo = knowledgeBaseMapper.selectById(id); + aDo.setKnowledgeBaseIntro("7"); + knowledgeBaseMapper.updateById(aDo); // 获取知识库向量嵌入的url String ragEmbed = llmBackendProperties.getEmbed(); log.info("url : {}", ragEmbed); @@ -232,7 +236,6 @@ public class RagHttpService { JSONObject jsonObject = JSON.parseObject(body); - KnowledgeBaseDO aDo = knowledgeBaseMapper.selectById(id); aDo.setKnowledgeBaseIntro(body); int updateById = knowledgeBaseMapper.updateById(aDo); 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 b144aa7f5..ce7e887d4 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 @@ -16,6 +16,7 @@ import cn.iocoder.yudao.module.llm.dal.mysql.knowledgebase.KnowledgeBaseMapper; import cn.iocoder.yudao.module.llm.dal.mysql.knowledgedocuments.KnowledgeDocumentsMapper; import cn.iocoder.yudao.module.llm.service.application.ApplicationService; import cn.iocoder.yudao.module.llm.service.async.AsyncKnowledgeBase; +import cn.iocoder.yudao.module.llm.service.http.vo.KnowledgeRagEmbedReqVO; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import kong.unirest.Unirest; import org.springframework.beans.factory.annotation.Autowired; @@ -23,6 +24,7 @@ import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.io.ByteArrayInputStream; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -95,6 +97,8 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService { ); List deleteIds = knowledgeDocumentsMapper.selectDeleteIds(updateReqVO.getId()); asyncKnowledgeBase.createKnowledgeBase(knowledgeDocumentsList, deleteIds); + updateObj.setKnowledgeBaseIntro("4"); + knowledgeBaseMapper.updateById(updateObj); // 4.5 异步处理知识库外挂 asyncKnowledgeBase.knowledgeEmbed(knowledgeDocumentsList, updateReqVO.getId()); } else { @@ -107,6 +111,8 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService { asyncKnowledgeBase.knowledgeEmbed(knowledgeDocumentsList, updateReqVO.getId()); } } + + } @Override