From 7fd484eeab27d72cad408180fcacda1c61ec5fbe Mon Sep 17 00:00:00 2001 From: v-zhangjc9 Date: Wed, 28 May 2025 15:40:57 +0800 Subject: [PATCH] =?UTF-8?q?fix(knowledge):=20=E4=BC=98=E5=8C=96=E5=A4=9A?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0=E4=BD=93=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ai/knowledge/service/EmbeddingService.java | 8 ++++++++ .../client/src/pages/ai/knowledge/DataImport.tsx | 10 +++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/service-ai/service-ai-knowledge/src/main/java/com/lanyuanxiaoyao/service/ai/knowledge/service/EmbeddingService.java b/service-ai/service-ai-knowledge/src/main/java/com/lanyuanxiaoyao/service/ai/knowledge/service/EmbeddingService.java index b610c24..268cfb9 100644 --- a/service-ai/service-ai-knowledge/src/main/java/com/lanyuanxiaoyao/service/ai/knowledge/service/EmbeddingService.java +++ b/service-ai/service-ai-knowledge/src/main/java/com/lanyuanxiaoyao/service/ai/knowledge/service/EmbeddingService.java @@ -1,6 +1,7 @@ package com.lanyuanxiaoyao.service.ai.knowledge.service; import cn.hutool.core.io.FileUtil; +import cn.hutool.core.lang.Pair; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.lanyuanxiaoyao.service.ai.knowledge.entity.EmbeddingContext; @@ -8,6 +9,7 @@ import com.lanyuanxiaoyao.service.ai.knowledge.entity.Knowledge; import com.lanyuanxiaoyao.service.ai.knowledge.entity.vo.DataFileVO; import com.yomahub.liteflow.core.FlowExecutor; import java.nio.charset.StandardCharsets; +import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import org.eclipse.collections.api.factory.Lists; @@ -79,9 +81,15 @@ public class EmbeddingService { public void submit(Long id, String mode, ImmutableList ids) { executors.submit(() -> { Knowledge knowledge = knowledgeService.get(id); + List> vos = Lists.mutable.empty(); for (String fileId : ids) { DataFileVO vo = dataFileService.downloadFile(Long.parseLong(fileId)); Long groupId = groupService.add(id, vo.getFilename()); + vos.add(Pair.of(groupId, vo)); + } + for (Pair pair : vos) { + Long groupId = pair.getKey(); + DataFileVO vo = pair.getValue(); EmbeddingContext context = EmbeddingContext.builder() .vectorSourceId(knowledge.getVectorSourceId()) .groupId(groupId) diff --git a/service-web/client/src/pages/ai/knowledge/DataImport.tsx b/service-web/client/src/pages/ai/knowledge/DataImport.tsx index bf764be..96a3f5d 100644 --- a/service-web/client/src/pages/ai/knowledge/DataImport.tsx +++ b/service-web/client/src/pages/ai/knowledge/DataImport.tsx @@ -50,6 +50,7 @@ const DataImport: React.FC = () => { { body: [ { + id: 'a5219cc7-72dd-4199-9eeb-61305fe41075', type: 'form', wrapWithPanel: false, actions: [], @@ -93,6 +94,7 @@ const DataImport: React.FC = () => { { visibleOn: 'type === \'text\'', type: 'editor', + required: true, label: '数据内容', name: 'content', language: 'plaintext', @@ -104,6 +106,7 @@ const DataImport: React.FC = () => { { visibleOn: 'type === \'file\'', type: 'input-file', + required: true, name: 'files', label: '数据文件', autoUpload: false, @@ -144,9 +147,14 @@ const DataImport: React.FC = () => { type: 'button-toolbar', buttons: [ { - type: 'action', + type: 'reset', + label: '重置' + }, + { + type: 'submit', label: '预览', actionType: 'ajax', + level: 'secondary', api: { method: 'post', url: 'http://127.0.0.1:8080/knowledge/preview_text',