From 6428e6658e643bce1acc1b8c460fe6c254272be9 Mon Sep 17 00:00:00 2001 From: martsforever Date: Thu, 4 Sep 2025 14:31:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A5=BD=E5=83=8F=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E5=B0=86=E9=A2=9D=E5=A4=96=E7=9A=84=E4=BF=A1=E6=81=AF=E6=94=BE?= =?UTF-8?q?=E5=9C=A8ToolMessage=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/add_langgraph_chat_route.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/controller/add_langgraph_chat_route.py b/app/controller/add_langgraph_chat_route.py index bcf2978..2c94b5c 100644 --- a/app/controller/add_langgraph_chat_route.py +++ b/app/controller/add_langgraph_chat_route.py @@ -22,7 +22,13 @@ from app.utils.postgres_checkpointer import PostgresCheckpointerManager, AsyncPo description="一个用于获取当前时间的工具,没有参数" ) def tool_get_datetime(): - return datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") + return { + "result": f"当前时间为:{datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}", + "render": { + "type": "DataTable" + } + } + @tool( @@ -88,7 +94,7 @@ def tool_book_hotel() -> str: if resume_data == "N": return f"用户选择取消预定酒店" - return "预定成功" + return ToolMessage(content="预定成功", additional_kwargs={"render": {"type": "DataTable"}}) class ChatMessage(BaseModel): @@ -200,6 +206,7 @@ def add_langgraph_chat_route(app: FastAPI): emit_chunk["tool_calls"] = chunk_message.tool_calls elif isinstance(chunk_message, ToolMessage): emit_chunk["tool_name"] = chunk_message.name + emit_chunk["additional_kwargs"] = chunk_message.additional_kwargs result_template["choices"][0]["delta"]['content'] = emit_chunk result_template["choices"][0]["delta"]['role'] = 'assistant'