From ccfce5d279492ffeb9e47375e7b6bd6eb20f4a48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8C=97=E6=9E=81?= <42404015+15089677014@users.noreply.github.com> Date: Thu, 13 Mar 2025 14:43:34 +0800 Subject: [PATCH] feat(dbgpt-serve): Agent fixes and parameter additions (#2457) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 刘家星 --- .../dbgpt-core/src/dbgpt/core/interface/message.py | 6 ++++++ .../dbgpt-serve/src/dbgpt_serve/agent/db/gpts_app.py | 1 + .../src/dbgpt_serve/agent/db/gpts_conversations_db.py | 10 ++++++++++ .../src/dbgpt_serve/agent/db/gpts_messages_db.py | 8 ++++++++ 4 files changed, 25 insertions(+) diff --git a/packages/dbgpt-core/src/dbgpt/core/interface/message.py b/packages/dbgpt-core/src/dbgpt/core/interface/message.py index eaccb5151..312b3ef87 100755 --- a/packages/dbgpt-core/src/dbgpt/core/interface/message.py +++ b/packages/dbgpt-core/src/dbgpt/core/interface/message.py @@ -1150,6 +1150,12 @@ class StorageConversation(OnceConversation, StorageItem): def clear(self) -> None: """Clear all the messages and conversation.""" + from dbgpt_serve.agent.db import GptsConversationsDao, GptsMessagesDao + + # 清除Agent聊天记录 + GptsMessagesDao().delete_chat_message(conv_id=self.conv_uid) + GptsConversationsDao().delete_chat_message(conv_id=self.conv_uid) + # Clear messages first message_list = self._get_message_items() message_ids = [message.identifier for message in message_list] diff --git a/packages/dbgpt-serve/src/dbgpt_serve/agent/db/gpts_app.py b/packages/dbgpt-serve/src/dbgpt_serve/agent/db/gpts_app.py index 23364cb8f..d898ed0e1 100644 --- a/packages/dbgpt-serve/src/dbgpt_serve/agent/db/gpts_app.py +++ b/packages/dbgpt-serve/src/dbgpt_serve/agent/db/gpts_app.py @@ -983,6 +983,7 @@ class GptsAppDao(BaseDao): params=json.dumps(recommend_question.params), valid=recommend_question.valid, chat_mode=chat_scene, + user_code=gpts_app.user_code, ) ) session.add_all(recommend_questions) diff --git a/packages/dbgpt-serve/src/dbgpt_serve/agent/db/gpts_conversations_db.py b/packages/dbgpt-serve/src/dbgpt_serve/agent/db/gpts_conversations_db.py index d66d37042..9363fcdec 100644 --- a/packages/dbgpt-serve/src/dbgpt_serve/agent/db/gpts_conversations_db.py +++ b/packages/dbgpt-serve/src/dbgpt_serve/agent/db/gpts_conversations_db.py @@ -111,3 +111,13 @@ class GptsConversationsDao(BaseDao): ) session.commit() session.close() + + def delete_chat_message(self, conv_id: str) -> bool: + session = self.get_raw_session() + gpts_messages = session.query(GptsConversationsEntity) + gpts_messages.filter( + GptsConversationsEntity.conv_id.like(f"%{conv_id}%") + ).delete() + session.commit() + session.close() + return True diff --git a/packages/dbgpt-serve/src/dbgpt_serve/agent/db/gpts_messages_db.py b/packages/dbgpt-serve/src/dbgpt_serve/agent/db/gpts_messages_db.py index 15e41a309..71da29a3f 100644 --- a/packages/dbgpt-serve/src/dbgpt_serve/agent/db/gpts_messages_db.py +++ b/packages/dbgpt-serve/src/dbgpt_serve/agent/db/gpts_messages_db.py @@ -177,3 +177,11 @@ class GptsMessagesDao(BaseDao): result = gpts_messages.first() session.close() return result + + def delete_chat_message(self, conv_id: str) -> bool: + session = self.get_raw_session() + gpts_messages = session.query(GptsMessagesEntity) + gpts_messages.filter(GptsMessagesEntity.conv_id.like(f"%{conv_id}%")).delete() + session.commit() + session.close() + return True