diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/knowledgebase/vo/KnowledgeBaseSaveReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/knowledgebase/vo/KnowledgeBaseSaveReqVO.java index 40177bc6f..0c5d43d69 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/knowledgebase/vo/KnowledgeBaseSaveReqVO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/knowledgebase/vo/KnowledgeBaseSaveReqVO.java @@ -32,9 +32,14 @@ public class KnowledgeBaseSaveReqVO { @Schema(description = "知识长度") private Integer knowledgeLength; + /** + * 分块大小 + */ + private Integer chunkSize; + @Schema(description = "文件引用") private String knowledgeFile; @Schema(description = "文件引用上传") private List knowledgeDocuments; -} \ No newline at end of file +} diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/knowledgedocuments/KnowledgeDocumentsDO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/knowledgedocuments/KnowledgeDocumentsDO.java index 878893a51..854a28c7b 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/knowledgedocuments/KnowledgeDocumentsDO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/knowledgedocuments/KnowledgeDocumentsDO.java @@ -48,5 +48,8 @@ public class KnowledgeDocumentsDO extends BaseDO { * 文件Id */ private Long fileId; - + /** + * 分块大小 + */ + private Integer chunkSize; } 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 ac683ba3e..4380fdb3f 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 @@ -51,6 +51,7 @@ import java.nio.file.Paths; import java.nio.file.StandardCopyOption; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.concurrent.TimeUnit; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -388,9 +389,10 @@ public class RagHttpService { String fileId = reqVO.getFileId(); String fileName = reqVO.getFileName(); String fileUrl = reqVO.getFileUrl(); + Integer chunkSize = Optional.ofNullable(reqVO.getChunkSize()).orElse(1500); String mediaType = getMediaType(fileName); - log.info("文件ID: {}, 文件名: {}, 文件URL: {}, 文件类型: {}", fileId, fileName, fileUrl, mediaType); + log.info("文件ID: {}, 文件名: {}, 文件URL: {}, 文件类型: {}, 分块大小:{}", fileId, fileName, fileUrl, mediaType,chunkSize); // 获取知识库文档 log.info("开始获取知识库文档,知识库ID: {}, 文件ID: {}", id, fileId); @@ -447,6 +449,7 @@ public class RagHttpService { RequestBody requestBody = new MultipartBody.Builder() .setType(MultipartBody.FORM) .addFormDataPart("file_id", fileId) + .addFormDataPart("chunk_size", String.valueOf(chunkSize)) .addFormDataPart("file", fileName, RequestBody.create(tempFilePath.toFile(), MediaType.parse(mediaType)) ) diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/vo/KnowledgeRagEmbedReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/vo/KnowledgeRagEmbedReqVO.java index 708f0f406..646c3a2bb 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/vo/KnowledgeRagEmbedReqVO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/http/vo/KnowledgeRagEmbedReqVO.java @@ -41,4 +41,9 @@ public class KnowledgeRagEmbedReqVO { * 文件字节数组 */ private byte[] fileBytes; + + /** + * 分块大小 + */ + private Integer chunkSize; } 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 397fcfc76..3229b0bfb 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 @@ -106,6 +106,7 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService { updateReqVO.getKnowledgeDocuments().forEach(doc -> { KnowledgeDocumentsDO docDO = BeanUtils.toBean(doc, KnowledgeDocumentsDO.class); docDO.setKnowledgeBaseId(updateReqVO.getId()); + docDO.setChunkSize(updateObj.getKnowledgeLength()); if (doc.getId() == null) { newDocuments.add(docDO); // 收集新增文档 }