第5课:工具调用Function Calling
进度 0/12
🧰
工具调用Function Calling
给AI发一套工具,让它从动嘴到动手!
📖知识引入
🧰工具是什么
你写好的Python函数:查天气、读文件、算数学,注册给模型调用
📋JSON Schema声明
用name、description、input_schema描述工具,模型照说明书写「申请单」
✉️tool_use申请
模型不会执行代码!它只返回tool_use块:工具名+参数JSON
🏃执行权在Harness
真正跑函数的是你的代码——模型只「下单」,跑腿的永远是你
💡
工具的description要写清「什么时候用」,模型全靠这段文字决定何时下单
🔍声明一个查天气工具
tools = [
{
"name": "get_weather",
"description": "查询某城市当前天气。当用户问天气相关问题时使用。",
"input_schema": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "城市名,如「北京」"
}
},
"required": ["city"],
},
}
]
response = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
messages=[{"role": "user", "content": "北京今天几度?"}],
tools=tools, # 把工具说明书交给模型
)
# 模型不会真的去查天气,而是返回一张「申请单」:
# content=[ToolUse(id="toolu_xxx", name="get_weather",
# input={"city": "北京"})]模型读完schema生成参数JSON,执行这一步永远留给你的Harness
🎯小测验
第1题:Function Calling中,谁真正执行工具函数?
第2题:工具定义中的input_schema用来做什么?
第3题:模型决定调用工具后返回的是?
📝本课知识点
- ✓工具=你写的函数+JSON声明
- ✓模型只下单,代码才执行
- ✓description决定模型何时用工具
第5课完成!继续探索下一课吧 🚀
