4.1 案例1:使用args_schema
arg_schema给出明确的参数信息
模型初始化:
from langchain.chat_models import init_chat_model
from dotenv import load_dotenv
import os
![图片[1]-4、工具的应用案例-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-660.png)
工具的定义与模拟调用:
![图片[2]-4、工具的应用案例-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-661.png)
![图片[3]-4、工具的应用案例-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-662.png)
4.2 案例2:撰写docstring
可以在docstring中撰写参数的描述信息,此时参数默认值和类型都要通过函数签名传递。
模型初始化:
![图片[4]-4、工具的应用案例-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-663.png)
工具的定义与模拟调用:
from langchain.1 tools import tool
from langchain.messages import HumanMessage
from langchain_core.utils.function_calling import convert_to_openai_tool
![图片[5]-4、工具的应用案例-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-664.png)
![图片[6]-4、工具的应用案例-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-665.png)
注意:要正确解析docstring,必须在@tool中将parse_docstring 设置为True 。
4.3 案例3:多工具调用
大模型调用工具是单次推理,即每次运行调用一个工具,当调用多个工具时,需要用户自己管理多次调用循环。
![图片[7]-4、工具的应用案例-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-666.png)
![图片[8]-4、工具的应用案例-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-667.png)
![图片[9]-4、工具的应用案例-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-668.png)
![图片[10]-4、工具的应用案例-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-669.png)
![图片[11]-4、工具的应用案例-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-670.png)
![图片[12]-4、工具的应用案例-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-671.png)
4.4 案例4:多工具调用
![图片[13]-4、工具的应用案例-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-672.png)
![图片[14]-4、工具的应用案例-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-673.png)
此时可以遍历tool_calls列表,挨个调用工具。
messages.append(response)
![图片[15]-4、工具的应用案例-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-674.png)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END

















请登录后查看评论内容