fix(knowledge): normalize no-evidence model replies
This commit is contained in:
+5
-2
@@ -3599,8 +3599,11 @@ public class AihrSopSeedService {
|
||||
return truncate(firstNonBlank(cleaned, "请参考下方命中片段。"), 180);
|
||||
}
|
||||
|
||||
private static boolean isNoEvidenceAnswer(String answer) {
|
||||
return NO_CLEAR_SOP_EVIDENCE.equals(Optional.ofNullable(answer).orElse("").trim());
|
||||
static boolean isNoEvidenceAnswer(String answer) {
|
||||
String normalized = Optional.ofNullable(answer).orElse("")
|
||||
.replaceAll("\\s+", "")
|
||||
.trim();
|
||||
return NO_CLEAR_SOP_EVIDENCE.replaceAll("\\s+", "").equals(normalized);
|
||||
}
|
||||
|
||||
private static SearchResponse noEvidenceResponse(String queryText, String category) {
|
||||
|
||||
+9
@@ -30,6 +30,15 @@ import static org.mockito.Mockito.verify;
|
||||
|
||||
public class AihrSopSeedServiceTest {
|
||||
|
||||
@Test
|
||||
@Tag("dev")
|
||||
public void noEvidenceAnswerIgnoresModelWhitespaceDifferences() {
|
||||
assertTrue(AihrSopSeedService.isNoEvidenceAnswer("未在已入库 SOP 中找到明确依据"));
|
||||
assertTrue(AihrSopSeedService.isNoEvidenceAnswer("未在已入库SOP中找到明确依据"));
|
||||
assertTrue(AihrSopSeedService.isNoEvidenceAnswer(" 未在已入库\tSOP 中找到明确依据 "));
|
||||
assertFalse(AihrSopSeedService.isNoEvidenceAnswer("已找到正式制度依据"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Tag("dev")
|
||||
public void rawHitResponseKeepsSnippetsWhenDigestUnavailable() {
|
||||
|
||||
Reference in New Issue
Block a user