feat: add aiops payload query augmentation

This commit is contained in:
aruo
2026-07-05 12:56:20 +08:00
parent 674dd27a48
commit 72a3dbf8c5
8 changed files with 219 additions and 0 deletions
@@ -95,11 +95,28 @@ class AiOpsServiceTest {
assertTrue(prompt.contains("queryPrometheusAlerts only to verify"));
assertTrue(prompt.contains("do not create full root-cause or remediation sections"));
assertTrue(prompt.contains("Related Risk"));
assertTrue(prompt.contains("Recommended lookup_knowledge query: HighCPUUsage payment-service P1 CPU usage is above 80% last_15m"));
assertTrue(prompt.contains("preserves alertName and service"));
assertTrue(prompt.contains("告警: HighCPUUsage"));
assertTrue(prompt.contains("服务: payment-service"));
assertFalse(prompt.contains("AIOps scope mode: AUTO_DISCOVERY"));
}
@Test
void buildKnowledgeRetrievalQueryUsesPayloadFieldsAndSkipsBlankValues() {
AIOpsRequest request = new AIOpsRequest();
request.setAlertName("HighLatency");
request.setService(" payment-service ");
request.setSeverity(" ");
request.setDescription("P95 latency above threshold");
request.setTimeRange("last_10m");
request.setUserRequest("结合日志和指标排查");
String query = service.buildKnowledgeRetrievalQuery(request);
assertEquals("HighLatency payment-service P95 latency above threshold last_10m 结合日志和指标排查", query);
}
@Test
void buildTaskPromptUsesAutoDiscoveryModeWhenAlertPayloadIsMissing() {
String nullRequestPrompt = service.buildTaskPrompt(null);
@@ -116,6 +133,7 @@ class AiOpsServiceTest {
assertTrue(userRequestOnlyPrompt.contains("AIOps scope mode: AUTO_DISCOVERY"));
assertTrue(userRequestOnlyPrompt.contains("First call queryPrometheusAlerts"));
assertFalse(userRequestOnlyPrompt.contains("Recommended lookup_knowledge query"));
}
@Test