接入dify工作流内容
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user