fix(knowledge): preserve retrieved evidence
This commit is contained in:
+2
-1
@@ -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,
|
||||
|
||||
+16
@@ -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<KnowledgeHit> evidenceHits"));
|
||||
|
||||
assertTrue(method.contains("if (isNoEvidenceAnswer(digest.answer()))"));
|
||||
assertTrue(method.contains("return rawHitResponse("));
|
||||
assertFalse(method.contains("return noEvidenceResponse("));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
@Tag("dev")
|
||||
|
||||
Reference in New Issue
Block a user