随州市网站建设_网站建设公司_H5网站_seo优化
2026/1/19 11:37:18 网站建设 项目流程

在langchain中定义工具支持google-style的方式定义工具,定义方式如下

@tool(parse_docstring=True)
def calculate(a: float, b: float, operation: str) -> float:"""工具函数:计算两个数字的运算结果Args:a: 第一个数字b: 第2个数字operation: 运算类型,只能是add,subtract,multiply和divide中的一个"""print(f"调用 calculate 工具,第一个数字:{a},第二个数字:{b},运算类型:{operation}")result = 0.0match operation:case "add":result = a + bcase "subtract":result = a - bcase "multiply":result = a * bcase "divide":if b != 0:result = a /belse:raise ValueError("除数不能为0")return resultprint(calculate.name)
print(calculate.description)
print(calculate.args)
print(calculate.args_schema.model_json_schema())
print(calculate.return_direct)

  函数说明与Args之间必须空一行,行数说可以紧跟在三个双引号之后也可以写在新的一行;Agrs:后是参数说明,可以紧跟其后也可以另起一行

       

@tool(parse_docstring=True)
def calculate1(a: float, b: float, operation: str) -> float:""" 工具函数:计算两个数字的运算结果Args:a: 第一个数字b: 第2个数字operation: 运算类型,只能是add,subtract,multiply和divide中的一个"""print(f"调用 calculate 工具,第一个数字:{a},第二个数字:{b},运算类型:{operation}")result = 0.0match operation:case "add":result = a + bcase "subtract":result = a - bcase "multiply":result = a * bcase "divide":if b != 0:result = a /belse:raise ValueError("除数不能为0")return result

@tool(parse_docstring=True)
def calculate2(a: float, b: float, operation: str) -> float:"""工具函数:计算两个数字的运算结果Args:a: 第一个数字b: 第2个数字operation: 运算类型,只能是add,subtract,multiply和divide中的一个"""print(f"调用 calculate 工具,第一个数字:{a},第二个数字:{b},运算类型:{operation}")result = 0.0match operation:case "add":result = a + bcase "subtract":result = a - bcase "multiply":result = a * bcase "divide":if b != 0:result = a /belse:raise ValueError("除数不能为0")return result

@tool(parse_docstring=True)
def calculate3(a: float, b: float, operation: str) -> float:"""工具函数:计算两个数字的运算结果Args: a: 第一个数字 b: 第2个数字 operation: 运算类型,只能是add,subtract,multiply和divide中的一个"""print(f"调用 calculate 工具,第一个数字:{a},第二个数字:{b},运算类型:{operation}")result = 0.0match operation:case "add":result = a + bcase "subtract":result = a - bcase "multiply":result = a * bcase "divide":if b != 0:result = a /belse:raise ValueError("除数不能为0")return result

  

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询