From 6840744ca0a38a6dfa4d52a7b872de0670f66824 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 13 Apr 2025 13:16:53 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20=E8=87=AA=E5=8A=A8=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E5=8C=96=E4=BB=A3=E7=A0=81=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tool_can_use/compare_numbers_tool.py | 37 +++++++------------ src/do_tool/tool_use.py | 2 +- 2 files changed, 15 insertions(+), 24 deletions(-) diff --git a/src/do_tool/tool_can_use/compare_numbers_tool.py b/src/do_tool/tool_can_use/compare_numbers_tool.py index db43df1c0..8d616f85c 100644 --- a/src/do_tool/tool_can_use/compare_numbers_tool.py +++ b/src/do_tool/tool_can_use/compare_numbers_tool.py @@ -4,56 +4,47 @@ from typing import Dict, Any logger = get_module_logger("compare_numbers_tool") + class CompareNumbersTool(BaseTool): """比较两个数大小的工具""" + name = "compare_numbers" description = "比较两个数的大小,返回较大的数" parameters = { "type": "object", "properties": { - "num1": { - "type": "number", - "description": "第一个数字" - }, - "num2": { - "type": "number", - "description": "第二个数字" - } + "num1": {"type": "number", "description": "第一个数字"}, + "num2": {"type": "number", "description": "第二个数字"}, }, - "required": ["num1", "num2"] + "required": ["num1", "num2"], } - + async def execute(self, function_args: Dict[str, Any], message_txt: str = "") -> Dict[str, Any]: """执行比较两个数的大小 - + Args: function_args: 工具参数 message_txt: 原始消息文本 - + Returns: Dict: 工具执行结果 """ try: num1 = function_args.get("num1") num2 = function_args.get("num2") - + if num1 > num2: result = f"{num1} 大于 {num2}" elif num1 < num2: result = f"{num1} 小于 {num2}" else: result = f"{num1} 等于 {num2}" - - return { - "name": self.name, - "content": result - } + + return {"name": self.name, "content": result} except Exception as e: logger.error(f"比较数字失败: {str(e)}") - return { - "name": self.name, - "content": f"比较数字失败: {str(e)}" - } + return {"name": self.name, "content": f"比较数字失败: {str(e)}"} + # 注册工具 -register_tool(CompareNumbersTool) \ No newline at end of file +register_tool(CompareNumbersTool) diff --git a/src/do_tool/tool_use.py b/src/do_tool/tool_use.py index 237dc1409..dd1ca7044 100644 --- a/src/do_tool/tool_use.py +++ b/src/do_tool/tool_use.py @@ -104,7 +104,7 @@ class ToolUser: # 定义可用工具 tools = self._define_tools() - + # 使用llm_model_tool发送带工具定义的请求 payload = { "model": self.llm_model_tool.model_name,