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);
|
return truncate(firstNonBlank(cleaned, "请参考下方命中片段。"), 180);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isNoEvidenceAnswer(String answer) {
|
static boolean isNoEvidenceAnswer(String answer) {
|
||||||
return NO_CLEAR_SOP_EVIDENCE.equals(Optional.ofNullable(answer).orElse("").trim());
|
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) {
|
private static SearchResponse noEvidenceResponse(String queryText, String category) {
|
||||||
|
|||||||
+9
@@ -30,6 +30,15 @@ import static org.mockito.Mockito.verify;
|
|||||||
|
|
||||||
public class AihrSopSeedServiceTest {
|
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
|
@Test
|
||||||
@Tag("dev")
|
@Tag("dev")
|
||||||
public void rawHitResponseKeepsSnippetsWhenDigestUnavailable() {
|
public void rawHitResponseKeepsSnippetsWhenDigestUnavailable() {
|
||||||
|
|||||||
Reference in New Issue
Block a user