From 1ada5aaffd687f736397a161f72fdad9637c81e5 Mon Sep 17 00:00:00 2001 From: martsforever Date: Thu, 4 Sep 2025 22:18:57 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9F=A5=E8=AF=A2=E7=9B=B4=E5=B1=9E?= =?UTF-8?q?=E4=B8=8B=E7=BA=A7=E5=91=98=E5=B7=A5=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/add_langgraph_chat_route.py | 12 ++---------- app/tools/tool_list.py | 13 +++++++++++++ app/tools/tool_query_direct_subordinates.py | 15 +++++++++++++++ 3 files changed, 30 insertions(+), 10 deletions(-) create mode 100644 app/tools/tool_list.py create mode 100644 app/tools/tool_query_direct_subordinates.py diff --git a/app/controller/add_langgraph_chat_route.py b/app/controller/add_langgraph_chat_route.py index f8c1d75..92fabb0 100644 --- a/app/controller/add_langgraph_chat_route.py +++ b/app/controller/add_langgraph_chat_route.py @@ -12,10 +12,7 @@ from starlette.responses import StreamingResponse from app.controller.add_user_route import oauth2_scheme from app.model.ConversationModel import ConversationService -from app.tools.tool_add import tool_add -from app.tools.tool_book_hotel import tool_book_hotel -from app.tools.tool_get_datetime import tool_get_datetime -from app.tools.tool_multiple import tool_multiply +from app.tools.tool_list import tool_list from app.utils.db_utils import AsyncSessionDep from app.utils.llm_utils import create_llm from app.utils.postgres_checkpointer import PostgresCheckpointerManager, AsyncPostgresSaverDep @@ -41,12 +38,7 @@ class ChatAgent: if not ChatAgent.agent: ChatAgent.agent = create_react_agent( model=create_llm("huoshan-think-pro"), - tools=[ - tool_book_hotel, - tool_get_datetime, - tool_add, - tool_multiply, - ], + tools=tool_list, checkpointer=await PostgresCheckpointerManager.get_instance(), prompt=""" - 你是一名擅长使用工具的智能助手,你需要根据用户问题来进行回答,请使用中文进行回答。 diff --git a/app/tools/tool_list.py b/app/tools/tool_list.py new file mode 100644 index 0000000..ca22fa6 --- /dev/null +++ b/app/tools/tool_list.py @@ -0,0 +1,13 @@ +from app.tools.tool_add import tool_add +from app.tools.tool_book_hotel import tool_book_hotel +from app.tools.tool_get_datetime import tool_get_datetime +from app.tools.tool_multiple import tool_multiply +from app.tools.tool_query_direct_subordinates import tool_query_direct_subordinates + +tool_list = [ + tool_book_hotel, + tool_get_datetime, + tool_add, + tool_multiply, + tool_query_direct_subordinates, +] diff --git a/app/tools/tool_query_direct_subordinates.py b/app/tools/tool_query_direct_subordinates.py new file mode 100644 index 0000000..69e3ef1 --- /dev/null +++ b/app/tools/tool_query_direct_subordinates.py @@ -0,0 +1,15 @@ +from langchain_core.tools import tool + + +@tool( + name_or_callable="tool_query_direct_subordinates", + description="查询直接下级员工信息" +) +def tool_query_direct_subordinates() -> float: + return [ + "已经查询完毕", + { + "component": "DirectSubordinates", + "props": {}, + } + ]