From ab6fb374b9bc3a63f81a01ae3aab468e04b6bc41 Mon Sep 17 00:00:00 2001 From: MerCry Date: Thu, 26 Feb 2026 20:59:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8A=9F=E8=83=BD=E8=B0=83?= =?UTF-8?q?=E8=AF=95=20=E7=A1=AE=E4=BF=9D=E5=8F=AF=E4=BB=A5=E8=81=94?= =?UTF-8?q?=E9=80=9Aai=E4=B8=AD=E5=8F=B0[AC-INIT]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/wecom/robot/config/AiServiceConfig.java | 4 +++- .../java/com/wecom/robot/config/RestTemplateConfig.java | 2 +- src/main/java/com/wecom/robot/config/TransferConfig.java | 1 + .../java/com/wecom/robot/service/TransferService.java | 5 +++++ .../com/wecom/robot/service/impl/AiServiceClientImpl.java | 2 ++ src/main/resources/application.yml | 8 +++++--- 6 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/wecom/robot/config/AiServiceConfig.java b/src/main/java/com/wecom/robot/config/AiServiceConfig.java index 118ff96..07b0ed5 100644 --- a/src/main/java/com/wecom/robot/config/AiServiceConfig.java +++ b/src/main/java/com/wecom/robot/config/AiServiceConfig.java @@ -13,5 +13,7 @@ public class AiServiceConfig { private int timeout = 5000; - private String tenantId = "szmp@ash@2026"; + private String tenantId = "default@ash@2026"; + + private String apiKey = "tDXu09--IZutcI2h06DCR5WkK9Oi9waTKyUxhaxl5oE"; } diff --git a/src/main/java/com/wecom/robot/config/RestTemplateConfig.java b/src/main/java/com/wecom/robot/config/RestTemplateConfig.java index 6986c13..a7a30fe 100644 --- a/src/main/java/com/wecom/robot/config/RestTemplateConfig.java +++ b/src/main/java/com/wecom/robot/config/RestTemplateConfig.java @@ -12,7 +12,7 @@ public class RestTemplateConfig { public RestTemplate restTemplate() { SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); factory.setConnectTimeout(5000); - factory.setReadTimeout(30000); + factory.setReadTimeout(60000); return new RestTemplate(factory); } } diff --git a/src/main/java/com/wecom/robot/config/TransferConfig.java b/src/main/java/com/wecom/robot/config/TransferConfig.java index 432ad1f..2c65fe1 100644 --- a/src/main/java/com/wecom/robot/config/TransferConfig.java +++ b/src/main/java/com/wecom/robot/config/TransferConfig.java @@ -11,6 +11,7 @@ import java.util.List; @ConfigurationProperties(prefix = "transfer") public class TransferConfig { + private boolean enabled = true; private List keywords; private double confidenceThreshold; private int maxFailRounds; diff --git a/src/main/java/com/wecom/robot/service/TransferService.java b/src/main/java/com/wecom/robot/service/TransferService.java index d7d059c..42f12d2 100644 --- a/src/main/java/com/wecom/robot/service/TransferService.java +++ b/src/main/java/com/wecom/robot/service/TransferService.java @@ -18,6 +18,11 @@ public class TransferService { private final TransferConfig transferConfig; public boolean shouldTransferToManual(String message, double confidence, int messageCount, LocalDateTime sessionCreatedAt) { + if (!transferConfig.isEnabled()) { + log.info("转人工功能已关闭,不转人工"); + return false; + } + if (containsKeywords(message)) { log.info("触发转人工: 关键词匹配"); return true; diff --git a/src/main/java/com/wecom/robot/service/impl/AiServiceClientImpl.java b/src/main/java/com/wecom/robot/service/impl/AiServiceClientImpl.java index 86a46e6..0969693 100644 --- a/src/main/java/com/wecom/robot/service/impl/AiServiceClientImpl.java +++ b/src/main/java/com/wecom/robot/service/impl/AiServiceClientImpl.java @@ -38,6 +38,8 @@ public class AiServiceClientImpl implements AiServiceClient { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); headers.set("X-Tenant-Id", aiServiceConfig.getTenantId()); + headers.set("X-API-Key", aiServiceConfig.getApiKey()); + HttpEntity entity = new HttpEntity<>(request, headers); ResponseEntity response = restTemplate.postForEntity( diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index c4b50ba..ad44057 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -24,21 +24,23 @@ wecom: callback-url: /wecom/callback transfer: + enabled: false keywords: - 人工 - 转人工 - 投诉 - 客服 - 人工客服 - confidence-threshold: 0.6 + confidence-threshold: 0.35 max-fail-rounds: 3 max-session-duration: 180000000 max-message-rounds: 50 ai-service: - url: http://localhost:8000 - timeout: 5000 + url: http://ashai.com.cn:8182 + timeout: 30000 tenantId: szmp@ash@2026 + apiKey: tDXu09--IZutcI2h06DCR5WkK9Oi9waTKyUxhaxl5oE channel: default-channel: wechat