【AI Agent 与工具调用】5.2 工具定义与调用:Function Calling 的扩展使用
写在前面
想象这样一个场景:你的智能助手需要完成一个复杂的任务——"帮我查询北京今天的天气,如果下雨就提醒我带伞,顺便查一下去机场的路线和时间"。在传统架构下,这个请求可能需要多次往返对话,模型一次只能做一个操作。
但如果你的助手可以"一次性"规划出完整行动:先查天气、再根据结果判断是否需要提醒、最后查询路线。这就是 Function Calling(函数调用)的扩展能力——让 AI 从单步执行者进化为任务规划者。
在上一篇文章中,我们已经了解了 Function Calling 的基本原理和简单用法。今天,让我们深入探讨它的扩展使用,掌握如何构建更强大的多工具协作系统。
一、回顾 Function Calling 基础
在深入扩展之前,先简单回顾 Function Calling 的核心概念。
Function Calling 是大语言模型(Large Language Model)与外部工具交互的桥梁,它让模型能够理解用户意图,并将意图转化为具体的函数调用请求。
一个典型的 Function Calling 流程包含三个步骤:模型识别意图并生成调用请求、开发者执行对应函数、结果返回给模型继续处理。这三步循环往复,直到任务完成。
下面是一个基础示例,展示如何定义和注册函数:
```python
import json
from typing import TypedDict, Optional
# 定义工具函数
def get_weather(location: str, unit: str = "celsius") -> dict:
&n
