From 69945b730fd3f6b6138ce50e49fc3392fcd74d71 Mon Sep 17 00:00:00 2001 From: yj <2077506045@qq.com> Date: 星期一, 28 七月 2025 18:16:52 +0800 Subject: [PATCH] 新增关键词过滤;新增活跃客服统计;新增掉线通知 --- app/services/dify_client.py | 26 ++++++++++++++++++++++---- 1 files changed, 22 insertions(+), 4 deletions(-) diff --git a/app/services/dify_client.py b/app/services/dify_client.py index e7ab10e..0e6bbda 100644 --- a/app/services/dify_client.py +++ b/app/services/dify_client.py @@ -28,6 +28,7 @@ user: str, conversation_id: Optional[str] = None, max_retries: int = None, + nick_name: Optional[str] = None, ) -> Optional[Dict[str, Any]]: """ 鍙戦�佸璇濇秷鎭紙闈炴祦寮忔ā寮忥級 @@ -37,6 +38,7 @@ user: 鐢ㄦ埛鏍囪瘑 conversation_id: 浼氳瘽ID锛堝彲閫夛級 max_retries: 鏈�澶ч噸璇曟鏁� + nick_name: 鏄电О锛堝彲閫夛紝鐢ㄤ簬浼犻�掔粰dify锛� Returns: 鍝嶅簲鏁版嵁瀛楀吀锛屽け璐ヨ繑鍥濶one @@ -45,11 +47,17 @@ max_retries = settings.max_retry_count url = f"{self.base_url}/chat-messages" + + # 鏋勫缓inputs鍙傛暟 + inputs = {} + if nick_name: + inputs["nick_name"] = nick_name + payload = { "query": query, "response_mode": "blocking", # 浣跨敤闃诲妯″紡锛堥潪娴佸紡锛� "user": user, - "inputs": {}, + "inputs": inputs, } # 濡傛灉鏈変細璇滻D锛屾坊鍔犲埌璇锋眰涓� @@ -105,6 +113,7 @@ user: str, conversation_id: Optional[str] = None, max_retries: int = None, + nick_name: Optional[str] = None, ) -> Optional[Dict[str, Any]]: """ 鍙戦�佸璇濇秷鎭紙娴佸紡妯″紡锛� @@ -114,6 +123,7 @@ user: 鐢ㄦ埛鏍囪瘑 conversation_id: 浼氳瘽ID锛堝彲閫夛級 max_retries: 鏈�澶ч噸璇曟鏁� + nick_name: 鏄电О锛堝彲閫夛紝鐢ㄤ簬浼犻�掔粰dify锛� Returns: 瀹屾暣鐨勫搷搴旀暟鎹瓧鍏革紝澶辫触杩斿洖None @@ -122,11 +132,17 @@ max_retries = settings.max_retry_count url = f"{self.base_url}/chat-messages" + + # 鏋勫缓inputs鍙傛暟 + inputs = {} + if nick_name: + inputs["nick_name"] = nick_name + payload = { "query": query, "response_mode": "streaming", # 浣跨敤娴佸紡妯″紡 "user": user, - "inputs": {}, + "inputs": inputs, } # 濡傛灉鏈変細璇滻D锛屾坊鍔犲埌璇锋眰涓� @@ -384,6 +400,7 @@ conversation_id: Optional[str] = None, max_retries: int = None, force_streaming: Optional[bool] = None, + nick_name: Optional[str] = None, ) -> Optional[Dict[str, Any]]: """ 鍙戦�佸璇濇秷鎭紙鏍规嵁閰嶇疆閫夋嫨妯″紡锛� @@ -394,6 +411,7 @@ conversation_id: 浼氳瘽ID锛堝彲閫夛級 max_retries: 鏈�澶ч噸璇曟鏁� force_streaming: 寮哄埗浣跨敤娴佸紡妯″紡锛堝彲閫夛紝瑕嗙洊閰嶇疆锛� + nick_name: 鏄电О锛堝彲閫夛紝鐢ㄤ簬浼犻�掔粰dify锛� Returns: 鍝嶅簲鏁版嵁瀛楀吀锛屽け璐ヨ繑鍥濶one @@ -403,10 +421,10 @@ if use_streaming: logger.info(f"浣跨敤娴佸紡妯″紡鍙戦�佹秷鎭�: user={user}") - return self.send_chat_message_stream(query, user, conversation_id, max_retries) + return self.send_chat_message_stream(query, user, conversation_id, max_retries, nick_name) else: logger.info(f"浣跨敤闃诲妯″紡鍙戦�佹秷鎭�: user={user}") - return self.send_chat_message(query, user, conversation_id, max_retries) + return self.send_chat_message(query, user, conversation_id, max_retries, nick_name) def get_conversation_messages( self, conversation_id: str, user: str -- Gitblit v1.9.1