diff --git a/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrSopSeedService.java b/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrSopSeedService.java index 43a2c8d9..85fe518c 100644 --- a/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrSopSeedService.java +++ b/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrSopSeedService.java @@ -3167,7 +3167,8 @@ public class AihrSopSeedService { return rawHitResponse(responseCategory, queryText, List.copyOf(docs.values()), snippets, extraCautions); } if (isNoEvidenceAnswer(digest.answer())) { - return noEvidenceResponse(queryText, responseCategory, appendCautions(digest.cautions(), extraCautions)); + return rawHitResponse(responseCategory, queryText, List.copyOf(docs.values()), snippets, + appendCautions(digest.cautions(), extraCautions)); } return new SearchResponse( queryText, diff --git a/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrSopSeedServiceTest.java b/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrSopSeedServiceTest.java index c86f1940..f964f1ab 100644 --- a/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrSopSeedServiceTest.java +++ b/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrSopSeedServiceTest.java @@ -45,6 +45,22 @@ public class AihrSopSeedServiceTest { assertTrue(response.cautions().contains("未生成结构化概要,已返回命中原文片段。")); } + @Test + @Tag("dev") + public void digestCannotDiscardAlreadyRetrievedEvidence() throws Exception { + Path source = Path.of("src/main/java/org/dromara/aihr/service/AihrSopSeedService.java"); + if (!Files.exists(source)) { + source = Path.of("ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrSopSeedService.java"); + } + String code = Files.readString(source).replace("\r\n", "\n"); + String method = code.substring(code.indexOf("private SearchResponse responseFromHits("), + code.indexOf("static List evidenceHits")); + + assertTrue(method.contains("if (isNoEvidenceAnswer(digest.answer()))")); + assertTrue(method.contains("return rawHitResponse(")); + assertFalse(method.contains("return noEvidenceResponse(")); + } + @Test @Tag("dev")