From 7a101cbb3ba8692c65b497ed98631d4a3e030f53 Mon Sep 17 00:00:00 2001 From: xiaohuo <14141624+dsgfhrh@user.noreply.gitee.com> Date: Sun, 9 Nov 2025 23:07:07 +0800 Subject: [PATCH] =?UTF-8?q?11.9AI=E5=BC=82=E5=B8=B8+=E9=A2=84=E8=AD=A6?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=9D=83=E9=99=90=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AlertMessageController.java | 2 +- .../alops/chat/service/AItokenService.java | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/exceptionController/AlertMessageController.java b/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/exceptionController/AlertMessageController.java index f3a2d360..e325d021 100644 --- a/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/exceptionController/AlertMessageController.java +++ b/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/exceptionController/AlertMessageController.java @@ -132,7 +132,7 @@ public class AlertMessageController extends BaseController /** * 删除预警信息 */ - @PreAuthorize("@ss.hasPermi('system:message:remove')") + @PreAuthorize("@ss.hasPermi('inMonitoring:alertMessage:remove')") @ApiOperation("删除预警信息") @Log(title = "删除预警信息", businessType = BusinessType.UPDATE) @DeleteMapping("/{ids}") diff --git a/ALOps_sys_backend/alops-chat/src/main/java/com/alops/chat/service/AItokenService.java b/ALOps_sys_backend/alops-chat/src/main/java/com/alops/chat/service/AItokenService.java index cddc07a3..57e453cc 100644 --- a/ALOps_sys_backend/alops-chat/src/main/java/com/alops/chat/service/AItokenService.java +++ b/ALOps_sys_backend/alops-chat/src/main/java/com/alops/chat/service/AItokenService.java @@ -310,6 +310,32 @@ public class AItokenService { return "AI模型正在加载中,请稍等2-3分钟后再试。如果问题持续存在,可能需要检查系统资源配置。"; } } + // 处理"length"状态 - 表示响应因长度限制被截断 + else if ("length".equals(doneReason)) { + System.out.println("第 " + attempt + " 次尝试:模型响应因长度限制被截断"); + // 尝试获取已生成的内容 + JsonNode messageNode = rootNode.get("message"); + if (messageNode != null) { + JsonNode contentNode = messageNode.get("content"); + if (contentNode != null) { + String content = contentNode.asText(); + if (content != null && !content.isEmpty()) { + System.out.println("尽管响应被截断,但已获取到部分回答内容,长度: " + content.length()); + return content; + } + } + } + + // 如果没有获取到内容,继续重试 + if (attempt < maxRetries) { + long waitTime = 3000 * attempt; + System.out.println("等待 " + (waitTime/1000) + " 秒后重试..."); + Thread.sleep(waitTime); + continue; + } else { + return "AI模型响应过长被截断,请尝试提出更具体的问题。"; + } + } // 只有当done_reason为stop时才表示真正结束 else if (!"stop".equals(doneReason)) { System.out.println("第 " + attempt + " 次尝试:模型返回未知的done_reason: " + doneReason);