From 28e99a31d339a80090ffd3d4fd8a6ada18b623c9 Mon Sep 17 00:00:00 2001 From: liuwei Date: Thu, 13 Mar 2025 17:59:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E4=BC=98=E5=8C=96=E4=B8=80?= =?UTF-8?q?=E4=B8=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dify/dify_chat.py | 15 ++++++++------- message_storage/message_to_db.py | 4 ++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/dify/dify_chat.py b/dify/dify_chat.py index 37acd04..94c84cf 100644 --- a/dify/dify_chat.py +++ b/dify/dify_chat.py @@ -144,7 +144,8 @@ class DifyChat: "query": query, "conversation_id": session_id } - # 准备请求数据 + + # 准备请求数据 data = { "sys.files": [], "user": user_id, @@ -166,14 +167,14 @@ class DifyChat: # 发送请求 url = f"{self.base_url}/workflows/run" - + self.LOG.info(f"发送请求到Dify API: {url}") self.LOG.info(f"请求数据: {json.dumps(data, ensure_ascii=False)}") - + try: # 使用普通请求(非流式) response = requests.post(url, headers=headers, json=data, proxies=proxies) - + if response.status_code != 200: self.LOG.error(f"Dify API请求失败: {response.status_code} {response.text}") return f"请求失败,状态码: {response.status_code}" @@ -181,11 +182,11 @@ class DifyChat: # 解析响应 response_data = response.json() self.LOG.info(f"收到Dify API响应: {json.dumps(response_data, ensure_ascii=False)}") - + # 提取回答内容 answer = "" total_tokens = 0 - + # 获取输出内容 outputs = response_data.get("data", {}).get("outputs", {}) if outputs: @@ -212,7 +213,7 @@ class DifyChat: for item_key, item_value in item.items(): if isinstance(item_value, str) and item_value.strip(): answer += item_value - + # 获取token使用情况 total_tokens = response_data.get("data", {}).get("total_tokens", 0) diff --git a/message_storage/message_to_db.py b/message_storage/message_to_db.py index b77938e..506c93e 100644 --- a/message_storage/message_to_db.py +++ b/message_storage/message_to_db.py @@ -73,10 +73,10 @@ class MessageStorage: if time_diff < timedelta(hours=3): # 小于 3 小时,取 8 小时前 - last_summary_time = (current_time - timedelta(hours=8)).strftime('%Y-%m-%d %H:%M:%S') + last_summary_time = (current_time - timedelta(hours=3)).strftime('%Y-%m-%d %H:%M:%S') elif time_diff > timedelta(days=1): # 大于 24 小时,取 10 小时前 - last_summary_time = (current_time - timedelta(hours=10)).strftime('%Y-%m-%d %H:%M:%S') + last_summary_time = (current_time - timedelta(hours=6)).strftime('%Y-%m-%d %H:%M:%S') # 更新 Redis 存储的当前时间 self._get_redis_connection().set(key, current_date)