接入dify工作流内容

This commit is contained in:
liuwei
2025-03-13 15:57:14 +08:00
parent f919a78068
commit 25ace47b08

View File

@@ -64,11 +64,12 @@ class DifyChat:
# 如果没有查询内容,返回使用提示 # 如果没有查询内容,返回使用提示
if len(parts) < 2 or not parts[1].strip(): if len(parts) < 2 or not parts[1].strip():
self.wcf.send_text(self.command_tip, self.wcf.send_text(self.command_tip,
(message.roomid if message.from_group() else message.sender)) (message.roomid if message.from_group() else message.sender))
return return
# 检查权限 # 检查权限
if message.from_group() and self.gbm.get_group_permission(message.roomid, Feature.AI_CAPABILITY) == PermissionStatus.DISABLED: if message.from_group() and self.gbm.get_group_permission(message.roomid,
Feature.AI_CAPABILITY) == PermissionStatus.DISABLED:
return return
# 获取查询内容 # 获取查询内容
@@ -102,13 +103,13 @@ class DifyChat:
# 发送回复 # 发送回复
if response: if response:
self.wcf.send_text(response, self.wcf.send_text(response,
(message.roomid if message.from_group() else message.sender), (message.roomid if message.from_group() else message.sender),
message.sender if message.from_group() else "") message.sender if message.from_group() else "")
except Exception as e: except Exception as e:
self.LOG.error(f"Dify聊天出错{e}") self.LOG.error(f"Dify聊天出错{e}")
self.wcf.send_text(f"-----Bot-----\n❌请求出错:{str(e)}", self.wcf.send_text(f"-----Bot-----\n❌请求出错:{str(e)}",
(message.roomid if message.from_group() else message.sender), (message.roomid if message.from_group() else message.sender),
message.sender if message.from_group() else "") message.sender if message.from_group() else "")
def chat_with_dify(self, session_id: str, user_id: str, query: str) -> Optional[str]: def chat_with_dify(self, session_id: str, user_id: str, query: str) -> Optional[str]:
""" """
@@ -144,7 +145,7 @@ class DifyChat:
"query": query, "query": query,
"sys.files": [], "sys.files": [],
"user": user_id, "user": user_id,
"inputs":{}, "inputs": { "query": query},
"response_mode": "streaming", # 使用流式响应 "response_mode": "streaming", # 使用流式响应
"conversation_id": session_id # 使用会话ID保持上下文 "conversation_id": session_id # 使用会话ID保持上下文
} }
@@ -239,7 +240,8 @@ class DifyChat:
else: else:
self.token_usage[user_id] = total_tokens self.token_usage[user_id] = total_tokens
self.LOG.info(f"用户 {user_id} 本次消耗 {total_tokens} tokens累计 {self.token_usage[user_id]} tokens") self.LOG.info(
f"用户 {user_id} 本次消耗 {total_tokens} tokens累计 {self.token_usage[user_id]} tokens")
return answer return answer