feat: expand colloquial reply sets and support cross-image quote intent
This commit is contained in:
@@ -522,9 +522,10 @@ class QingjianAPIClient:
|
||||
low, high = max(2.0, base * 0.5), base
|
||||
|
||||
# 发图后的需求描述,优先“多等一点”收集完整需求,减少半句回复
|
||||
# 约束到 12-14s,避免等待过长。
|
||||
if is_req and not has_img:
|
||||
low = max(low, min(10.0, base * 0.8))
|
||||
high = max(high, min(20.0, base + 4.0))
|
||||
low = max(low, 12.0)
|
||||
high = min(14.0, max(high, 12.6))
|
||||
|
||||
# 短句更快,长句稍慢,避免把连续半句拆开
|
||||
text_len = len((msg or "").strip())
|
||||
@@ -1460,6 +1461,8 @@ class QingjianAPIClient:
|
||||
print(f"[{self.get_time()}] 错误: 未连接到服务器")
|
||||
return
|
||||
|
||||
reply_content = self._colloquialize_outbound_reply(reply_content)
|
||||
|
||||
# 同一客户外发限流:N 秒内最多 1 条
|
||||
try:
|
||||
from config.config import OUTBOUND_PER_CUSTOMER_COOLDOWN_SECONDS
|
||||
@@ -1499,6 +1502,50 @@ class QingjianAPIClient:
|
||||
self._log_outbound_once(original_msg, str(reply_content))
|
||||
await self.send_message(reply)
|
||||
|
||||
def _colloquialize_outbound_reply(self, text: Any) -> Any:
|
||||
"""统一外发口语化处理,避免机械话术。"""
|
||||
if not isinstance(text, str):
|
||||
return text
|
||||
raw = text.strip()
|
||||
if not raw:
|
||||
return text
|
||||
# 控制指令/转接命令不得改写
|
||||
if raw.startswith("话术|") or "[转移会话]" in raw:
|
||||
return text
|
||||
# 纯链接不改
|
||||
if re.fullmatch(r"https?://\S+", raw):
|
||||
return text
|
||||
|
||||
out = raw
|
||||
replacements = {
|
||||
"我这边": "我这边",
|
||||
"请您": "你",
|
||||
"您好": "你好",
|
||||
"稍后": "一会儿",
|
||||
"可以的话": "可以的话",
|
||||
"请稍等": "稍等哈",
|
||||
"先不乱报价": "先不急着给你乱报",
|
||||
"建议转人工评估更稳": "建议转人工看会更稳",
|
||||
"统一报价": "一起报价",
|
||||
"马上安排": "马上给你安排",
|
||||
"确认我就安排": "你点头我就开做",
|
||||
"收到,我看看哈": "收到,我先看下",
|
||||
"收到,我找找刚才那几张": "收到,我把刚才那几张一起看下",
|
||||
"这组图我这边暂时识别不稳定": "这组图我这边识别得不太稳",
|
||||
"这组图我这边暂时识别异常": "这组图我这边刚才识别有点异常",
|
||||
"你可以换一张更清晰的,我再给你准报价。": "你换张更清晰的发我,我再给你报准点。",
|
||||
"你可以换清晰图再发我。": "你换张清晰点的再发我哈。",
|
||||
"你可以稍后再发我。": "你晚点再发我也行。",
|
||||
"收到付款,我马上安排处理,有需要第一时间联系您": "收到付款啦,我马上安排处理,有进展第一时间告诉你",
|
||||
"亲,正在为您转接人工客服,请稍等~": "我这就给你转人工,稍等哈~",
|
||||
}
|
||||
for k, v in replacements.items():
|
||||
out = out.replace(k, v)
|
||||
|
||||
# 收尾语气柔化
|
||||
out = out.replace("。", "。")
|
||||
return out
|
||||
|
||||
async def send_text(self, cy_id, acc_type, content):
|
||||
"""
|
||||
主动发送文本消息
|
||||
|
||||
Reference in New Issue
Block a user