我们先看一下模型的整个流程 以便更好的去使用开发工具tools 首先用户把问题交给模型,模型拿到问题看一下是否需要调用工具,,如果要调用,就会让langchain去调用工具,再把调用后的购工具结果返回给模型,在输出答案给用户。

我能定义的工具是给模型要用的,所以要明确模型的名字,作用和参数,方便模型更好的去理解工具从而更方便的去调用工具

第一种方式

这种方式要向装饰器中传参,去计算一个数字的平方根,要定义一个装饰器,其中要明确告知工具名和工具描述  这就比较麻烦,

所以有了第二种方式,也是推荐的方式
使用函数名,和文档注释描述工具

当参数比较少的时候这样

方案一

方案二

还有这种,参数很多的时候可以这样

方案三

还有一些特殊情况
当函数要定义多个变量,而且有些变量的类型收到限制,要限制在一个范围中就要这样

调用方式与普通的函数一样


 

测试

我们创建了两个工具,一个是天气查询一个是计算平方根,模型会根据用户的问题判断调用什么工具,返回调用信息,langchain会调用工具,然后丫结果返回给模型,模型在回答用户

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐