From aff9e403a6c83dec7aecd970936b05fd3e182bf3 Mon Sep 17 00:00:00 2001 From: ire <931903008@qq.com> Date: Thu, 13 Feb 2025 14:40:04 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../conversation/ConversationController.java | 4 +- .../llm/service/http/RagHttpService.java | 38 +++++++++++++++---- 2 files changed, 33 insertions(+), 9 deletions(-) diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/conversation/ConversationController.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/conversation/ConversationController.java index ef70a8b7b..6096a5850 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/conversation/ConversationController.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/conversation/ConversationController.java @@ -88,7 +88,7 @@ public class ConversationController { @PreAuthorize("@ss.hasPermission('llm:conversation:export')") @ApiAccessLog(operateType = EXPORT) public void exportConversationExcel(@Valid ConversationPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { + HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = conversationService.getConversationPage(pageReqVO).getList(); // 导出 Excel @@ -106,4 +106,4 @@ public class ConversationController { public CommonResult textToImage(@Valid @RequestBody TextToImageReqVo req) { return success(conversationService.textToImage(req)); } -} \ No newline at end of file +} 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 e76fcacea..ee19da0cd 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 @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.llm.service.http; +import cn.hutool.http.HttpRequest; import cn.iocoder.yudao.framework.common.exception.ErrorCode; import cn.iocoder.yudao.framework.common.util.http.HttpUtils; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; @@ -131,17 +132,40 @@ public class RagHttpService { // 配置 Unirest /* Unirest.config().reset(); Unirest.config().socketTimeout(86400000);*/ - // 发送上传请求 - HttpResponse uploadResponse = Unirest.post(ragUploadReqVO.getUrl()) - .field("file_id", ragUploadReqVO.getFileId()) - .field("file", new ByteArrayInputStream(utf8Bytes), ragUploadReqVO.getFileName()) - .asString(); + + ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(utf8Bytes); + + int bufferSize = 1024; // 定义缓冲区大小为1024字节 + byte[] byteArray = new byte[bufferSize]; // 创建字节数组 + + int bytesRead; // 记录实际读取的字节数 + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); // 输出流用于存储字节 + + while ((bytesRead = byteArrayInputStream.read(byteArray)) != -1) { + // 如果没有读取到数据,bytesRead会返回-1 + outputStream.write(byteArray, 0, bytesRead); // 将读取的字节写入输出流 + } + // 将ByteArrayOutputStream转换为byte数组 + byte[] result = outputStream.toByteArray(); + + inputStream.close(); // 关闭InputStream + outputStream.close(); // 关闭ByteArrayOutputStream + + String body = HttpRequest.post(ragUploadReqVO.getUrl()) + .form("file", result, ragUploadReqVO.getFileName()) + .form("file_id", ragUploadReqVO.getFileId()) + .execute().body(); +// // 发送上传请求 +// HttpResponse uploadResponse = Unirest.post(ragUploadReqVO.getUrl()) +// .field("file_id", ragUploadReqVO.getFileId()) +// .field("file", new ByteArrayInputStream(utf8Bytes), ragUploadReqVO.getFileName()) +// .asString(); // 检查响应状态 - log.info("Response Body: {}", uploadResponse.getBody()); - ragEmbedRespVO = JSON.parseObject(uploadResponse.getBody(), RagEmbedRespVO.class); +// log.info("Response Body: {}", uploadResponse.getBody()); + ragEmbedRespVO = JSON.parseObject(body, RagEmbedRespVO.class); log.info("ragEmbedRespVO:{}", ragEmbedRespVO); if (ragEmbedRespVO.isStatus()) {